1*620ba73aSAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*620ba73aSAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*620ba73aSAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*620ba73aSAndrew Rist  * distributed with this work for additional information
6*620ba73aSAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*620ba73aSAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*620ba73aSAndrew Rist  * "License"); you may not use this file except in compliance
9*620ba73aSAndrew Rist  * with the License.  You may obtain a copy of the License at
10*620ba73aSAndrew Rist  *
11*620ba73aSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12*620ba73aSAndrew Rist  *
13*620ba73aSAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*620ba73aSAndrew Rist  * software distributed under the License is distributed on an
15*620ba73aSAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*620ba73aSAndrew Rist  * KIND, either express or implied.  See the License for the
17*620ba73aSAndrew Rist  * specific language governing permissions and limitations
18*620ba73aSAndrew Rist  * under the License.
19*620ba73aSAndrew Rist  *
20*620ba73aSAndrew Rist  *************************************************************/
21*620ba73aSAndrew Rist 
22*620ba73aSAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir package test.java_uno.equals;
25cdf0e10cSrcweir 
26cdf0e10cSrcweir import com.sun.star.bridge.XBridge;
27cdf0e10cSrcweir import com.sun.star.bridge.XBridgeFactory;
28cdf0e10cSrcweir import com.sun.star.bridge.XInstanceProvider;
29cdf0e10cSrcweir import com.sun.star.comp.helper.Bootstrap;
30cdf0e10cSrcweir import com.sun.star.connection.Acceptor;
31cdf0e10cSrcweir import com.sun.star.connection.XAcceptor;
32cdf0e10cSrcweir import com.sun.star.connection.XConnection;
33cdf0e10cSrcweir import com.sun.star.lang.XMultiComponentFactory;
34cdf0e10cSrcweir import com.sun.star.lang.XSingleComponentFactory;
35cdf0e10cSrcweir import com.sun.star.lib.TestBed;
36cdf0e10cSrcweir import com.sun.star.lib.uno.typeinfo.MethodTypeInfo;
37cdf0e10cSrcweir import com.sun.star.lib.uno.typeinfo.TypeInfo;
38cdf0e10cSrcweir import com.sun.star.loader.XImplementationLoader;
39cdf0e10cSrcweir import com.sun.star.uno.UnoRuntime;
40cdf0e10cSrcweir import com.sun.star.uno.XComponentContext;
41cdf0e10cSrcweir import com.sun.star.uno.XInterface;
42cdf0e10cSrcweir import java.io.File;
43cdf0e10cSrcweir import java.net.MalformedURLException;
44cdf0e10cSrcweir import java.util.HashMap;
45cdf0e10cSrcweir import java.util.Hashtable;
46cdf0e10cSrcweir 
47cdf0e10cSrcweir // In this test scenario, the Java server (see implementation of method
48cdf0e10cSrcweir // notifyAccepting) has a remote bridge to the Java client and a local JNI
49cdf0e10cSrcweir // bridge to a C++ com.sun.star.test.bridges.testequals.impl service.  The C++
50cdf0e10cSrcweir // service and the Java client are also connected via a remote bridge.
51cdf0e10cSrcweir //
52cdf0e10cSrcweir // The Java server gets two objects (INSTANCE1, INSTANCE2), once directly from
53cdf0e10cSrcweir // the Java client via the remote bridge (proxies test1A, test2A), and once
54cdf0e10cSrcweir // through the C++ service via the JNI bridge (proxies test1B, test2B).
55cdf0e10cSrcweir // Exhaustive tests on the proxies' equals and hashCode methods are done.
56cdf0e10cSrcweir 
57cdf0e10cSrcweir public final class TestEquals {
58cdf0e10cSrcweir     // args[0] must be a file system path to a types.rdb,
59cdf0e10cSrcweir     // args[1] must be a file system path to a services.rdb
main(String[] args)60cdf0e10cSrcweir     public static void main(String[] args) throws Exception {
61cdf0e10cSrcweir         TestBed t = new TestBed();
62cdf0e10cSrcweir         boolean success = t.execute(
63cdf0e10cSrcweir             new Provider(t, toFileUrl(args[0]), toFileUrl(args[1])), true,
64cdf0e10cSrcweir             Client.class, 0);
65cdf0e10cSrcweir         System.out.println("success? " + success);
66cdf0e10cSrcweir         System.exit(success ? 0 : 1);
67cdf0e10cSrcweir     }
68cdf0e10cSrcweir 
toFileUrl(String path)69cdf0e10cSrcweir     private static String toFileUrl(String path) throws MalformedURLException {
70cdf0e10cSrcweir         String url = new File(path).toURL().toString();
71cdf0e10cSrcweir         String prefix = "file:/";
72cdf0e10cSrcweir         if (url.startsWith(prefix)
73cdf0e10cSrcweir             && (url.length() == prefix.length()
74cdf0e10cSrcweir                 || url.charAt(prefix.length()) != '/')) {
75cdf0e10cSrcweir             url = url.substring(0, prefix.length()) + "//"
76cdf0e10cSrcweir                 + url.substring(prefix.length());
77cdf0e10cSrcweir         }
78cdf0e10cSrcweir         return url;
79cdf0e10cSrcweir     }
80cdf0e10cSrcweir 
81cdf0e10cSrcweir     public static final class Client extends TestBed.Client {
main(String[] args)82cdf0e10cSrcweir         public static void main(String[] args) {
83cdf0e10cSrcweir             new Client().execute();
84cdf0e10cSrcweir         }
85cdf0e10cSrcweir 
run(XComponentContext context)86cdf0e10cSrcweir         protected boolean run(XComponentContext context) throws Throwable {
87cdf0e10cSrcweir             XTestFrame f = UnoRuntime.queryInterface(
88cdf0e10cSrcweir                 XTestFrame.class, getBridge(context).getInstance("TestFrame"));
89cdf0e10cSrcweir             XAcceptor acceptor = Acceptor.create(context);
90cdf0e10cSrcweir             XBridgeFactory factory = UnoRuntime.queryInterface(
91cdf0e10cSrcweir                 XBridgeFactory.class,
92cdf0e10cSrcweir                 context.getServiceManager().createInstanceWithContext(
93cdf0e10cSrcweir                     "com.sun.star.bridge.BridgeFactory", context));
94cdf0e10cSrcweir             System.out.println("Client, 2nd connection: Accepting...");
95cdf0e10cSrcweir             XInstanceProvider prov = new Provider();
96cdf0e10cSrcweir             f.notifyAccepting(new Done(), prov.getInstance(INSTANCE1),
97cdf0e10cSrcweir                               prov.getInstance(INSTANCE2));
98cdf0e10cSrcweir             XConnection connection = acceptor.accept(CONNECTION_DESCRIPTION);
99cdf0e10cSrcweir             System.out.println("Client, 2nd connection: ...connected...");
100cdf0e10cSrcweir             XBridge bridge2 = factory.createBridge(
101cdf0e10cSrcweir                 "", PROTOCOL_DESCRIPTION, connection, prov);
102cdf0e10cSrcweir             System.out.println("Client, 2nd connection: ...bridged.");
103cdf0e10cSrcweir             synchronized (lock) {
104cdf0e10cSrcweir                 while (!done) {
105cdf0e10cSrcweir                     lock.wait();
106cdf0e10cSrcweir                 }
107cdf0e10cSrcweir             }
108cdf0e10cSrcweir             return true;
109cdf0e10cSrcweir         }
110cdf0e10cSrcweir 
111cdf0e10cSrcweir         private static final class Provider implements XInstanceProvider {
getInstance(String instanceName)112cdf0e10cSrcweir             public Object getInstance(String instanceName) {
113cdf0e10cSrcweir                 synchronized (map) {
114cdf0e10cSrcweir                     Object o = map.get(instanceName);
115cdf0e10cSrcweir                     if (o == null) {
116cdf0e10cSrcweir                         o = new XDerived() {};
117cdf0e10cSrcweir                         map.put(instanceName, o);
118cdf0e10cSrcweir                     }
119cdf0e10cSrcweir                     return o;
120cdf0e10cSrcweir                 }
121cdf0e10cSrcweir             }
122cdf0e10cSrcweir 
123cdf0e10cSrcweir             private final HashMap map = new HashMap();
124cdf0e10cSrcweir         }
125cdf0e10cSrcweir 
126cdf0e10cSrcweir         private final class Done implements XDone {
notifyDone()127cdf0e10cSrcweir             public void notifyDone() {
128cdf0e10cSrcweir                 synchronized (lock) {
129cdf0e10cSrcweir                     done = true;
130cdf0e10cSrcweir                     lock.notifyAll();
131cdf0e10cSrcweir                 }
132cdf0e10cSrcweir             }
133cdf0e10cSrcweir         }
134cdf0e10cSrcweir 
135cdf0e10cSrcweir         private final Object lock = new Object();
136cdf0e10cSrcweir         private boolean done = false;
137cdf0e10cSrcweir     }
138cdf0e10cSrcweir 
139cdf0e10cSrcweir     private static final class Provider implements XInstanceProvider {
Provider(TestBed testBed, String unoTypes, String unoServices)140cdf0e10cSrcweir         public Provider(TestBed testBed, String unoTypes, String unoServices) {
141cdf0e10cSrcweir             this.testBed = testBed;
142cdf0e10cSrcweir             this.unoTypes = unoTypes;
143cdf0e10cSrcweir             this.unoServices = unoServices;
144cdf0e10cSrcweir         }
145cdf0e10cSrcweir 
getInstance(String instanceName)146cdf0e10cSrcweir         public Object getInstance(String instanceName) {
147cdf0e10cSrcweir             return new XTestFrame() {
148cdf0e10cSrcweir                     public void notifyAccepting(
149cdf0e10cSrcweir                         final XDone done, final Object object1,
150cdf0e10cSrcweir                         final Object object2)
151cdf0e10cSrcweir                     {
152cdf0e10cSrcweir                         new Thread() {
153cdf0e10cSrcweir                             public void run() {
154cdf0e10cSrcweir                                 try {
155cdf0e10cSrcweir                                     Object test1Aa = object1;
156cdf0e10cSrcweir                                     XBase test1Ab = UnoRuntime.queryInterface(
157cdf0e10cSrcweir                                         XBase.class, test1Aa);
158cdf0e10cSrcweir                                     XDerived test1Ac =
159cdf0e10cSrcweir                                         UnoRuntime.queryInterface(
160cdf0e10cSrcweir                                             XDerived.class, test1Aa);
161cdf0e10cSrcweir                                     Object test2Aa = object2;
162cdf0e10cSrcweir                                     XBase test2Ab = UnoRuntime.queryInterface(
163cdf0e10cSrcweir                                         XBase.class, test2Aa);
164cdf0e10cSrcweir                                     XDerived test2Ac =
165cdf0e10cSrcweir                                         UnoRuntime.queryInterface(
166cdf0e10cSrcweir                                             XDerived.class, test2Aa);
167cdf0e10cSrcweir 
168cdf0e10cSrcweir                                     Hashtable params = new Hashtable();
169cdf0e10cSrcweir                                     params.put("UNO_TYPES", unoTypes);
170cdf0e10cSrcweir                                     params.put("UNO_SERVICES", unoServices);
171cdf0e10cSrcweir                                     XComponentContext context = Bootstrap.
172cdf0e10cSrcweir                                        defaultBootstrap_InitialComponentContext(
173cdf0e10cSrcweir                                             null, params);
174cdf0e10cSrcweir                                     XMultiComponentFactory factory
175cdf0e10cSrcweir                                         = context.getServiceManager();
176cdf0e10cSrcweir                                     XImplementationLoader loader =
177cdf0e10cSrcweir                                         UnoRuntime.queryInterface(
178cdf0e10cSrcweir                                             XImplementationLoader.class,
179cdf0e10cSrcweir                                             factory.createInstanceWithContext(
180cdf0e10cSrcweir                                                 "com.sun.star.loader."
181cdf0e10cSrcweir                                                 + "SharedLibrary",
182cdf0e10cSrcweir                                                 context));
183cdf0e10cSrcweir                                     XSingleComponentFactory factory2 =
184cdf0e10cSrcweir                                         UnoRuntime.queryInterface(
185cdf0e10cSrcweir                                             XSingleComponentFactory.class,
186cdf0e10cSrcweir                                             loader.activate(
187cdf0e10cSrcweir                                                 "com.sun.star.test.bridges."
188cdf0e10cSrcweir                                                 + "testequals.impl",
189cdf0e10cSrcweir                                                 "", "../lib/testequals.uno",
190cdf0e10cSrcweir                                                 null));
191cdf0e10cSrcweir                                     XTestInterface test =
192cdf0e10cSrcweir                                         UnoRuntime.queryInterface(
193cdf0e10cSrcweir                                             XTestInterface.class,
194cdf0e10cSrcweir                                             factory2.createInstanceWithContext(
195cdf0e10cSrcweir                                                 context));
196cdf0e10cSrcweir                                     // allow client to start accepting:
197cdf0e10cSrcweir                                     Thread.sleep(3000);
198cdf0e10cSrcweir                                     test.connect(
199cdf0e10cSrcweir                                         CONNECTION_DESCRIPTION,
200cdf0e10cSrcweir                                         PROTOCOL_DESCRIPTION);
201cdf0e10cSrcweir 
202cdf0e10cSrcweir                                     Object test1Ba = test.get(INSTANCE1);
203cdf0e10cSrcweir                                     XBase test1Bb = UnoRuntime.queryInterface(
204cdf0e10cSrcweir                                         XBase.class, test1Ba);
205cdf0e10cSrcweir                                     XDerived test1Bc =
206cdf0e10cSrcweir                                         UnoRuntime.queryInterface(
207cdf0e10cSrcweir                                             XDerived.class, test1Ba);
208cdf0e10cSrcweir                                     Object test2Ba = test.get(INSTANCE2);
209cdf0e10cSrcweir                                     XBase test2Bb = UnoRuntime.queryInterface(
210cdf0e10cSrcweir                                         XBase.class, test2Ba);
211cdf0e10cSrcweir                                     XDerived test2Bc =
212cdf0e10cSrcweir                                         UnoRuntime.queryInterface(
213cdf0e10cSrcweir                                             XDerived.class, test2Ba);
214cdf0e10cSrcweir 
215cdf0e10cSrcweir                                     boolean success = true;
216cdf0e10cSrcweir 
217cdf0e10cSrcweir                                     success &= test(
218cdf0e10cSrcweir                                         "UnoRumtime.areSame(null, null)",
219cdf0e10cSrcweir                                         UnoRuntime.areSame(null, null));
220cdf0e10cSrcweir                                     success &= test(
221cdf0e10cSrcweir                                         "!UnoRumtime.areSame(null, test1Aa)",
222cdf0e10cSrcweir                                         !UnoRuntime.areSame(null, test1Aa));
223cdf0e10cSrcweir                                     success &= test(
224cdf0e10cSrcweir                                         "!UnoRumtime.areSame(null, test1Ab)",
225cdf0e10cSrcweir                                         !UnoRuntime.areSame(null, test1Ab));
226cdf0e10cSrcweir                                     success &= test(
227cdf0e10cSrcweir                                         "!UnoRumtime.areSame(null, test1Ac)",
228cdf0e10cSrcweir                                         !UnoRuntime.areSame(null, test1Ac));
229cdf0e10cSrcweir                                     success &= test(
230cdf0e10cSrcweir                                         "!UnoRumtime.areSame(null, test1Ba)",
231cdf0e10cSrcweir                                         !UnoRuntime.areSame(null, test1Ba));
232cdf0e10cSrcweir                                     success &= test(
233cdf0e10cSrcweir                                         "!UnoRumtime.areSame(null, test1Bb)",
234cdf0e10cSrcweir                                         !UnoRuntime.areSame(null, test1Bb));
235cdf0e10cSrcweir                                     success &= test(
236cdf0e10cSrcweir                                         "!UnoRumtime.areSame(null, test1Bc)",
237cdf0e10cSrcweir                                         !UnoRuntime.areSame(null, test1Bc));
238cdf0e10cSrcweir                                     success &= test(
239cdf0e10cSrcweir                                         "!UnoRumtime.areSame(null, test2Aa)",
240cdf0e10cSrcweir                                         !UnoRuntime.areSame(null, test2Aa));
241cdf0e10cSrcweir                                     success &= test(
242cdf0e10cSrcweir                                         "!UnoRumtime.areSame(null, test2Ab)",
243cdf0e10cSrcweir                                         !UnoRuntime.areSame(null, test2Ab));
244cdf0e10cSrcweir                                     success &= test(
245cdf0e10cSrcweir                                         "!UnoRumtime.areSame(null, test2Ac)",
246cdf0e10cSrcweir                                         !UnoRuntime.areSame(null, test2Ac));
247cdf0e10cSrcweir                                     success &= test(
248cdf0e10cSrcweir                                         "!UnoRumtime.areSame(null, test2Ba)",
249cdf0e10cSrcweir                                         !UnoRuntime.areSame(null, test2Ba));
250cdf0e10cSrcweir                                     success &= test(
251cdf0e10cSrcweir                                         "!UnoRumtime.areSame(null, test2Bb)",
252cdf0e10cSrcweir                                         !UnoRuntime.areSame(null, test2Bb));
253cdf0e10cSrcweir                                     success &= test(
254cdf0e10cSrcweir                                         "!UnoRumtime.areSame(null, test2Bc)",
255cdf0e10cSrcweir                                         !UnoRuntime.areSame(null, test2Bc));
256cdf0e10cSrcweir 
257cdf0e10cSrcweir                                     success &= test(
258cdf0e10cSrcweir                                         "!test1Aa.equals(null)",
259cdf0e10cSrcweir                                         !test1Aa.equals(null));
260cdf0e10cSrcweir                                     success &= test(
261cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test1Aa, null)",
262cdf0e10cSrcweir                                         !UnoRuntime.areSame(test1Aa, null));
263cdf0e10cSrcweir                                     success &= test(
264cdf0e10cSrcweir                                         "test1Aa.equals(test1Aa)",
265cdf0e10cSrcweir                                         test1Aa.equals(test1Aa));
266cdf0e10cSrcweir                                     success &= test(
267cdf0e10cSrcweir                                         "UnoRuntime.areSame(test1Aa, test1Aa)",
268cdf0e10cSrcweir                                         UnoRuntime.areSame(test1Aa, test1Aa));
269cdf0e10cSrcweir                                     success &= test(
270cdf0e10cSrcweir                                         "test1Aa.equals(test1Ab)",
271cdf0e10cSrcweir                                         test1Aa.equals(test1Ab));
272cdf0e10cSrcweir                                     success &= test(
273cdf0e10cSrcweir                                         "UnoRuntime.areSame(test1Aa, test1Ab)",
274cdf0e10cSrcweir                                         UnoRuntime.areSame(test1Aa, test1Ab));
275cdf0e10cSrcweir                                     success &= test(
276cdf0e10cSrcweir                                         "test1Aa.equals(test1Ac)",
277cdf0e10cSrcweir                                         test1Aa.equals(test1Ac));
278cdf0e10cSrcweir                                     success &= test(
279cdf0e10cSrcweir                                         "UnoRuntime.areSame(test1Aa, test1Ac)",
280cdf0e10cSrcweir                                         UnoRuntime.areSame(test1Aa, test1Ac));
281cdf0e10cSrcweir                                     success &= test(
282cdf0e10cSrcweir                                         "test1Aa.equals(test1Ba)",
283cdf0e10cSrcweir                                         test1Aa.equals(test1Ba));
284cdf0e10cSrcweir                                     success &= test(
285cdf0e10cSrcweir                                         "UnoRuntime.areSame(test1Aa, test1Ba)",
286cdf0e10cSrcweir                                         UnoRuntime.areSame(test1Aa, test1Ba));
287cdf0e10cSrcweir                                     success &= test(
288cdf0e10cSrcweir                                         "test1Aa.equals(test1Bb)",
289cdf0e10cSrcweir                                         test1Aa.equals(test1Bb));
290cdf0e10cSrcweir                                     success &= test(
291cdf0e10cSrcweir                                         "UnoRuntime.areSame(test1Aa, test1Bb)",
292cdf0e10cSrcweir                                         UnoRuntime.areSame(test1Aa, test1Bb));
293cdf0e10cSrcweir                                     success &= test(
294cdf0e10cSrcweir                                         "test1Aa.equals(test1Bc)",
295cdf0e10cSrcweir                                         test1Aa.equals(test1Bc));
296cdf0e10cSrcweir                                     success &= test(
297cdf0e10cSrcweir                                         "UnoRuntime.areSame(test1Aa, test1Bc)",
298cdf0e10cSrcweir                                         UnoRuntime.areSame(test1Aa, test1Bc));
299cdf0e10cSrcweir                                     success &= test(
300cdf0e10cSrcweir                                         "!test1Aa.equals(test2Aa)",
301cdf0e10cSrcweir                                         !test1Aa.equals(test2Aa));
302cdf0e10cSrcweir                                     success &= test(
303cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test1Aa, test2Aa)",
304cdf0e10cSrcweir                                         !UnoRuntime.areSame(test1Aa, test2Aa));
305cdf0e10cSrcweir                                     success &= test(
306cdf0e10cSrcweir                                         "!test1Aa.equals(test2Ab)",
307cdf0e10cSrcweir                                         !test1Aa.equals(test2Ab));
308cdf0e10cSrcweir                                     success &= test(
309cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test1Aa, test2Ab)",
310cdf0e10cSrcweir                                         !UnoRuntime.areSame(test1Aa, test2Ab));
311cdf0e10cSrcweir                                     success &= test(
312cdf0e10cSrcweir                                         "!test1Aa.equals(test2Ac)",
313cdf0e10cSrcweir                                         !test1Aa.equals(test2Ac));
314cdf0e10cSrcweir                                     success &= test(
315cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test1Aa, test2Ac)",
316cdf0e10cSrcweir                                         !UnoRuntime.areSame(test1Aa, test2Ac));
317cdf0e10cSrcweir                                     success &= test(
318cdf0e10cSrcweir                                         "!test1Aa.equals(test2Ba)",
319cdf0e10cSrcweir                                         !test1Aa.equals(test2Ba));
320cdf0e10cSrcweir                                     success &= test(
321cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test1Aa, test2Ba)",
322cdf0e10cSrcweir                                         !UnoRuntime.areSame(test1Aa, test2Ba));
323cdf0e10cSrcweir                                     success &= test(
324cdf0e10cSrcweir                                         "!test1Aa.equals(test2Bb)",
325cdf0e10cSrcweir                                         !test1Aa.equals(test2Bb));
326cdf0e10cSrcweir                                     success &= test(
327cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test1Aa, test2Bb)",
328cdf0e10cSrcweir                                         !UnoRuntime.areSame(test1Aa, test2Bb));
329cdf0e10cSrcweir                                     success &= test(
330cdf0e10cSrcweir                                         "!test1Aa.equals(test2Bc)",
331cdf0e10cSrcweir                                         !test1Aa.equals(test2Bc));
332cdf0e10cSrcweir                                     success &= test(
333cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test1Aa, test2Bc)",
334cdf0e10cSrcweir                                         !UnoRuntime.areSame(test1Aa, test2Bc));
335cdf0e10cSrcweir 
336cdf0e10cSrcweir                                     success &= test(
337cdf0e10cSrcweir                                         "!test1Ab.equals(null)",
338cdf0e10cSrcweir                                         !test1Ab.equals(null));
339cdf0e10cSrcweir                                     success &= test(
340cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test1Ab, null)",
341cdf0e10cSrcweir                                         !UnoRuntime.areSame(test1Ab, null));
342cdf0e10cSrcweir                                     success &= test(
343cdf0e10cSrcweir                                         "test1Ab.equals(test1Aa)",
344cdf0e10cSrcweir                                         test1Ab.equals(test1Aa));
345cdf0e10cSrcweir                                     success &= test(
346cdf0e10cSrcweir                                         "UnoRuntime.areSame(test1Ab, test1Aa)",
347cdf0e10cSrcweir                                         UnoRuntime.areSame(test1Ab, test1Aa));
348cdf0e10cSrcweir                                     success &= test(
349cdf0e10cSrcweir                                         "test1Ab.equals(test1Ab)",
350cdf0e10cSrcweir                                         test1Ab.equals(test1Ab));
351cdf0e10cSrcweir                                     success &= test(
352cdf0e10cSrcweir                                         "UnoRuntime.areSame(test1Ab, test1Ab)",
353cdf0e10cSrcweir                                         UnoRuntime.areSame(test1Ab, test1Ab));
354cdf0e10cSrcweir                                     success &= test(
355cdf0e10cSrcweir                                         "test1Ab.equals(test1Ac)",
356cdf0e10cSrcweir                                         test1Ab.equals(test1Ac));
357cdf0e10cSrcweir                                     success &= test(
358cdf0e10cSrcweir                                         "UnoRuntime.areSame(test1Ab, test1Ac)",
359cdf0e10cSrcweir                                         UnoRuntime.areSame(test1Ab, test1Ac));
360cdf0e10cSrcweir                                     success &= test(
361cdf0e10cSrcweir                                         "test1Ab.equals(test1Ba)",
362cdf0e10cSrcweir                                         test1Ab.equals(test1Ba));
363cdf0e10cSrcweir                                     success &= test(
364cdf0e10cSrcweir                                         "UnoRuntime.areSame(test1Ab, test1Ba)",
365cdf0e10cSrcweir                                         UnoRuntime.areSame(test1Ab, test1Ba));
366cdf0e10cSrcweir                                     success &= test(
367cdf0e10cSrcweir                                         "test1Ab.equals(test1Bb)",
368cdf0e10cSrcweir                                         test1Ab.equals(test1Bb));
369cdf0e10cSrcweir                                     success &= test(
370cdf0e10cSrcweir                                         "UnoRuntime.areSame(test1Ab, test1Bb)",
371cdf0e10cSrcweir                                         UnoRuntime.areSame(test1Ab, test1Bb));
372cdf0e10cSrcweir                                     success &= test(
373cdf0e10cSrcweir                                         "test1Ab.equals(test1Bc)",
374cdf0e10cSrcweir                                         test1Ab.equals(test1Bc));
375cdf0e10cSrcweir                                     success &= test(
376cdf0e10cSrcweir                                         "UnoRuntime.areSame(test1Ab, test1Bc)",
377cdf0e10cSrcweir                                         UnoRuntime.areSame(test1Ab, test1Bc));
378cdf0e10cSrcweir                                     success &= test(
379cdf0e10cSrcweir                                         "!test1Ab.equals(test2Aa)",
380cdf0e10cSrcweir                                         !test1Ab.equals(test2Aa));
381cdf0e10cSrcweir                                     success &= test(
382cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test1Ab, test2Aa)",
383cdf0e10cSrcweir                                         !UnoRuntime.areSame(test1Ab, test2Aa));
384cdf0e10cSrcweir                                     success &= test(
385cdf0e10cSrcweir                                         "!test1Ab.equals(test2Ab)",
386cdf0e10cSrcweir                                         !test1Ab.equals(test2Ab));
387cdf0e10cSrcweir                                     success &= test(
388cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test1Ab, test2Ab)",
389cdf0e10cSrcweir                                         !UnoRuntime.areSame(test1Ab, test2Ab));
390cdf0e10cSrcweir                                     success &= test(
391cdf0e10cSrcweir                                         "!test1Ab.equals(test2Ac)",
392cdf0e10cSrcweir                                         !test1Ab.equals(test2Ac));
393cdf0e10cSrcweir                                     success &= test(
394cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test1Ab, test2Ac)",
395cdf0e10cSrcweir                                         !UnoRuntime.areSame(test1Ab, test2Ac));
396cdf0e10cSrcweir                                     success &= test(
397cdf0e10cSrcweir                                         "!test1Ab.equals(test2Ba)",
398cdf0e10cSrcweir                                         !test1Ab.equals(test2Ba));
399cdf0e10cSrcweir                                     success &= test(
400cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test1Ab, test2Ba)",
401cdf0e10cSrcweir                                         !UnoRuntime.areSame(test1Ab, test2Ba));
402cdf0e10cSrcweir                                     success &= test(
403cdf0e10cSrcweir                                         "!test1Ab.equals(test2Bb)",
404cdf0e10cSrcweir                                         !test1Ab.equals(test2Bb));
405cdf0e10cSrcweir                                     success &= test(
406cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test1Ab, test2Bb)",
407cdf0e10cSrcweir                                         !UnoRuntime.areSame(test1Ab, test2Bb));
408cdf0e10cSrcweir                                     success &= test(
409cdf0e10cSrcweir                                         "!test1Ab.equals(test2Bc)",
410cdf0e10cSrcweir                                         !test1Ab.equals(test2Bc));
411cdf0e10cSrcweir                                     success &= test(
412cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test1Ab, test2Bc)",
413cdf0e10cSrcweir                                         !UnoRuntime.areSame(test1Ab, test2Bc));
414cdf0e10cSrcweir 
415cdf0e10cSrcweir                                     success &= test(
416cdf0e10cSrcweir                                         "!test1Ac.equals(null)",
417cdf0e10cSrcweir                                         !test1Ac.equals(null));
418cdf0e10cSrcweir                                     success &= test(
419cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test1Ac, null)",
420cdf0e10cSrcweir                                         !UnoRuntime.areSame(test1Ac, null));
421cdf0e10cSrcweir                                     success &= test(
422cdf0e10cSrcweir                                         "test1Ac.equals(test1Aa)",
423cdf0e10cSrcweir                                         test1Ac.equals(test1Aa));
424cdf0e10cSrcweir                                     success &= test(
425cdf0e10cSrcweir                                         "UnoRuntime.areSame(test1Ac, test1Aa)",
426cdf0e10cSrcweir                                         UnoRuntime.areSame(test1Ac, test1Aa));
427cdf0e10cSrcweir                                     success &= test(
428cdf0e10cSrcweir                                         "test1Ac.equals(test1Ab)",
429cdf0e10cSrcweir                                         test1Ac.equals(test1Ab));
430cdf0e10cSrcweir                                     success &= test(
431cdf0e10cSrcweir                                         "UnoRuntime.areSame(test1Ac, test1Ab)",
432cdf0e10cSrcweir                                         UnoRuntime.areSame(test1Ac, test1Ab));
433cdf0e10cSrcweir                                     success &= test(
434cdf0e10cSrcweir                                         "test1Ac.equals(test1Ac)",
435cdf0e10cSrcweir                                         test1Ac.equals(test1Ac));
436cdf0e10cSrcweir                                     success &= test(
437cdf0e10cSrcweir                                         "UnoRuntime.areSame(test1Ac, test1Ac)",
438cdf0e10cSrcweir                                         UnoRuntime.areSame(test1Ac, test1Ac));
439cdf0e10cSrcweir                                     success &= test(
440cdf0e10cSrcweir                                         "test1Ac.equals(test1Ba)",
441cdf0e10cSrcweir                                         test1Ac.equals(test1Ba));
442cdf0e10cSrcweir                                     success &= test(
443cdf0e10cSrcweir                                         "UnoRuntime.areSame(test1Ac, test1Ba)",
444cdf0e10cSrcweir                                         UnoRuntime.areSame(test1Ac, test1Ba));
445cdf0e10cSrcweir                                     success &= test(
446cdf0e10cSrcweir                                         "test1Ac.equals(test1Bb)",
447cdf0e10cSrcweir                                         test1Ac.equals(test1Bb));
448cdf0e10cSrcweir                                     success &= test(
449cdf0e10cSrcweir                                         "UnoRuntime.areSame(test1Ac, test1Bb)",
450cdf0e10cSrcweir                                         UnoRuntime.areSame(test1Ac, test1Bb));
451cdf0e10cSrcweir                                     success &= test(
452cdf0e10cSrcweir                                         "test1Ac.equals(test1Bc)",
453cdf0e10cSrcweir                                         test1Ac.equals(test1Bc));
454cdf0e10cSrcweir                                     success &= test(
455cdf0e10cSrcweir                                         "UnoRuntime.areSame(test1Ac, test1Bc)",
456cdf0e10cSrcweir                                         UnoRuntime.areSame(test1Ac, test1Bc));
457cdf0e10cSrcweir                                     success &= test(
458cdf0e10cSrcweir                                         "!test1Ac.equals(test2Aa)",
459cdf0e10cSrcweir                                         !test1Ac.equals(test2Aa));
460cdf0e10cSrcweir                                     success &= test(
461cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test1Ac, test2Aa)",
462cdf0e10cSrcweir                                         !UnoRuntime.areSame(test1Ac, test2Aa));
463cdf0e10cSrcweir                                     success &= test(
464cdf0e10cSrcweir                                         "!test1Ac.equals(test2Ab)",
465cdf0e10cSrcweir                                         !test1Ac.equals(test2Ab));
466cdf0e10cSrcweir                                     success &= test(
467cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test1Ac, test2Ab)",
468cdf0e10cSrcweir                                         !UnoRuntime.areSame(test1Ac, test2Ab));
469cdf0e10cSrcweir                                     success &= test(
470cdf0e10cSrcweir                                         "!test1Ac.equals(test2Ac)",
471cdf0e10cSrcweir                                         !test1Ac.equals(test2Ac));
472cdf0e10cSrcweir                                     success &= test(
473cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test1Ac, test2Ac)",
474cdf0e10cSrcweir                                         !UnoRuntime.areSame(test1Ac, test2Ac));
475cdf0e10cSrcweir                                     success &= test(
476cdf0e10cSrcweir                                         "!test1Ac.equals(test2Ba)",
477cdf0e10cSrcweir                                         !test1Ac.equals(test2Ba));
478cdf0e10cSrcweir                                     success &= test(
479cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test1Ac, test2Ba)",
480cdf0e10cSrcweir                                         !UnoRuntime.areSame(test1Ac, test2Ba));
481cdf0e10cSrcweir                                     success &= test(
482cdf0e10cSrcweir                                         "!test1Ac.equals(test2Bb)",
483cdf0e10cSrcweir                                         !test1Ac.equals(test2Bb));
484cdf0e10cSrcweir                                     success &= test(
485cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test1Ac, test2Bb)",
486cdf0e10cSrcweir                                         !UnoRuntime.areSame(test1Ac, test2Bb));
487cdf0e10cSrcweir                                     success &= test(
488cdf0e10cSrcweir                                         "!test1Ac.equals(test2Bc)",
489cdf0e10cSrcweir                                         !test1Ac.equals(test2Bc));
490cdf0e10cSrcweir                                     success &= test(
491cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test1Ac, test2Bc)",
492cdf0e10cSrcweir                                         !UnoRuntime.areSame(test1Ac, test2Bc));
493cdf0e10cSrcweir 
494cdf0e10cSrcweir                                     success &= test(
495cdf0e10cSrcweir                                         "!test1Ba.equals(null)",
496cdf0e10cSrcweir                                         !test1Ba.equals(null));
497cdf0e10cSrcweir                                     success &= test(
498cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test1Ba, null)",
499cdf0e10cSrcweir                                         !UnoRuntime.areSame(test1Ba, null));
500cdf0e10cSrcweir                                     success &= test(
501cdf0e10cSrcweir                                         "test1Ba.equals(test1Aa)",
502cdf0e10cSrcweir                                         test1Ba.equals(test1Aa));
503cdf0e10cSrcweir                                     success &= test(
504cdf0e10cSrcweir                                         "UnoRuntime.areSame(test1Ba, test1Aa)",
505cdf0e10cSrcweir                                         UnoRuntime.areSame(test1Ba, test1Aa));
506cdf0e10cSrcweir                                     success &= test(
507cdf0e10cSrcweir                                         "test1Ba.equals(test1Ab)",
508cdf0e10cSrcweir                                         test1Ba.equals(test1Ab));
509cdf0e10cSrcweir                                     success &= test(
510cdf0e10cSrcweir                                         "UnoRuntime.areSame(test1Ba, test1Ab)",
511cdf0e10cSrcweir                                         UnoRuntime.areSame(test1Ba, test1Ab));
512cdf0e10cSrcweir                                     success &= test(
513cdf0e10cSrcweir                                         "test1Ba.equals(test1Ac)",
514cdf0e10cSrcweir                                         test1Ba.equals(test1Ac));
515cdf0e10cSrcweir                                     success &= test(
516cdf0e10cSrcweir                                         "UnoRuntime.areSame(test1Ba, test1Ac)",
517cdf0e10cSrcweir                                         UnoRuntime.areSame(test1Ba, test1Ac));
518cdf0e10cSrcweir                                     success &= test(
519cdf0e10cSrcweir                                         "test1Ba.equals(test1Ba)",
520cdf0e10cSrcweir                                         test1Ba.equals(test1Ba));
521cdf0e10cSrcweir                                     success &= test(
522cdf0e10cSrcweir                                         "UnoRuntime.areSame(test1Ba, test1Ba)",
523cdf0e10cSrcweir                                         UnoRuntime.areSame(test1Ba, test1Ba));
524cdf0e10cSrcweir                                     success &= test(
525cdf0e10cSrcweir                                         "test1Ba.equals(test1Bb)",
526cdf0e10cSrcweir                                         test1Ba.equals(test1Bb));
527cdf0e10cSrcweir                                     success &= test(
528cdf0e10cSrcweir                                         "UnoRuntime.areSame(test1Ba, test1Bb)",
529cdf0e10cSrcweir                                         UnoRuntime.areSame(test1Ba, test1Bb));
530cdf0e10cSrcweir                                     success &= test(
531cdf0e10cSrcweir                                         "test1Ba.equals(test1Bc)",
532cdf0e10cSrcweir                                         test1Ba.equals(test1Bc));
533cdf0e10cSrcweir                                     success &= test(
534cdf0e10cSrcweir                                         "UnoRuntime.areSame(test1Ba, test1Bc)",
535cdf0e10cSrcweir                                         UnoRuntime.areSame(test1Ba, test1Bc));
536cdf0e10cSrcweir                                     success &= test(
537cdf0e10cSrcweir                                         "!test1Ba.equals(test2Aa)",
538cdf0e10cSrcweir                                         !test1Ba.equals(test2Aa));
539cdf0e10cSrcweir                                     success &= test(
540cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test1Ba, test2Aa)",
541cdf0e10cSrcweir                                         !UnoRuntime.areSame(test1Ba, test2Aa));
542cdf0e10cSrcweir                                     success &= test(
543cdf0e10cSrcweir                                         "!test1Ba.equals(test2Ab)",
544cdf0e10cSrcweir                                         !test1Ba.equals(test2Ab));
545cdf0e10cSrcweir                                     success &= test(
546cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test1Ba, test2Ab)",
547cdf0e10cSrcweir                                         !UnoRuntime.areSame(test1Ba, test2Ab));
548cdf0e10cSrcweir                                     success &= test(
549cdf0e10cSrcweir                                         "!test1Ba.equals(test2Ac)",
550cdf0e10cSrcweir                                         !test1Ba.equals(test2Ac));
551cdf0e10cSrcweir                                     success &= test(
552cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test1Ba, test2Ac)",
553cdf0e10cSrcweir                                         !UnoRuntime.areSame(test1Ba, test2Ac));
554cdf0e10cSrcweir                                     success &= test(
555cdf0e10cSrcweir                                         "!test1Ba.equals(test2Ba)",
556cdf0e10cSrcweir                                         !test1Ba.equals(test2Ba));
557cdf0e10cSrcweir                                     success &= test(
558cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test1Ba, test2Ba)",
559cdf0e10cSrcweir                                         !UnoRuntime.areSame(test1Ba, test2Ba));
560cdf0e10cSrcweir                                     success &= test(
561cdf0e10cSrcweir                                         "!test1Ba.equals(test2Bb)",
562cdf0e10cSrcweir                                         !test1Ba.equals(test2Bb));
563cdf0e10cSrcweir                                     success &= test(
564cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test1Ba, test2Bb)",
565cdf0e10cSrcweir                                         !UnoRuntime.areSame(test1Ba, test2Bb));
566cdf0e10cSrcweir                                     success &= test(
567cdf0e10cSrcweir                                         "!test1Ba.equals(test2Bc)",
568cdf0e10cSrcweir                                         !test1Ba.equals(test2Bc));
569cdf0e10cSrcweir                                     success &= test(
570cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test1Ba, test2Bc)",
571cdf0e10cSrcweir                                         !UnoRuntime.areSame(test1Ba, test2Bc));
572cdf0e10cSrcweir 
573cdf0e10cSrcweir                                     success &= test(
574cdf0e10cSrcweir                                         "!test1Bb.equals(null)",
575cdf0e10cSrcweir                                         !test1Bb.equals(null));
576cdf0e10cSrcweir                                     success &= test(
577cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test1Bb, null)",
578cdf0e10cSrcweir                                         !UnoRuntime.areSame(test1Bb, null));
579cdf0e10cSrcweir                                     success &= test(
580cdf0e10cSrcweir                                         "test1Bb.equals(test1Aa)",
581cdf0e10cSrcweir                                         test1Bb.equals(test1Aa));
582cdf0e10cSrcweir                                     success &= test(
583cdf0e10cSrcweir                                         "UnoRuntime.areSame(test1Bb, test1Aa)",
584cdf0e10cSrcweir                                         UnoRuntime.areSame(test1Bb, test1Aa));
585cdf0e10cSrcweir                                     success &= test(
586cdf0e10cSrcweir                                         "test1Bb.equals(test1Ab)",
587cdf0e10cSrcweir                                         test1Bb.equals(test1Ab));
588cdf0e10cSrcweir                                     success &= test(
589cdf0e10cSrcweir                                         "UnoRuntime.areSame(test1Bb, test1Ab)",
590cdf0e10cSrcweir                                         UnoRuntime.areSame(test1Bb, test1Ab));
591cdf0e10cSrcweir                                     success &= test(
592cdf0e10cSrcweir                                         "test1Bb.equals(test1Ac)",
593cdf0e10cSrcweir                                         test1Bb.equals(test1Ac));
594cdf0e10cSrcweir                                     success &= test(
595cdf0e10cSrcweir                                         "UnoRuntime.areSame(test1Bb, test1Ac)",
596cdf0e10cSrcweir                                         UnoRuntime.areSame(test1Bb, test1Ac));
597cdf0e10cSrcweir                                     success &= test(
598cdf0e10cSrcweir                                         "test1Bb.equals(test1Ba)",
599cdf0e10cSrcweir                                         test1Bb.equals(test1Ba));
600cdf0e10cSrcweir                                     success &= test(
601cdf0e10cSrcweir                                         "UnoRuntime.areSame(test1Bb, test1Ba)",
602cdf0e10cSrcweir                                         UnoRuntime.areSame(test1Bb, test1Ba));
603cdf0e10cSrcweir                                     success &= test(
604cdf0e10cSrcweir                                         "test1Bb.equals(test1Bb)",
605cdf0e10cSrcweir                                         test1Bb.equals(test1Bb));
606cdf0e10cSrcweir                                     success &= test(
607cdf0e10cSrcweir                                         "UnoRuntime.areSame(test1Bb, test1Bb)",
608cdf0e10cSrcweir                                         UnoRuntime.areSame(test1Bb, test1Bb));
609cdf0e10cSrcweir                                     success &= test(
610cdf0e10cSrcweir                                         "test1Bb.equals(test1Bc)",
611cdf0e10cSrcweir                                         test1Bb.equals(test1Bc));
612cdf0e10cSrcweir                                     success &= test(
613cdf0e10cSrcweir                                         "UnoRuntime.areSame(test1Bb, test1Bc)",
614cdf0e10cSrcweir                                         UnoRuntime.areSame(test1Bb, test1Bc));
615cdf0e10cSrcweir                                     success &= test(
616cdf0e10cSrcweir                                         "!test1Bb.equals(test2Aa)",
617cdf0e10cSrcweir                                         !test1Bb.equals(test2Aa));
618cdf0e10cSrcweir                                     success &= test(
619cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test1Bb, test2Aa)",
620cdf0e10cSrcweir                                         !UnoRuntime.areSame(test1Bb, test2Aa));
621cdf0e10cSrcweir                                     success &= test(
622cdf0e10cSrcweir                                         "!test1Bb.equals(test2Ab)",
623cdf0e10cSrcweir                                         !test1Bb.equals(test2Ab));
624cdf0e10cSrcweir                                     success &= test(
625cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test1Bb, test2Ab)",
626cdf0e10cSrcweir                                         !UnoRuntime.areSame(test1Bb, test2Ab));
627cdf0e10cSrcweir                                     success &= test(
628cdf0e10cSrcweir                                         "!test1Bb.equals(test2Ac)",
629cdf0e10cSrcweir                                         !test1Bb.equals(test2Ac));
630cdf0e10cSrcweir                                     success &= test(
631cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test1Bb, test2Ac)",
632cdf0e10cSrcweir                                         !UnoRuntime.areSame(test1Bb, test2Ac));
633cdf0e10cSrcweir                                     success &= test(
634cdf0e10cSrcweir                                         "!test1Bb.equals(test2Ba)",
635cdf0e10cSrcweir                                         !test1Bb.equals(test2Ba));
636cdf0e10cSrcweir                                     success &= test(
637cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test1Bb, test2Ba)",
638cdf0e10cSrcweir                                         !UnoRuntime.areSame(test1Bb, test2Ba));
639cdf0e10cSrcweir                                     success &= test(
640cdf0e10cSrcweir                                         "!test1Bb.equals(test2Bb)",
641cdf0e10cSrcweir                                         !test1Bb.equals(test2Bb));
642cdf0e10cSrcweir                                     success &= test(
643cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test1Bb, test2Bb)",
644cdf0e10cSrcweir                                         !UnoRuntime.areSame(test1Bb, test2Bb));
645cdf0e10cSrcweir                                     success &= test(
646cdf0e10cSrcweir                                         "!test1Bb.equals(test2Bc)",
647cdf0e10cSrcweir                                         !test1Bb.equals(test2Bc));
648cdf0e10cSrcweir                                     success &= test(
649cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test1Bb, test2Bc)",
650cdf0e10cSrcweir                                         !UnoRuntime.areSame(test1Bb, test2Bc));
651cdf0e10cSrcweir 
652cdf0e10cSrcweir                                     success &= test(
653cdf0e10cSrcweir                                         "!test1Bc.equals(null)",
654cdf0e10cSrcweir                                         !test1Bc.equals(null));
655cdf0e10cSrcweir                                     success &= test(
656cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test1Bc, null)",
657cdf0e10cSrcweir                                         !UnoRuntime.areSame(test1Bc, null));
658cdf0e10cSrcweir                                     success &= test(
659cdf0e10cSrcweir                                         "test1Bc.equals(test1Aa)",
660cdf0e10cSrcweir                                         test1Bc.equals(test1Aa));
661cdf0e10cSrcweir                                     success &= test(
662cdf0e10cSrcweir                                         "UnoRuntime.areSame(test1Bc, test1Aa)",
663cdf0e10cSrcweir                                         UnoRuntime.areSame(test1Bc, test1Aa));
664cdf0e10cSrcweir                                     success &= test(
665cdf0e10cSrcweir                                         "test1Bc.equals(test1Ab)",
666cdf0e10cSrcweir                                         test1Bc.equals(test1Ab));
667cdf0e10cSrcweir                                     success &= test(
668cdf0e10cSrcweir                                         "UnoRuntime.areSame(test1Bc, test1Ab)",
669cdf0e10cSrcweir                                         UnoRuntime.areSame(test1Bc, test1Ab));
670cdf0e10cSrcweir                                     success &= test(
671cdf0e10cSrcweir                                         "test1Bc.equals(test1Ac)",
672cdf0e10cSrcweir                                         test1Bc.equals(test1Ac));
673cdf0e10cSrcweir                                     success &= test(
674cdf0e10cSrcweir                                         "UnoRuntime.areSame(test1Bc, test1Ac)",
675cdf0e10cSrcweir                                         UnoRuntime.areSame(test1Bc, test1Ac));
676cdf0e10cSrcweir                                     success &= test(
677cdf0e10cSrcweir                                         "test1Bc.equals(test1Ba)",
678cdf0e10cSrcweir                                         test1Bc.equals(test1Ba));
679cdf0e10cSrcweir                                     success &= test(
680cdf0e10cSrcweir                                         "UnoRuntime.areSame(test1Bc, test1Ba)",
681cdf0e10cSrcweir                                         UnoRuntime.areSame(test1Bc, test1Ba));
682cdf0e10cSrcweir                                     success &= test(
683cdf0e10cSrcweir                                         "test1Bc.equals(test1Bb)",
684cdf0e10cSrcweir                                         test1Bc.equals(test1Bb));
685cdf0e10cSrcweir                                     success &= test(
686cdf0e10cSrcweir                                         "UnoRuntime.areSame(test1Bc, test1Bb)",
687cdf0e10cSrcweir                                         UnoRuntime.areSame(test1Bc, test1Bb));
688cdf0e10cSrcweir                                     success &= test(
689cdf0e10cSrcweir                                         "test1Bc.equals(test1Bc)",
690cdf0e10cSrcweir                                         test1Bc.equals(test1Bc));
691cdf0e10cSrcweir                                     success &= test(
692cdf0e10cSrcweir                                         "UnoRuntime.areSame(test1Bc, test1Bc)",
693cdf0e10cSrcweir                                         UnoRuntime.areSame(test1Bc, test1Bc));
694cdf0e10cSrcweir                                     success &= test(
695cdf0e10cSrcweir                                         "!test1Bc.equals(test2Aa)",
696cdf0e10cSrcweir                                         !test1Bc.equals(test2Aa));
697cdf0e10cSrcweir                                     success &= test(
698cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test1Bc, test2Aa)",
699cdf0e10cSrcweir                                         !UnoRuntime.areSame(test1Bc, test2Aa));
700cdf0e10cSrcweir                                     success &= test(
701cdf0e10cSrcweir                                         "!test1Bc.equals(test2Ab)",
702cdf0e10cSrcweir                                         !test1Bc.equals(test2Ab));
703cdf0e10cSrcweir                                     success &= test(
704cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test1Bc, test2Ab)",
705cdf0e10cSrcweir                                         !UnoRuntime.areSame(test1Bc, test2Ab));
706cdf0e10cSrcweir                                     success &= test(
707cdf0e10cSrcweir                                         "!test1Bc.equals(test2Ac)",
708cdf0e10cSrcweir                                         !test1Bc.equals(test2Ac));
709cdf0e10cSrcweir                                     success &= test(
710cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test1Bc, test2Ac)",
711cdf0e10cSrcweir                                         !UnoRuntime.areSame(test1Bc, test2Ac));
712cdf0e10cSrcweir                                     success &= test(
713cdf0e10cSrcweir                                         "!test1Bc.equals(test2Ba)",
714cdf0e10cSrcweir                                         !test1Bc.equals(test2Ba));
715cdf0e10cSrcweir                                     success &= test(
716cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test1Bc, test2Ba)",
717cdf0e10cSrcweir                                         !UnoRuntime.areSame(test1Bc, test2Ba));
718cdf0e10cSrcweir                                     success &= test(
719cdf0e10cSrcweir                                         "!test1Bc.equals(test2Bb)",
720cdf0e10cSrcweir                                         !test1Bc.equals(test2Bb));
721cdf0e10cSrcweir                                     success &= test(
722cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test1Bc, test2Bb)",
723cdf0e10cSrcweir                                         !UnoRuntime.areSame(test1Bc, test2Bb));
724cdf0e10cSrcweir                                     success &= test(
725cdf0e10cSrcweir                                         "!test1Bc.equals(test2Bc)",
726cdf0e10cSrcweir                                         !test1Bc.equals(test2Bc));
727cdf0e10cSrcweir                                     success &= test(
728cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test1Bc, test2Bc)",
729cdf0e10cSrcweir                                         !UnoRuntime.areSame(test1Bc, test2Bc));
730cdf0e10cSrcweir 
731cdf0e10cSrcweir                                     success &= test(
732cdf0e10cSrcweir                                         "!test2Aa.equals(null)",
733cdf0e10cSrcweir                                         !test2Aa.equals(null));
734cdf0e10cSrcweir                                     success &= test(
735cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test2Aa, null)",
736cdf0e10cSrcweir                                         !UnoRuntime.areSame(test2Aa, null));
737cdf0e10cSrcweir                                     success &= test(
738cdf0e10cSrcweir                                         "!test2Aa.equals(test1Aa)",
739cdf0e10cSrcweir                                         !test2Aa.equals(test1Aa));
740cdf0e10cSrcweir                                     success &= test(
741cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test2Aa, test1Aa)",
742cdf0e10cSrcweir                                         !UnoRuntime.areSame(test2Aa, test1Aa));
743cdf0e10cSrcweir                                     success &= test(
744cdf0e10cSrcweir                                         "!test2Aa.equals(test1Ab)",
745cdf0e10cSrcweir                                         !test2Aa.equals(test1Ab));
746cdf0e10cSrcweir                                     success &= test(
747cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test2Aa, test1Ab)",
748cdf0e10cSrcweir                                         !UnoRuntime.areSame(test2Aa, test1Ab));
749cdf0e10cSrcweir                                     success &= test(
750cdf0e10cSrcweir                                         "!test2Aa.equals(test1Ac)",
751cdf0e10cSrcweir                                         !test2Aa.equals(test1Ac));
752cdf0e10cSrcweir                                     success &= test(
753cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test2Aa, test1Ac)",
754cdf0e10cSrcweir                                         !UnoRuntime.areSame(test2Aa, test1Ac));
755cdf0e10cSrcweir                                     success &= test(
756cdf0e10cSrcweir                                         "!test2Aa.equals(test1Ba)",
757cdf0e10cSrcweir                                         !test2Aa.equals(test1Ba));
758cdf0e10cSrcweir                                     success &= test(
759cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test2Aa, test1Ba)",
760cdf0e10cSrcweir                                         !UnoRuntime.areSame(test2Aa, test1Ba));
761cdf0e10cSrcweir                                     success &= test(
762cdf0e10cSrcweir                                         "!test2Aa.equals(test1Bb)",
763cdf0e10cSrcweir                                         !test2Aa.equals(test1Bb));
764cdf0e10cSrcweir                                     success &= test(
765cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test2Aa, test1Bb)",
766cdf0e10cSrcweir                                         !UnoRuntime.areSame(test2Aa, test1Bb));
767cdf0e10cSrcweir                                     success &= test(
768cdf0e10cSrcweir                                         "!test2Aa.equals(test1Bc)",
769cdf0e10cSrcweir                                         !test2Aa.equals(test1Bc));
770cdf0e10cSrcweir                                     success &= test(
771cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test2Aa, test1Bc)",
772cdf0e10cSrcweir                                         !UnoRuntime.areSame(test2Aa, test1Bc));
773cdf0e10cSrcweir                                     success &= test(
774cdf0e10cSrcweir                                         "test2Aa.equals(test2Aa)",
775cdf0e10cSrcweir                                         test2Aa.equals(test2Aa));
776cdf0e10cSrcweir                                     success &= test(
777cdf0e10cSrcweir                                         "UnoRuntime.areSame(test2Aa, test2Aa)",
778cdf0e10cSrcweir                                         UnoRuntime.areSame(test2Aa, test2Aa));
779cdf0e10cSrcweir                                     success &= test(
780cdf0e10cSrcweir                                         "test2Aa.equals(test2Ab)",
781cdf0e10cSrcweir                                         test2Aa.equals(test2Ab));
782cdf0e10cSrcweir                                     success &= test(
783cdf0e10cSrcweir                                         "UnoRuntime.areSame(test2Aa, test2Ab)",
784cdf0e10cSrcweir                                         UnoRuntime.areSame(test2Aa, test2Ab));
785cdf0e10cSrcweir                                     success &= test(
786cdf0e10cSrcweir                                         "test2Aa.equals(test2Ac)",
787cdf0e10cSrcweir                                         test2Aa.equals(test2Ac));
788cdf0e10cSrcweir                                     success &= test(
789cdf0e10cSrcweir                                         "UnoRuntime.areSame(test2Aa, test2Ac)",
790cdf0e10cSrcweir                                         UnoRuntime.areSame(test2Aa, test2Ac));
791cdf0e10cSrcweir                                     success &= test(
792cdf0e10cSrcweir                                         "test2Aa.equals(test2Ba)",
793cdf0e10cSrcweir                                         test2Aa.equals(test2Ba));
794cdf0e10cSrcweir                                     success &= test(
795cdf0e10cSrcweir                                         "UnoRuntime.areSame(test2Aa, test2Ba)",
796cdf0e10cSrcweir                                         UnoRuntime.areSame(test2Aa, test2Ba));
797cdf0e10cSrcweir                                     success &= test(
798cdf0e10cSrcweir                                         "test2Aa.equals(test2Bb)",
799cdf0e10cSrcweir                                         test2Aa.equals(test2Bb));
800cdf0e10cSrcweir                                     success &= test(
801cdf0e10cSrcweir                                         "UnoRuntime.areSame(test2Aa, test2Bb)",
802cdf0e10cSrcweir                                         UnoRuntime.areSame(test2Aa, test2Bb));
803cdf0e10cSrcweir                                     success &= test(
804cdf0e10cSrcweir                                         "test2Aa.equals(test2Bc)",
805cdf0e10cSrcweir                                         test2Aa.equals(test2Bc));
806cdf0e10cSrcweir                                     success &= test(
807cdf0e10cSrcweir                                         "UnoRuntime.areSame(test2Aa, test2Bc)",
808cdf0e10cSrcweir                                         UnoRuntime.areSame(test2Aa, test2Bc));
809cdf0e10cSrcweir 
810cdf0e10cSrcweir                                     success &= test(
811cdf0e10cSrcweir                                         "!test2Ab.equals(null)",
812cdf0e10cSrcweir                                         !test2Ab.equals(null));
813cdf0e10cSrcweir                                     success &= test(
814cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test2Ab, null)",
815cdf0e10cSrcweir                                         !UnoRuntime.areSame(test2Ab, null));
816cdf0e10cSrcweir                                     success &= test(
817cdf0e10cSrcweir                                         "!test2Ab.equals(test1Aa)",
818cdf0e10cSrcweir                                         !test2Ab.equals(test1Aa));
819cdf0e10cSrcweir                                     success &= test(
820cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test2Ab, test1Aa)",
821cdf0e10cSrcweir                                         !UnoRuntime.areSame(test2Ab, test1Aa));
822cdf0e10cSrcweir                                     success &= test(
823cdf0e10cSrcweir                                         "!test2Ab.equals(test1Ab)",
824cdf0e10cSrcweir                                         !test2Ab.equals(test1Ab));
825cdf0e10cSrcweir                                     success &= test(
826cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test2Ab, test1Ab)",
827cdf0e10cSrcweir                                         !UnoRuntime.areSame(test2Ab, test1Ab));
828cdf0e10cSrcweir                                     success &= test(
829cdf0e10cSrcweir                                         "!test2Ab.equals(test1Ac)",
830cdf0e10cSrcweir                                         !test2Ab.equals(test1Ac));
831cdf0e10cSrcweir                                     success &= test(
832cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test2Ab, test1Ac)",
833cdf0e10cSrcweir                                         !UnoRuntime.areSame(test2Ab, test1Ac));
834cdf0e10cSrcweir                                     success &= test(
835cdf0e10cSrcweir                                         "!test2Ab.equals(test1Ba)",
836cdf0e10cSrcweir                                         !test2Ab.equals(test1Ba));
837cdf0e10cSrcweir                                     success &= test(
838cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test2Ab, test1Ba)",
839cdf0e10cSrcweir                                         !UnoRuntime.areSame(test2Ab, test1Ba));
840cdf0e10cSrcweir                                     success &= test(
841cdf0e10cSrcweir                                         "!test2Ab.equals(test1Bb)",
842cdf0e10cSrcweir                                         !test2Ab.equals(test1Bb));
843cdf0e10cSrcweir                                     success &= test(
844cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test2Ab, test1Bb)",
845cdf0e10cSrcweir                                         !UnoRuntime.areSame(test2Ab, test1Bb));
846cdf0e10cSrcweir                                     success &= test(
847cdf0e10cSrcweir                                         "!test2Ab.equals(test1Bc)",
848cdf0e10cSrcweir                                         !test2Ab.equals(test1Bc));
849cdf0e10cSrcweir                                     success &= test(
850cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test2Ab, test1Bc)",
851cdf0e10cSrcweir                                         !UnoRuntime.areSame(test2Ab, test1Bc));
852cdf0e10cSrcweir                                     success &= test(
853cdf0e10cSrcweir                                         "test2Ab.equals(test2Aa)",
854cdf0e10cSrcweir                                         test2Ab.equals(test2Aa));
855cdf0e10cSrcweir                                     success &= test(
856cdf0e10cSrcweir                                         "UnoRuntime.areSame(test2Ab, test2Aa)",
857cdf0e10cSrcweir                                         UnoRuntime.areSame(test2Ab, test2Aa));
858cdf0e10cSrcweir                                     success &= test(
859cdf0e10cSrcweir                                         "test2Ab.equals(test2Ab)",
860cdf0e10cSrcweir                                         test2Ab.equals(test2Ab));
861cdf0e10cSrcweir                                     success &= test(
862cdf0e10cSrcweir                                         "UnoRuntime.areSame(test2Ab, test2Ab)",
863cdf0e10cSrcweir                                         UnoRuntime.areSame(test2Ab, test2Ab));
864cdf0e10cSrcweir                                     success &= test(
865cdf0e10cSrcweir                                         "test2Ab.equals(test2Ac)",
866cdf0e10cSrcweir                                         test2Ab.equals(test2Ac));
867cdf0e10cSrcweir                                     success &= test(
868cdf0e10cSrcweir                                         "UnoRuntime.areSame(test2Ab, test2Ac)",
869cdf0e10cSrcweir                                         UnoRuntime.areSame(test2Ab, test2Ac));
870cdf0e10cSrcweir                                     success &= test(
871cdf0e10cSrcweir                                         "test2Ab.equals(test2Ba)",
872cdf0e10cSrcweir                                         test2Ab.equals(test2Ba));
873cdf0e10cSrcweir                                     success &= test(
874cdf0e10cSrcweir                                         "UnoRuntime.areSame(test2Ab, test2Ba)",
875cdf0e10cSrcweir                                         UnoRuntime.areSame(test2Ab, test2Ba));
876cdf0e10cSrcweir                                     success &= test(
877cdf0e10cSrcweir                                         "test2Ab.equals(test2Bb)",
878cdf0e10cSrcweir                                         test2Ab.equals(test2Bb));
879cdf0e10cSrcweir                                     success &= test(
880cdf0e10cSrcweir                                         "UnoRuntime.areSame(test2Ab, test2Bb)",
881cdf0e10cSrcweir                                         UnoRuntime.areSame(test2Ab, test2Bb));
882cdf0e10cSrcweir                                     success &= test(
883cdf0e10cSrcweir                                         "test2Ab.equals(test2Bc)",
884cdf0e10cSrcweir                                         test2Ab.equals(test2Bc));
885cdf0e10cSrcweir                                     success &= test(
886cdf0e10cSrcweir                                         "UnoRuntime.areSame(test2Ab, test2Bc)",
887cdf0e10cSrcweir                                         UnoRuntime.areSame(test2Ab, test2Bc));
888cdf0e10cSrcweir 
889cdf0e10cSrcweir                                     success &= test(
890cdf0e10cSrcweir                                         "!test2Ac.equals(null)",
891cdf0e10cSrcweir                                         !test2Ac.equals(null));
892cdf0e10cSrcweir                                     success &= test(
893cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test2Ac, null)",
894cdf0e10cSrcweir                                         !UnoRuntime.areSame(test2Ac, null));
895cdf0e10cSrcweir                                     success &= test(
896cdf0e10cSrcweir                                         "!test2Ac.equals(test1Aa)",
897cdf0e10cSrcweir                                         !test2Ac.equals(test1Aa));
898cdf0e10cSrcweir                                     success &= test(
899cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test2Ac, test1Aa)",
900cdf0e10cSrcweir                                         !UnoRuntime.areSame(test2Ac, test1Aa));
901cdf0e10cSrcweir                                     success &= test(
902cdf0e10cSrcweir                                         "!test2Ac.equals(test1Ab)",
903cdf0e10cSrcweir                                         !test2Ac.equals(test1Ab));
904cdf0e10cSrcweir                                     success &= test(
905cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test2Ac, test1Ab)",
906cdf0e10cSrcweir                                         !UnoRuntime.areSame(test2Ac, test1Ab));
907cdf0e10cSrcweir                                     success &= test(
908cdf0e10cSrcweir                                         "!test2Ac.equals(test1Ac)",
909cdf0e10cSrcweir                                         !test2Ac.equals(test1Ac));
910cdf0e10cSrcweir                                     success &= test(
911cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test2Ac, test1Ac)",
912cdf0e10cSrcweir                                         !UnoRuntime.areSame(test2Ac, test1Ac));
913cdf0e10cSrcweir                                     success &= test(
914cdf0e10cSrcweir                                         "!test2Ac.equals(test1Ba)",
915cdf0e10cSrcweir                                         !test2Ac.equals(test1Ba));
916cdf0e10cSrcweir                                     success &= test(
917cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test2Ac, test1Ba)",
918cdf0e10cSrcweir                                         !UnoRuntime.areSame(test2Ac, test1Ba));
919cdf0e10cSrcweir                                     success &= test(
920cdf0e10cSrcweir                                         "!test2Ac.equals(test1Bb)",
921cdf0e10cSrcweir                                         !test2Ac.equals(test1Bb));
922cdf0e10cSrcweir                                     success &= test(
923cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test2Ac, test1Bb)",
924cdf0e10cSrcweir                                         !UnoRuntime.areSame(test2Ac, test1Bb));
925cdf0e10cSrcweir                                     success &= test(
926cdf0e10cSrcweir                                         "!test2Ac.equals(test1Bc)",
927cdf0e10cSrcweir                                         !test2Ac.equals(test1Bc));
928cdf0e10cSrcweir                                     success &= test(
929cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test2Ac, test1Bc)",
930cdf0e10cSrcweir                                         !UnoRuntime.areSame(test2Ac, test1Bc));
931cdf0e10cSrcweir                                     success &= test(
932cdf0e10cSrcweir                                         "test2Ac.equals(test2Aa)",
933cdf0e10cSrcweir                                         test2Ac.equals(test2Aa));
934cdf0e10cSrcweir                                     success &= test(
935cdf0e10cSrcweir                                         "UnoRuntime.areSame(test2Ac, test2Aa)",
936cdf0e10cSrcweir                                         UnoRuntime.areSame(test2Ac, test2Aa));
937cdf0e10cSrcweir                                     success &= test(
938cdf0e10cSrcweir                                         "test2Ac.equals(test2Ab)",
939cdf0e10cSrcweir                                         test2Ac.equals(test2Ab));
940cdf0e10cSrcweir                                     success &= test(
941cdf0e10cSrcweir                                         "UnoRuntime.areSame(test2Ac, test2Ab)",
942cdf0e10cSrcweir                                         UnoRuntime.areSame(test2Ac, test2Ab));
943cdf0e10cSrcweir                                     success &= test(
944cdf0e10cSrcweir                                         "test2Ac.equals(test2Ac)",
945cdf0e10cSrcweir                                         test2Ac.equals(test2Ac));
946cdf0e10cSrcweir                                     success &= test(
947cdf0e10cSrcweir                                         "UnoRuntime.areSame(test2Ac, test2Ac)",
948cdf0e10cSrcweir                                         UnoRuntime.areSame(test2Ac, test2Ac));
949cdf0e10cSrcweir                                     success &= test(
950cdf0e10cSrcweir                                         "test2Ac.equals(test2Ba)",
951cdf0e10cSrcweir                                         test2Ac.equals(test2Ba));
952cdf0e10cSrcweir                                     success &= test(
953cdf0e10cSrcweir                                         "UnoRuntime.areSame(test2Ac, test2Ba)",
954cdf0e10cSrcweir                                         UnoRuntime.areSame(test2Ac, test2Ba));
955cdf0e10cSrcweir                                     success &= test(
956cdf0e10cSrcweir                                         "test2Ac.equals(test2Bb)",
957cdf0e10cSrcweir                                         test2Ac.equals(test2Bb));
958cdf0e10cSrcweir                                     success &= test(
959cdf0e10cSrcweir                                         "UnoRuntime.areSame(test2Ac, test2Bb)",
960cdf0e10cSrcweir                                         UnoRuntime.areSame(test2Ac, test2Bb));
961cdf0e10cSrcweir                                     success &= test(
962cdf0e10cSrcweir                                         "test2Ac.equals(test2Bc)",
963cdf0e10cSrcweir                                         test2Ac.equals(test2Bc));
964cdf0e10cSrcweir                                     success &= test(
965cdf0e10cSrcweir                                         "UnoRuntime.areSame(test2Ac, test2Bc)",
966cdf0e10cSrcweir                                         UnoRuntime.areSame(test2Ac, test2Bc));
967cdf0e10cSrcweir 
968cdf0e10cSrcweir                                     success &= test(
969cdf0e10cSrcweir                                         "!test2Ba.equals(null)",
970cdf0e10cSrcweir                                         !test2Ba.equals(null));
971cdf0e10cSrcweir                                     success &= test(
972cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test2Ba, null)",
973cdf0e10cSrcweir                                         !UnoRuntime.areSame(test2Ba, null));
974cdf0e10cSrcweir                                     success &= test(
975cdf0e10cSrcweir                                         "!test2Ba.equals(test1Aa)",
976cdf0e10cSrcweir                                         !test2Ba.equals(test1Aa));
977cdf0e10cSrcweir                                     success &= test(
978cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test2Ba, test1Aa)",
979cdf0e10cSrcweir                                         !UnoRuntime.areSame(test2Ba, test1Aa));
980cdf0e10cSrcweir                                     success &= test(
981cdf0e10cSrcweir                                         "!test2Ba.equals(test1Ab)",
982cdf0e10cSrcweir                                         !test2Ba.equals(test1Ab));
983cdf0e10cSrcweir                                     success &= test(
984cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test2Ba, test1Ab)",
985cdf0e10cSrcweir                                         !UnoRuntime.areSame(test2Ba, test1Ab));
986cdf0e10cSrcweir                                     success &= test(
987cdf0e10cSrcweir                                         "!test2Ba.equals(test1Ac)",
988cdf0e10cSrcweir                                         !test2Ba.equals(test1Ac));
989cdf0e10cSrcweir                                     success &= test(
990cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test2Ba, test1Ac)",
991cdf0e10cSrcweir                                         !UnoRuntime.areSame(test2Ba, test1Ac));
992cdf0e10cSrcweir                                     success &= test(
993cdf0e10cSrcweir                                         "!test2Ba.equals(test1Ba)",
994cdf0e10cSrcweir                                         !test2Ba.equals(test1Ba));
995cdf0e10cSrcweir                                     success &= test(
996cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test2Ba, test1Ba)",
997cdf0e10cSrcweir                                         !UnoRuntime.areSame(test2Ba, test1Ba));
998cdf0e10cSrcweir                                     success &= test(
999cdf0e10cSrcweir                                         "!test2Ba.equals(test1Bb)",
1000cdf0e10cSrcweir                                         !test2Ba.equals(test1Bb));
1001cdf0e10cSrcweir                                     success &= test(
1002cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test2Ba, test1Bb)",
1003cdf0e10cSrcweir                                         !UnoRuntime.areSame(test2Ba, test1Bb));
1004cdf0e10cSrcweir                                     success &= test(
1005cdf0e10cSrcweir                                         "!test2Ba.equals(test1Bc)",
1006cdf0e10cSrcweir                                         !test2Ba.equals(test1Bc));
1007cdf0e10cSrcweir                                     success &= test(
1008cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test2Ba, test1Bc)",
1009cdf0e10cSrcweir                                         !UnoRuntime.areSame(test2Ba, test1Bc));
1010cdf0e10cSrcweir                                     success &= test(
1011cdf0e10cSrcweir                                         "test2Ba.equals(test2Aa)",
1012cdf0e10cSrcweir                                         test2Ba.equals(test2Aa));
1013cdf0e10cSrcweir                                     success &= test(
1014cdf0e10cSrcweir                                         "UnoRuntime.areSame(test2Ba, test2Aa)",
1015cdf0e10cSrcweir                                         UnoRuntime.areSame(test2Ba, test2Aa));
1016cdf0e10cSrcweir                                     success &= test(
1017cdf0e10cSrcweir                                         "test2Ba.equals(test2Ab)",
1018cdf0e10cSrcweir                                         test2Ba.equals(test2Ab));
1019cdf0e10cSrcweir                                     success &= test(
1020cdf0e10cSrcweir                                         "UnoRuntime.areSame(test2Ba, test2Ab)",
1021cdf0e10cSrcweir                                         UnoRuntime.areSame(test2Ba, test2Ab));
1022cdf0e10cSrcweir                                     success &= test(
1023cdf0e10cSrcweir                                         "test2Ba.equals(test2Ac)",
1024cdf0e10cSrcweir                                         test2Ba.equals(test2Ac));
1025cdf0e10cSrcweir                                     success &= test(
1026cdf0e10cSrcweir                                         "UnoRuntime.areSame(test2Ba, test2Ac)",
1027cdf0e10cSrcweir                                         UnoRuntime.areSame(test2Ba, test2Ac));
1028cdf0e10cSrcweir                                     success &= test(
1029cdf0e10cSrcweir                                         "test2Ba.equals(test2Ba)",
1030cdf0e10cSrcweir                                         test2Ba.equals(test2Ba));
1031cdf0e10cSrcweir                                     success &= test(
1032cdf0e10cSrcweir                                         "UnoRuntime.areSame(test2Ba, test2Ba)",
1033cdf0e10cSrcweir                                         UnoRuntime.areSame(test2Ba, test2Ba));
1034cdf0e10cSrcweir                                     success &= test(
1035cdf0e10cSrcweir                                         "test2Ba.equals(test2Bb)",
1036cdf0e10cSrcweir                                         test2Ba.equals(test2Bb));
1037cdf0e10cSrcweir                                     success &= test(
1038cdf0e10cSrcweir                                         "UnoRuntime.areSame(test2Ba, test2Bb)",
1039cdf0e10cSrcweir                                         UnoRuntime.areSame(test2Ba, test2Bb));
1040cdf0e10cSrcweir                                     success &= test(
1041cdf0e10cSrcweir                                         "test2Ba.equals(test2Bc)",
1042cdf0e10cSrcweir                                         test2Ba.equals(test2Bc));
1043cdf0e10cSrcweir                                     success &= test(
1044cdf0e10cSrcweir                                         "UnoRuntime.areSame(test2Ba, test2Bc)",
1045cdf0e10cSrcweir                                         UnoRuntime.areSame(test2Ba, test2Bc));
1046cdf0e10cSrcweir 
1047cdf0e10cSrcweir                                     success &= test(
1048cdf0e10cSrcweir                                         "!test2Bb.equals(null)",
1049cdf0e10cSrcweir                                         !test2Bb.equals(null));
1050cdf0e10cSrcweir                                     success &= test(
1051cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test2Bb, null)",
1052cdf0e10cSrcweir                                         !UnoRuntime.areSame(test2Bb, null));
1053cdf0e10cSrcweir                                     success &= test(
1054cdf0e10cSrcweir                                         "!test2Bb.equals(test1Aa)",
1055cdf0e10cSrcweir                                         !test2Bb.equals(test1Aa));
1056cdf0e10cSrcweir                                     success &= test(
1057cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test2Bb, test1Aa)",
1058cdf0e10cSrcweir                                         !UnoRuntime.areSame(test2Bb, test1Aa));
1059cdf0e10cSrcweir                                     success &= test(
1060cdf0e10cSrcweir                                         "!test2Bb.equals(test1Ab)",
1061cdf0e10cSrcweir                                         !test2Bb.equals(test1Ab));
1062cdf0e10cSrcweir                                     success &= test(
1063cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test2Bb, test1Ab)",
1064cdf0e10cSrcweir                                         !UnoRuntime.areSame(test2Bb, test1Ab));
1065cdf0e10cSrcweir                                     success &= test(
1066cdf0e10cSrcweir                                         "!test2Bb.equals(test1Ac)",
1067cdf0e10cSrcweir                                         !test2Bb.equals(test1Ac));
1068cdf0e10cSrcweir                                     success &= test(
1069cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test2Bb, test1Ac)",
1070cdf0e10cSrcweir                                         !UnoRuntime.areSame(test2Bb, test1Ac));
1071cdf0e10cSrcweir                                     success &= test(
1072cdf0e10cSrcweir                                         "!test2Bb.equals(test1Ba)",
1073cdf0e10cSrcweir                                         !test2Bb.equals(test1Ba));
1074cdf0e10cSrcweir                                     success &= test(
1075cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test2Bb, test1Ba)",
1076cdf0e10cSrcweir                                         !UnoRuntime.areSame(test2Bb, test1Ba));
1077cdf0e10cSrcweir                                     success &= test(
1078cdf0e10cSrcweir                                         "!test2Bb.equals(test1Bb)",
1079cdf0e10cSrcweir                                         !test2Bb.equals(test1Bb));
1080cdf0e10cSrcweir                                     success &= test(
1081cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test2Bb, test1Bb)",
1082cdf0e10cSrcweir                                         !UnoRuntime.areSame(test2Bb, test1Bb));
1083cdf0e10cSrcweir                                     success &= test(
1084cdf0e10cSrcweir                                         "!test2Bb.equals(test1Bc)",
1085cdf0e10cSrcweir                                         !test2Bb.equals(test1Bc));
1086cdf0e10cSrcweir                                     success &= test(
1087cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test2Bb, test1Bc)",
1088cdf0e10cSrcweir                                         !UnoRuntime.areSame(test2Bb, test1Bc));
1089cdf0e10cSrcweir                                     success &= test(
1090cdf0e10cSrcweir                                         "test2Bb.equals(test2Aa)",
1091cdf0e10cSrcweir                                         test2Bb.equals(test2Aa));
1092cdf0e10cSrcweir                                     success &= test(
1093cdf0e10cSrcweir                                         "UnoRuntime.areSame(test2Bb, test2Aa)",
1094cdf0e10cSrcweir                                         UnoRuntime.areSame(test2Bb, test2Aa));
1095cdf0e10cSrcweir                                     success &= test(
1096cdf0e10cSrcweir                                         "test2Bb.equals(test2Ab)",
1097cdf0e10cSrcweir                                         test2Bb.equals(test2Ab));
1098cdf0e10cSrcweir                                     success &= test(
1099cdf0e10cSrcweir                                         "UnoRuntime.areSame(test2Bb, test2Ab)",
1100cdf0e10cSrcweir                                         UnoRuntime.areSame(test2Bb, test2Ab));
1101cdf0e10cSrcweir                                     success &= test(
1102cdf0e10cSrcweir                                         "test2Bb.equals(test2Ac)",
1103cdf0e10cSrcweir                                         test2Bb.equals(test2Ac));
1104cdf0e10cSrcweir                                     success &= test(
1105cdf0e10cSrcweir                                         "UnoRuntime.areSame(test2Bb, test2Ac)",
1106cdf0e10cSrcweir                                         UnoRuntime.areSame(test2Bb, test2Ac));
1107cdf0e10cSrcweir                                     success &= test(
1108cdf0e10cSrcweir                                         "test2Bb.equals(test2Ba)",
1109cdf0e10cSrcweir                                         test2Bb.equals(test2Ba));
1110cdf0e10cSrcweir                                     success &= test(
1111cdf0e10cSrcweir                                         "UnoRuntime.areSame(test2Bb, test2Ba)",
1112cdf0e10cSrcweir                                         UnoRuntime.areSame(test2Bb, test2Ba));
1113cdf0e10cSrcweir                                     success &= test(
1114cdf0e10cSrcweir                                         "test2Bb.equals(test2Bb)",
1115cdf0e10cSrcweir                                         test2Bb.equals(test2Bb));
1116cdf0e10cSrcweir                                     success &= test(
1117cdf0e10cSrcweir                                         "UnoRuntime.areSame(test2Bb, test2Bb)",
1118cdf0e10cSrcweir                                         UnoRuntime.areSame(test2Bb, test2Bb));
1119cdf0e10cSrcweir                                     success &= test(
1120cdf0e10cSrcweir                                         "test2Bb.equals(test2Bc)",
1121cdf0e10cSrcweir                                         test2Bb.equals(test2Bc));
1122cdf0e10cSrcweir                                     success &= test(
1123cdf0e10cSrcweir                                         "UnoRuntime.areSame(test2Bb, test2Bc)",
1124cdf0e10cSrcweir                                         UnoRuntime.areSame(test2Bb, test2Bc));
1125cdf0e10cSrcweir 
1126cdf0e10cSrcweir                                     success &= test(
1127cdf0e10cSrcweir                                         "!test2Bc.equals(null)",
1128cdf0e10cSrcweir                                         !test2Bc.equals(null));
1129cdf0e10cSrcweir                                     success &= test(
1130cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test2Bc, null)",
1131cdf0e10cSrcweir                                         !UnoRuntime.areSame(test2Bc, null));
1132cdf0e10cSrcweir                                     success &= test(
1133cdf0e10cSrcweir                                         "!test2Bc.equals(test1Aa)",
1134cdf0e10cSrcweir                                         !test2Bc.equals(test1Aa));
1135cdf0e10cSrcweir                                     success &= test(
1136cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test2Bc, test1Aa)",
1137cdf0e10cSrcweir                                         !UnoRuntime.areSame(test2Bc, test1Aa));
1138cdf0e10cSrcweir                                     success &= test(
1139cdf0e10cSrcweir                                         "!test2Bc.equals(test1Ab)",
1140cdf0e10cSrcweir                                         !test2Bc.equals(test1Ab));
1141cdf0e10cSrcweir                                     success &= test(
1142cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test2Bc, test1Ab)",
1143cdf0e10cSrcweir                                         !UnoRuntime.areSame(test2Bc, test1Ab));
1144cdf0e10cSrcweir                                     success &= test(
1145cdf0e10cSrcweir                                         "!test2Bc.equals(test1Ac)",
1146cdf0e10cSrcweir                                         !test2Bc.equals(test1Ac));
1147cdf0e10cSrcweir                                     success &= test(
1148cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test2Bc, test1Ac)",
1149cdf0e10cSrcweir                                         !UnoRuntime.areSame(test2Bc, test1Ac));
1150cdf0e10cSrcweir                                     success &= test(
1151cdf0e10cSrcweir                                         "!test2Bc.equals(test1Ba)",
1152cdf0e10cSrcweir                                         !test2Bc.equals(test1Ba));
1153cdf0e10cSrcweir                                     success &= test(
1154cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test2Bc, test1Ba)",
1155cdf0e10cSrcweir                                         !UnoRuntime.areSame(test2Bc, test1Ba));
1156cdf0e10cSrcweir                                     success &= test(
1157cdf0e10cSrcweir                                         "!test2Bc.equals(test1Bb)",
1158cdf0e10cSrcweir                                         !test2Bc.equals(test1Bb));
1159cdf0e10cSrcweir                                     success &= test(
1160cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test2Bc, test1Bb)",
1161cdf0e10cSrcweir                                         !UnoRuntime.areSame(test2Bc, test1Bb));
1162cdf0e10cSrcweir                                     success &= test(
1163cdf0e10cSrcweir                                         "!test2Bc.equals(test1Bc)",
1164cdf0e10cSrcweir                                         !test2Bc.equals(test1Bc));
1165cdf0e10cSrcweir                                     success &= test(
1166cdf0e10cSrcweir                                         "!UnoRuntime.areSame(test2Bc, test1Bc)",
1167cdf0e10cSrcweir                                         !UnoRuntime.areSame(test2Bc, test1Bc));
1168cdf0e10cSrcweir                                     success &= test(
1169cdf0e10cSrcweir                                         "test2Bc.equals(test2Aa)",
1170cdf0e10cSrcweir                                         test2Bc.equals(test2Aa));
1171cdf0e10cSrcweir                                     success &= test(
1172cdf0e10cSrcweir                                         "UnoRuntime.areSame(test2Bc, test2Aa)",
1173cdf0e10cSrcweir                                         UnoRuntime.areSame(test2Bc, test2Aa));
1174cdf0e10cSrcweir                                     success &= test(
1175cdf0e10cSrcweir                                         "test2Bc.equals(test2Ab)",
1176cdf0e10cSrcweir                                         test2Bc.equals(test2Ab));
1177cdf0e10cSrcweir                                     success &= test(
1178cdf0e10cSrcweir                                         "UnoRuntime.areSame(test2Bc, test2Ab)",
1179cdf0e10cSrcweir                                         UnoRuntime.areSame(test2Bc, test2Ab));
1180cdf0e10cSrcweir                                     success &= test(
1181cdf0e10cSrcweir                                         "test2Bc.equals(test2Ac)",
1182cdf0e10cSrcweir                                         test2Bc.equals(test2Ac));
1183cdf0e10cSrcweir                                     success &= test(
1184cdf0e10cSrcweir                                         "UnoRuntime.areSame(test2Bc, test2Ac)",
1185cdf0e10cSrcweir                                         UnoRuntime.areSame(test2Bc, test2Ac));
1186cdf0e10cSrcweir                                     success &= test(
1187cdf0e10cSrcweir                                         "test2Bc.equals(test2Ba)",
1188cdf0e10cSrcweir                                         test2Bc.equals(test2Ba));
1189cdf0e10cSrcweir                                     success &= test(
1190cdf0e10cSrcweir                                         "UnoRuntime.areSame(test2Bc, test2Ba)",
1191cdf0e10cSrcweir                                         UnoRuntime.areSame(test2Bc, test2Ba));
1192cdf0e10cSrcweir                                     success &= test(
1193cdf0e10cSrcweir                                         "test2Bc.equals(test2Bb)",
1194cdf0e10cSrcweir                                         test2Bc.equals(test2Bb));
1195cdf0e10cSrcweir                                     success &= test(
1196cdf0e10cSrcweir                                         "UnoRuntime.areSame(test2Bc, test2Bb)",
1197cdf0e10cSrcweir                                         UnoRuntime.areSame(test2Bc, test2Bb));
1198cdf0e10cSrcweir                                     success &= test(
1199cdf0e10cSrcweir                                         "test2Bc.equals(test2Bc)",
1200cdf0e10cSrcweir                                         test2Bc.equals(test2Bc));
1201cdf0e10cSrcweir                                     success &= test(
1202cdf0e10cSrcweir                                         "UnoRuntime.areSame(test2Bc, test2Bc)",
1203cdf0e10cSrcweir                                         UnoRuntime.areSame(test2Bc, test2Bc));
1204cdf0e10cSrcweir 
1205cdf0e10cSrcweir                                     success &= test(
1206cdf0e10cSrcweir                                         "test1Aa.hashCode() == test1Ab.hashCode()",
1207cdf0e10cSrcweir                                         test1Aa.hashCode()
1208cdf0e10cSrcweir                                         == test1Ab.hashCode());
1209cdf0e10cSrcweir                                     success &= test(
1210cdf0e10cSrcweir                                         "test1Aa.hashCode()"
1211cdf0e10cSrcweir                                         + " == test1Ac.hashCode()",
1212cdf0e10cSrcweir                                         test1Aa.hashCode()
1213cdf0e10cSrcweir                                         == test1Ac.hashCode());
1214cdf0e10cSrcweir                                     success &= test(
1215cdf0e10cSrcweir                                         "test1Aa.hashCode()"
1216cdf0e10cSrcweir                                         + " == test1Ba.hashCode()",
1217cdf0e10cSrcweir                                         test1Aa.hashCode()
1218cdf0e10cSrcweir                                         == test1Ba.hashCode());
1219cdf0e10cSrcweir                                     success &= test(
1220cdf0e10cSrcweir                                         "test1Aa.hashCode()"
1221cdf0e10cSrcweir                                         + " == test1Bb.hashCode()",
1222cdf0e10cSrcweir                                         test1Aa.hashCode()
1223cdf0e10cSrcweir                                         == test1Bb.hashCode());
1224cdf0e10cSrcweir                                     success &= test(
1225cdf0e10cSrcweir                                         "test1Aa.hashCode()"
1226cdf0e10cSrcweir                                         + " == test1Bc.hashCode()",
1227cdf0e10cSrcweir                                         test1Aa.hashCode()
1228cdf0e10cSrcweir                                         == test1Bc.hashCode());
1229cdf0e10cSrcweir                                     success &= test(
1230cdf0e10cSrcweir                                         "test2Aa.hashCode()"
1231cdf0e10cSrcweir                                         + " == test2Ab.hashCode()",
1232cdf0e10cSrcweir                                         test2Aa.hashCode()
1233cdf0e10cSrcweir                                         == test2Ab.hashCode());
1234cdf0e10cSrcweir                                     success &= test(
1235cdf0e10cSrcweir                                         "test2Aa.hashCode()"
1236cdf0e10cSrcweir                                         + " == test2Ac.hashCode()",
1237cdf0e10cSrcweir                                         test2Aa.hashCode()
1238cdf0e10cSrcweir                                         == test2Ac.hashCode());
1239cdf0e10cSrcweir                                     success &= test(
1240cdf0e10cSrcweir                                         "test2Aa.hashCode()"
1241cdf0e10cSrcweir                                         + " == test2Ba.hashCode()",
1242cdf0e10cSrcweir                                         test2Aa.hashCode()
1243cdf0e10cSrcweir                                         == test2Ba.hashCode());
1244cdf0e10cSrcweir                                     success &= test(
1245cdf0e10cSrcweir                                         "test2Aa.hashCode()"
1246cdf0e10cSrcweir                                         + " == test2Bb.hashCode()",
1247cdf0e10cSrcweir                                         test2Aa.hashCode()
1248cdf0e10cSrcweir                                         == test2Bb.hashCode());
1249cdf0e10cSrcweir                                     success &= test(
1250cdf0e10cSrcweir                                         "test2Aa.hashCode()"
1251cdf0e10cSrcweir                                         + " == test2Bc.hashCode()",
1252cdf0e10cSrcweir                                         test2Aa.hashCode()
1253cdf0e10cSrcweir                                         == test2Bc.hashCode());
1254cdf0e10cSrcweir 
1255cdf0e10cSrcweir                                     done.notifyDone();
1256cdf0e10cSrcweir                                     testBed.serverDone(success);
1257cdf0e10cSrcweir                                 } catch (Exception e) {
1258cdf0e10cSrcweir                                     e.printStackTrace(System.err);
1259cdf0e10cSrcweir                                 }
1260cdf0e10cSrcweir                             };
1261cdf0e10cSrcweir 
1262cdf0e10cSrcweir                             private /*static*/ boolean test(
1263cdf0e10cSrcweir                                 String message, boolean condition)
1264cdf0e10cSrcweir                             {
1265cdf0e10cSrcweir                                 if (!condition) {
1266cdf0e10cSrcweir                                     System.err.println("Failed: " + message);
1267cdf0e10cSrcweir                                 }
1268cdf0e10cSrcweir                                 return condition;
1269cdf0e10cSrcweir                             }
1270cdf0e10cSrcweir                         }.start();
1271cdf0e10cSrcweir                     }
1272cdf0e10cSrcweir                 };
1273cdf0e10cSrcweir         }
1274cdf0e10cSrcweir 
1275cdf0e10cSrcweir         private final TestBed testBed;
1276cdf0e10cSrcweir         private final String unoTypes;
1277cdf0e10cSrcweir         private final String unoServices;
1278cdf0e10cSrcweir     }
1279cdf0e10cSrcweir 
1280cdf0e10cSrcweir     public interface XDone extends XInterface {
1281cdf0e10cSrcweir         void notifyDone();
1282cdf0e10cSrcweir 
1283cdf0e10cSrcweir         TypeInfo[] UNOTYPEINFO = { new MethodTypeInfo("notifyDone", 0, 0) };
1284cdf0e10cSrcweir     }
1285cdf0e10cSrcweir 
1286cdf0e10cSrcweir     public interface XTestFrame extends XInterface {
1287cdf0e10cSrcweir         void notifyAccepting(XDone done, Object object1, Object object2);
1288cdf0e10cSrcweir 
1289cdf0e10cSrcweir         TypeInfo[] UNOTYPEINFO = {
1290cdf0e10cSrcweir             new MethodTypeInfo("notifyAccepting", 0, TypeInfo.ONEWAY) };
1291cdf0e10cSrcweir     }
1292cdf0e10cSrcweir 
1293cdf0e10cSrcweir     // Use "127.0.0.1" instead of "localhost", see #i32281#:
1294cdf0e10cSrcweir     private static final String CONNECTION_DESCRIPTION
1295cdf0e10cSrcweir     = "socket,host=127.0.0.1,port=12346";
1296cdf0e10cSrcweir     private static final String PROTOCOL_DESCRIPTION = "urp";
1297cdf0e10cSrcweir 
1298cdf0e10cSrcweir     private static final String INSTANCE1 = "instance1";
1299cdf0e10cSrcweir     private static final String INSTANCE2 = "instance2";
1300cdf0e10cSrcweir }
1301