blob: 8c108dfcf0c407aff3ea6a41900a67faafe137ae [file] [log] [blame]
/**************************************************************
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
package test.java_uno.equals;
import com.sun.star.bridge.XBridge;
import com.sun.star.bridge.XBridgeFactory;
import com.sun.star.bridge.XInstanceProvider;
import com.sun.star.comp.helper.Bootstrap;
import com.sun.star.connection.Acceptor;
import com.sun.star.connection.XAcceptor;
import com.sun.star.connection.XConnection;
import com.sun.star.lang.XMultiComponentFactory;
import com.sun.star.lang.XSingleComponentFactory;
import com.sun.star.lib.TestBed;
import com.sun.star.lib.uno.typeinfo.MethodTypeInfo;
import com.sun.star.lib.uno.typeinfo.TypeInfo;
import com.sun.star.loader.XImplementationLoader;
import com.sun.star.uno.UnoRuntime;
import com.sun.star.uno.XComponentContext;
import com.sun.star.uno.XInterface;
import java.io.File;
import java.net.MalformedURLException;
import java.util.HashMap;
import java.util.Hashtable;
// In this test scenario, the Java server (see implementation of method
// notifyAccepting) has a remote bridge to the Java client and a local JNI
// bridge to a C++ com.sun.star.test.bridges.testequals.impl service. The C++
// service and the Java client are also connected via a remote bridge.
//
// The Java server gets two objects (INSTANCE1, INSTANCE2), once directly from
// the Java client via the remote bridge (proxies test1A, test2A), and once
// through the C++ service via the JNI bridge (proxies test1B, test2B).
// Exhaustive tests on the proxies' equals and hashCode methods are done.
public final class TestEquals {
// args[0] must be a file system path to a types.rdb,
// args[1] must be a file system path to a services.rdb
public static void main(String[] args) throws Exception {
TestBed t = new TestBed();
boolean success = t.execute(
new Provider(t, toFileUrl(args[0]), toFileUrl(args[1])), true,
Client.class, 0);
System.out.println("success? " + success);
System.exit(success ? 0 : 1);
}
private static String toFileUrl(String path) throws MalformedURLException {
String url = new File(path).toURL().toString();
String prefix = "file:/";
if (url.startsWith(prefix)
&& (url.length() == prefix.length()
|| url.charAt(prefix.length()) != '/')) {
url = url.substring(0, prefix.length()) + "//"
+ url.substring(prefix.length());
}
return url;
}
public static final class Client extends TestBed.Client {
public static void main(String[] args) {
new Client().execute();
}
protected boolean run(XComponentContext context) throws Throwable {
XTestFrame f = UnoRuntime.queryInterface(
XTestFrame.class, getBridge(context).getInstance("TestFrame"));
XAcceptor acceptor = Acceptor.create(context);
XBridgeFactory factory = UnoRuntime.queryInterface(
XBridgeFactory.class,
context.getServiceManager().createInstanceWithContext(
"com.sun.star.bridge.BridgeFactory", context));
System.out.println("Client, 2nd connection: Accepting...");
XInstanceProvider prov = new Provider();
f.notifyAccepting(new Done(), prov.getInstance(INSTANCE1),
prov.getInstance(INSTANCE2));
XConnection connection = acceptor.accept(CONNECTION_DESCRIPTION);
System.out.println("Client, 2nd connection: ...connected...");
XBridge bridge2 = factory.createBridge(
"", PROTOCOL_DESCRIPTION, connection, prov);
System.out.println("Client, 2nd connection: ...bridged.");
synchronized (lock) {
while (!done) {
lock.wait();
}
}
return true;
}
private static final class Provider implements XInstanceProvider {
public Object getInstance(String instanceName) {
synchronized (map) {
Object o = map.get(instanceName);
if (o == null) {
o = new XDerived() {};
map.put(instanceName, o);
}
return o;
}
}
private final HashMap map = new HashMap();
}
private final class Done implements XDone {
public void notifyDone() {
synchronized (lock) {
done = true;
lock.notifyAll();
}
}
}
private final Object lock = new Object();
private boolean done = false;
}
private static final class Provider implements XInstanceProvider {
public Provider(TestBed testBed, String unoTypes, String unoServices) {
this.testBed = testBed;
this.unoTypes = unoTypes;
this.unoServices = unoServices;
}
public Object getInstance(String instanceName) {
return new XTestFrame() {
public void notifyAccepting(
final XDone done, final Object object1,
final Object object2)
{
new Thread() {
public void run() {
try {
Object test1Aa = object1;
XBase test1Ab = UnoRuntime.queryInterface(
XBase.class, test1Aa);
XDerived test1Ac =
UnoRuntime.queryInterface(
XDerived.class, test1Aa);
Object test2Aa = object2;
XBase test2Ab = UnoRuntime.queryInterface(
XBase.class, test2Aa);
XDerived test2Ac =
UnoRuntime.queryInterface(
XDerived.class, test2Aa);
Hashtable params = new Hashtable();
params.put("UNO_TYPES", unoTypes);
params.put("UNO_SERVICES", unoServices);
XComponentContext context = Bootstrap.
defaultBootstrap_InitialComponentContext(
null, params);
XMultiComponentFactory factory
= context.getServiceManager();
XImplementationLoader loader =
UnoRuntime.queryInterface(
XImplementationLoader.class,
factory.createInstanceWithContext(
"com.sun.star.loader."
+ "SharedLibrary",
context));
XSingleComponentFactory factory2 =
UnoRuntime.queryInterface(
XSingleComponentFactory.class,
loader.activate(
"com.sun.star.test.bridges."
+ "testequals.impl",
"", "../lib/testequals.uno",
null));
XTestInterface test =
UnoRuntime.queryInterface(
XTestInterface.class,
factory2.createInstanceWithContext(
context));
// allow client to start accepting:
Thread.sleep(3000);
test.connect(
CONNECTION_DESCRIPTION,
PROTOCOL_DESCRIPTION);
Object test1Ba = test.get(INSTANCE1);
XBase test1Bb = UnoRuntime.queryInterface(
XBase.class, test1Ba);
XDerived test1Bc =
UnoRuntime.queryInterface(
XDerived.class, test1Ba);
Object test2Ba = test.get(INSTANCE2);
XBase test2Bb = UnoRuntime.queryInterface(
XBase.class, test2Ba);
XDerived test2Bc =
UnoRuntime.queryInterface(
XDerived.class, test2Ba);
boolean success = true;
success &= test(
"UnoRumtime.areSame(null, null)",
UnoRuntime.areSame(null, null));
success &= test(
"!UnoRumtime.areSame(null, test1Aa)",
!UnoRuntime.areSame(null, test1Aa));
success &= test(
"!UnoRumtime.areSame(null, test1Ab)",
!UnoRuntime.areSame(null, test1Ab));
success &= test(
"!UnoRumtime.areSame(null, test1Ac)",
!UnoRuntime.areSame(null, test1Ac));
success &= test(
"!UnoRumtime.areSame(null, test1Ba)",
!UnoRuntime.areSame(null, test1Ba));
success &= test(
"!UnoRumtime.areSame(null, test1Bb)",
!UnoRuntime.areSame(null, test1Bb));
success &= test(
"!UnoRumtime.areSame(null, test1Bc)",
!UnoRuntime.areSame(null, test1Bc));
success &= test(
"!UnoRumtime.areSame(null, test2Aa)",
!UnoRuntime.areSame(null, test2Aa));
success &= test(
"!UnoRumtime.areSame(null, test2Ab)",
!UnoRuntime.areSame(null, test2Ab));
success &= test(
"!UnoRumtime.areSame(null, test2Ac)",
!UnoRuntime.areSame(null, test2Ac));
success &= test(
"!UnoRumtime.areSame(null, test2Ba)",
!UnoRuntime.areSame(null, test2Ba));
success &= test(
"!UnoRumtime.areSame(null, test2Bb)",
!UnoRuntime.areSame(null, test2Bb));
success &= test(
"!UnoRumtime.areSame(null, test2Bc)",
!UnoRuntime.areSame(null, test2Bc));
success &= test(
"!test1Aa.equals(null)",
!test1Aa.equals(null));
success &= test(
"!UnoRuntime.areSame(test1Aa, null)",
!UnoRuntime.areSame(test1Aa, null));
success &= test(
"test1Aa.equals(test1Aa)",
test1Aa.equals(test1Aa));
success &= test(
"UnoRuntime.areSame(test1Aa, test1Aa)",
UnoRuntime.areSame(test1Aa, test1Aa));
success &= test(
"test1Aa.equals(test1Ab)",
test1Aa.equals(test1Ab));
success &= test(
"UnoRuntime.areSame(test1Aa, test1Ab)",
UnoRuntime.areSame(test1Aa, test1Ab));
success &= test(
"test1Aa.equals(test1Ac)",
test1Aa.equals(test1Ac));
success &= test(
"UnoRuntime.areSame(test1Aa, test1Ac)",
UnoRuntime.areSame(test1Aa, test1Ac));
success &= test(
"test1Aa.equals(test1Ba)",
test1Aa.equals(test1Ba));
success &= test(
"UnoRuntime.areSame(test1Aa, test1Ba)",
UnoRuntime.areSame(test1Aa, test1Ba));
success &= test(
"test1Aa.equals(test1Bb)",
test1Aa.equals(test1Bb));
success &= test(
"UnoRuntime.areSame(test1Aa, test1Bb)",
UnoRuntime.areSame(test1Aa, test1Bb));
success &= test(
"test1Aa.equals(test1Bc)",
test1Aa.equals(test1Bc));
success &= test(
"UnoRuntime.areSame(test1Aa, test1Bc)",
UnoRuntime.areSame(test1Aa, test1Bc));
success &= test(
"!test1Aa.equals(test2Aa)",
!test1Aa.equals(test2Aa));
success &= test(
"!UnoRuntime.areSame(test1Aa, test2Aa)",
!UnoRuntime.areSame(test1Aa, test2Aa));
success &= test(
"!test1Aa.equals(test2Ab)",
!test1Aa.equals(test2Ab));
success &= test(
"!UnoRuntime.areSame(test1Aa, test2Ab)",
!UnoRuntime.areSame(test1Aa, test2Ab));
success &= test(
"!test1Aa.equals(test2Ac)",
!test1Aa.equals(test2Ac));
success &= test(
"!UnoRuntime.areSame(test1Aa, test2Ac)",
!UnoRuntime.areSame(test1Aa, test2Ac));
success &= test(
"!test1Aa.equals(test2Ba)",
!test1Aa.equals(test2Ba));
success &= test(
"!UnoRuntime.areSame(test1Aa, test2Ba)",
!UnoRuntime.areSame(test1Aa, test2Ba));
success &= test(
"!test1Aa.equals(test2Bb)",
!test1Aa.equals(test2Bb));
success &= test(
"!UnoRuntime.areSame(test1Aa, test2Bb)",
!UnoRuntime.areSame(test1Aa, test2Bb));
success &= test(
"!test1Aa.equals(test2Bc)",
!test1Aa.equals(test2Bc));
success &= test(
"!UnoRuntime.areSame(test1Aa, test2Bc)",
!UnoRuntime.areSame(test1Aa, test2Bc));
success &= test(
"!test1Ab.equals(null)",
!test1Ab.equals(null));
success &= test(
"!UnoRuntime.areSame(test1Ab, null)",
!UnoRuntime.areSame(test1Ab, null));
success &= test(
"test1Ab.equals(test1Aa)",
test1Ab.equals(test1Aa));
success &= test(
"UnoRuntime.areSame(test1Ab, test1Aa)",
UnoRuntime.areSame(test1Ab, test1Aa));
success &= test(
"test1Ab.equals(test1Ab)",
test1Ab.equals(test1Ab));
success &= test(
"UnoRuntime.areSame(test1Ab, test1Ab)",
UnoRuntime.areSame(test1Ab, test1Ab));
success &= test(
"test1Ab.equals(test1Ac)",
test1Ab.equals(test1Ac));
success &= test(
"UnoRuntime.areSame(test1Ab, test1Ac)",
UnoRuntime.areSame(test1Ab, test1Ac));
success &= test(
"test1Ab.equals(test1Ba)",
test1Ab.equals(test1Ba));
success &= test(
"UnoRuntime.areSame(test1Ab, test1Ba)",
UnoRuntime.areSame(test1Ab, test1Ba));
success &= test(
"test1Ab.equals(test1Bb)",
test1Ab.equals(test1Bb));
success &= test(
"UnoRuntime.areSame(test1Ab, test1Bb)",
UnoRuntime.areSame(test1Ab, test1Bb));
success &= test(
"test1Ab.equals(test1Bc)",
test1Ab.equals(test1Bc));
success &= test(
"UnoRuntime.areSame(test1Ab, test1Bc)",
UnoRuntime.areSame(test1Ab, test1Bc));
success &= test(
"!test1Ab.equals(test2Aa)",
!test1Ab.equals(test2Aa));
success &= test(
"!UnoRuntime.areSame(test1Ab, test2Aa)",
!UnoRuntime.areSame(test1Ab, test2Aa));
success &= test(
"!test1Ab.equals(test2Ab)",
!test1Ab.equals(test2Ab));
success &= test(
"!UnoRuntime.areSame(test1Ab, test2Ab)",
!UnoRuntime.areSame(test1Ab, test2Ab));
success &= test(
"!test1Ab.equals(test2Ac)",
!test1Ab.equals(test2Ac));
success &= test(
"!UnoRuntime.areSame(test1Ab, test2Ac)",
!UnoRuntime.areSame(test1Ab, test2Ac));
success &= test(
"!test1Ab.equals(test2Ba)",
!test1Ab.equals(test2Ba));
success &= test(
"!UnoRuntime.areSame(test1Ab, test2Ba)",
!UnoRuntime.areSame(test1Ab, test2Ba));
success &= test(
"!test1Ab.equals(test2Bb)",
!test1Ab.equals(test2Bb));
success &= test(
"!UnoRuntime.areSame(test1Ab, test2Bb)",
!UnoRuntime.areSame(test1Ab, test2Bb));
success &= test(
"!test1Ab.equals(test2Bc)",
!test1Ab.equals(test2Bc));
success &= test(
"!UnoRuntime.areSame(test1Ab, test2Bc)",
!UnoRuntime.areSame(test1Ab, test2Bc));
success &= test(
"!test1Ac.equals(null)",
!test1Ac.equals(null));
success &= test(
"!UnoRuntime.areSame(test1Ac, null)",
!UnoRuntime.areSame(test1Ac, null));
success &= test(
"test1Ac.equals(test1Aa)",
test1Ac.equals(test1Aa));
success &= test(
"UnoRuntime.areSame(test1Ac, test1Aa)",
UnoRuntime.areSame(test1Ac, test1Aa));
success &= test(
"test1Ac.equals(test1Ab)",
test1Ac.equals(test1Ab));
success &= test(
"UnoRuntime.areSame(test1Ac, test1Ab)",
UnoRuntime.areSame(test1Ac, test1Ab));
success &= test(
"test1Ac.equals(test1Ac)",
test1Ac.equals(test1Ac));
success &= test(
"UnoRuntime.areSame(test1Ac, test1Ac)",
UnoRuntime.areSame(test1Ac, test1Ac));
success &= test(
"test1Ac.equals(test1Ba)",
test1Ac.equals(test1Ba));
success &= test(
"UnoRuntime.areSame(test1Ac, test1Ba)",
UnoRuntime.areSame(test1Ac, test1Ba));
success &= test(
"test1Ac.equals(test1Bb)",
test1Ac.equals(test1Bb));
success &= test(
"UnoRuntime.areSame(test1Ac, test1Bb)",
UnoRuntime.areSame(test1Ac, test1Bb));
success &= test(
"test1Ac.equals(test1Bc)",
test1Ac.equals(test1Bc));
success &= test(
"UnoRuntime.areSame(test1Ac, test1Bc)",
UnoRuntime.areSame(test1Ac, test1Bc));
success &= test(
"!test1Ac.equals(test2Aa)",
!test1Ac.equals(test2Aa));
success &= test(
"!UnoRuntime.areSame(test1Ac, test2Aa)",
!UnoRuntime.areSame(test1Ac, test2Aa));
success &= test(
"!test1Ac.equals(test2Ab)",
!test1Ac.equals(test2Ab));
success &= test(
"!UnoRuntime.areSame(test1Ac, test2Ab)",
!UnoRuntime.areSame(test1Ac, test2Ab));
success &= test(
"!test1Ac.equals(test2Ac)",
!test1Ac.equals(test2Ac));
success &= test(
"!UnoRuntime.areSame(test1Ac, test2Ac)",
!UnoRuntime.areSame(test1Ac, test2Ac));
success &= test(
"!test1Ac.equals(test2Ba)",
!test1Ac.equals(test2Ba));
success &= test(
"!UnoRuntime.areSame(test1Ac, test2Ba)",
!UnoRuntime.areSame(test1Ac, test2Ba));
success &= test(
"!test1Ac.equals(test2Bb)",
!test1Ac.equals(test2Bb));
success &= test(
"!UnoRuntime.areSame(test1Ac, test2Bb)",
!UnoRuntime.areSame(test1Ac, test2Bb));
success &= test(
"!test1Ac.equals(test2Bc)",
!test1Ac.equals(test2Bc));
success &= test(
"!UnoRuntime.areSame(test1Ac, test2Bc)",
!UnoRuntime.areSame(test1Ac, test2Bc));
success &= test(
"!test1Ba.equals(null)",
!test1Ba.equals(null));
success &= test(
"!UnoRuntime.areSame(test1Ba, null)",
!UnoRuntime.areSame(test1Ba, null));
success &= test(
"test1Ba.equals(test1Aa)",
test1Ba.equals(test1Aa));
success &= test(
"UnoRuntime.areSame(test1Ba, test1Aa)",
UnoRuntime.areSame(test1Ba, test1Aa));
success &= test(
"test1Ba.equals(test1Ab)",
test1Ba.equals(test1Ab));
success &= test(
"UnoRuntime.areSame(test1Ba, test1Ab)",
UnoRuntime.areSame(test1Ba, test1Ab));
success &= test(
"test1Ba.equals(test1Ac)",
test1Ba.equals(test1Ac));
success &= test(
"UnoRuntime.areSame(test1Ba, test1Ac)",
UnoRuntime.areSame(test1Ba, test1Ac));
success &= test(
"test1Ba.equals(test1Ba)",
test1Ba.equals(test1Ba));
success &= test(
"UnoRuntime.areSame(test1Ba, test1Ba)",
UnoRuntime.areSame(test1Ba, test1Ba));
success &= test(
"test1Ba.equals(test1Bb)",
test1Ba.equals(test1Bb));
success &= test(
"UnoRuntime.areSame(test1Ba, test1Bb)",
UnoRuntime.areSame(test1Ba, test1Bb));
success &= test(
"test1Ba.equals(test1Bc)",
test1Ba.equals(test1Bc));
success &= test(
"UnoRuntime.areSame(test1Ba, test1Bc)",
UnoRuntime.areSame(test1Ba, test1Bc));
success &= test(
"!test1Ba.equals(test2Aa)",
!test1Ba.equals(test2Aa));
success &= test(
"!UnoRuntime.areSame(test1Ba, test2Aa)",
!UnoRuntime.areSame(test1Ba, test2Aa));
success &= test(
"!test1Ba.equals(test2Ab)",
!test1Ba.equals(test2Ab));
success &= test(
"!UnoRuntime.areSame(test1Ba, test2Ab)",
!UnoRuntime.areSame(test1Ba, test2Ab));
success &= test(
"!test1Ba.equals(test2Ac)",
!test1Ba.equals(test2Ac));
success &= test(
"!UnoRuntime.areSame(test1Ba, test2Ac)",
!UnoRuntime.areSame(test1Ba, test2Ac));
success &= test(
"!test1Ba.equals(test2Ba)",
!test1Ba.equals(test2Ba));
success &= test(
"!UnoRuntime.areSame(test1Ba, test2Ba)",
!UnoRuntime.areSame(test1Ba, test2Ba));
success &= test(
"!test1Ba.equals(test2Bb)",
!test1Ba.equals(test2Bb));
success &= test(
"!UnoRuntime.areSame(test1Ba, test2Bb)",
!UnoRuntime.areSame(test1Ba, test2Bb));
success &= test(
"!test1Ba.equals(test2Bc)",
!test1Ba.equals(test2Bc));
success &= test(
"!UnoRuntime.areSame(test1Ba, test2Bc)",
!UnoRuntime.areSame(test1Ba, test2Bc));
success &= test(
"!test1Bb.equals(null)",
!test1Bb.equals(null));
success &= test(
"!UnoRuntime.areSame(test1Bb, null)",
!UnoRuntime.areSame(test1Bb, null));
success &= test(
"test1Bb.equals(test1Aa)",
test1Bb.equals(test1Aa));
success &= test(
"UnoRuntime.areSame(test1Bb, test1Aa)",
UnoRuntime.areSame(test1Bb, test1Aa));
success &= test(
"test1Bb.equals(test1Ab)",
test1Bb.equals(test1Ab));
success &= test(
"UnoRuntime.areSame(test1Bb, test1Ab)",
UnoRuntime.areSame(test1Bb, test1Ab));
success &= test(
"test1Bb.equals(test1Ac)",
test1Bb.equals(test1Ac));
success &= test(
"UnoRuntime.areSame(test1Bb, test1Ac)",
UnoRuntime.areSame(test1Bb, test1Ac));
success &= test(
"test1Bb.equals(test1Ba)",
test1Bb.equals(test1Ba));
success &= test(
"UnoRuntime.areSame(test1Bb, test1Ba)",
UnoRuntime.areSame(test1Bb, test1Ba));
success &= test(
"test1Bb.equals(test1Bb)",
test1Bb.equals(test1Bb));
success &= test(
"UnoRuntime.areSame(test1Bb, test1Bb)",
UnoRuntime.areSame(test1Bb, test1Bb));
success &= test(
"test1Bb.equals(test1Bc)",
test1Bb.equals(test1Bc));
success &= test(
"UnoRuntime.areSame(test1Bb, test1Bc)",
UnoRuntime.areSame(test1Bb, test1Bc));
success &= test(
"!test1Bb.equals(test2Aa)",
!test1Bb.equals(test2Aa));
success &= test(
"!UnoRuntime.areSame(test1Bb, test2Aa)",
!UnoRuntime.areSame(test1Bb, test2Aa));
success &= test(
"!test1Bb.equals(test2Ab)",
!test1Bb.equals(test2Ab));
success &= test(
"!UnoRuntime.areSame(test1Bb, test2Ab)",
!UnoRuntime.areSame(test1Bb, test2Ab));
success &= test(
"!test1Bb.equals(test2Ac)",
!test1Bb.equals(test2Ac));
success &= test(
"!UnoRuntime.areSame(test1Bb, test2Ac)",
!UnoRuntime.areSame(test1Bb, test2Ac));
success &= test(
"!test1Bb.equals(test2Ba)",
!test1Bb.equals(test2Ba));
success &= test(
"!UnoRuntime.areSame(test1Bb, test2Ba)",
!UnoRuntime.areSame(test1Bb, test2Ba));
success &= test(
"!test1Bb.equals(test2Bb)",
!test1Bb.equals(test2Bb));
success &= test(
"!UnoRuntime.areSame(test1Bb, test2Bb)",
!UnoRuntime.areSame(test1Bb, test2Bb));
success &= test(
"!test1Bb.equals(test2Bc)",
!test1Bb.equals(test2Bc));
success &= test(
"!UnoRuntime.areSame(test1Bb, test2Bc)",
!UnoRuntime.areSame(test1Bb, test2Bc));
success &= test(
"!test1Bc.equals(null)",
!test1Bc.equals(null));
success &= test(
"!UnoRuntime.areSame(test1Bc, null)",
!UnoRuntime.areSame(test1Bc, null));
success &= test(
"test1Bc.equals(test1Aa)",
test1Bc.equals(test1Aa));
success &= test(
"UnoRuntime.areSame(test1Bc, test1Aa)",
UnoRuntime.areSame(test1Bc, test1Aa));
success &= test(
"test1Bc.equals(test1Ab)",
test1Bc.equals(test1Ab));
success &= test(
"UnoRuntime.areSame(test1Bc, test1Ab)",
UnoRuntime.areSame(test1Bc, test1Ab));
success &= test(
"test1Bc.equals(test1Ac)",
test1Bc.equals(test1Ac));
success &= test(
"UnoRuntime.areSame(test1Bc, test1Ac)",
UnoRuntime.areSame(test1Bc, test1Ac));
success &= test(
"test1Bc.equals(test1Ba)",
test1Bc.equals(test1Ba));
success &= test(
"UnoRuntime.areSame(test1Bc, test1Ba)",
UnoRuntime.areSame(test1Bc, test1Ba));
success &= test(
"test1Bc.equals(test1Bb)",
test1Bc.equals(test1Bb));
success &= test(
"UnoRuntime.areSame(test1Bc, test1Bb)",
UnoRuntime.areSame(test1Bc, test1Bb));
success &= test(
"test1Bc.equals(test1Bc)",
test1Bc.equals(test1Bc));
success &= test(
"UnoRuntime.areSame(test1Bc, test1Bc)",
UnoRuntime.areSame(test1Bc, test1Bc));
success &= test(
"!test1Bc.equals(test2Aa)",
!test1Bc.equals(test2Aa));
success &= test(
"!UnoRuntime.areSame(test1Bc, test2Aa)",
!UnoRuntime.areSame(test1Bc, test2Aa));
success &= test(
"!test1Bc.equals(test2Ab)",
!test1Bc.equals(test2Ab));
success &= test(
"!UnoRuntime.areSame(test1Bc, test2Ab)",
!UnoRuntime.areSame(test1Bc, test2Ab));
success &= test(
"!test1Bc.equals(test2Ac)",
!test1Bc.equals(test2Ac));
success &= test(
"!UnoRuntime.areSame(test1Bc, test2Ac)",
!UnoRuntime.areSame(test1Bc, test2Ac));
success &= test(
"!test1Bc.equals(test2Ba)",
!test1Bc.equals(test2Ba));
success &= test(
"!UnoRuntime.areSame(test1Bc, test2Ba)",
!UnoRuntime.areSame(test1Bc, test2Ba));
success &= test(
"!test1Bc.equals(test2Bb)",
!test1Bc.equals(test2Bb));
success &= test(
"!UnoRuntime.areSame(test1Bc, test2Bb)",
!UnoRuntime.areSame(test1Bc, test2Bb));
success &= test(
"!test1Bc.equals(test2Bc)",
!test1Bc.equals(test2Bc));
success &= test(
"!UnoRuntime.areSame(test1Bc, test2Bc)",
!UnoRuntime.areSame(test1Bc, test2Bc));
success &= test(
"!test2Aa.equals(null)",
!test2Aa.equals(null));
success &= test(
"!UnoRuntime.areSame(test2Aa, null)",
!UnoRuntime.areSame(test2Aa, null));
success &= test(
"!test2Aa.equals(test1Aa)",
!test2Aa.equals(test1Aa));
success &= test(
"!UnoRuntime.areSame(test2Aa, test1Aa)",
!UnoRuntime.areSame(test2Aa, test1Aa));
success &= test(
"!test2Aa.equals(test1Ab)",
!test2Aa.equals(test1Ab));
success &= test(
"!UnoRuntime.areSame(test2Aa, test1Ab)",
!UnoRuntime.areSame(test2Aa, test1Ab));
success &= test(
"!test2Aa.equals(test1Ac)",
!test2Aa.equals(test1Ac));
success &= test(
"!UnoRuntime.areSame(test2Aa, test1Ac)",
!UnoRuntime.areSame(test2Aa, test1Ac));
success &= test(
"!test2Aa.equals(test1Ba)",
!test2Aa.equals(test1Ba));
success &= test(
"!UnoRuntime.areSame(test2Aa, test1Ba)",
!UnoRuntime.areSame(test2Aa, test1Ba));
success &= test(
"!test2Aa.equals(test1Bb)",
!test2Aa.equals(test1Bb));
success &= test(
"!UnoRuntime.areSame(test2Aa, test1Bb)",
!UnoRuntime.areSame(test2Aa, test1Bb));
success &= test(
"!test2Aa.equals(test1Bc)",
!test2Aa.equals(test1Bc));
success &= test(
"!UnoRuntime.areSame(test2Aa, test1Bc)",
!UnoRuntime.areSame(test2Aa, test1Bc));
success &= test(
"test2Aa.equals(test2Aa)",
test2Aa.equals(test2Aa));
success &= test(
"UnoRuntime.areSame(test2Aa, test2Aa)",
UnoRuntime.areSame(test2Aa, test2Aa));
success &= test(
"test2Aa.equals(test2Ab)",
test2Aa.equals(test2Ab));
success &= test(
"UnoRuntime.areSame(test2Aa, test2Ab)",
UnoRuntime.areSame(test2Aa, test2Ab));
success &= test(
"test2Aa.equals(test2Ac)",
test2Aa.equals(test2Ac));
success &= test(
"UnoRuntime.areSame(test2Aa, test2Ac)",
UnoRuntime.areSame(test2Aa, test2Ac));
success &= test(
"test2Aa.equals(test2Ba)",
test2Aa.equals(test2Ba));
success &= test(
"UnoRuntime.areSame(test2Aa, test2Ba)",
UnoRuntime.areSame(test2Aa, test2Ba));
success &= test(
"test2Aa.equals(test2Bb)",
test2Aa.equals(test2Bb));
success &= test(
"UnoRuntime.areSame(test2Aa, test2Bb)",
UnoRuntime.areSame(test2Aa, test2Bb));
success &= test(
"test2Aa.equals(test2Bc)",
test2Aa.equals(test2Bc));
success &= test(
"UnoRuntime.areSame(test2Aa, test2Bc)",
UnoRuntime.areSame(test2Aa, test2Bc));
success &= test(
"!test2Ab.equals(null)",
!test2Ab.equals(null));
success &= test(
"!UnoRuntime.areSame(test2Ab, null)",
!UnoRuntime.areSame(test2Ab, null));
success &= test(
"!test2Ab.equals(test1Aa)",
!test2Ab.equals(test1Aa));
success &= test(
"!UnoRuntime.areSame(test2Ab, test1Aa)",
!UnoRuntime.areSame(test2Ab, test1Aa));
success &= test(
"!test2Ab.equals(test1Ab)",
!test2Ab.equals(test1Ab));
success &= test(
"!UnoRuntime.areSame(test2Ab, test1Ab)",
!UnoRuntime.areSame(test2Ab, test1Ab));
success &= test(
"!test2Ab.equals(test1Ac)",
!test2Ab.equals(test1Ac));
success &= test(
"!UnoRuntime.areSame(test2Ab, test1Ac)",
!UnoRuntime.areSame(test2Ab, test1Ac));
success &= test(
"!test2Ab.equals(test1Ba)",
!test2Ab.equals(test1Ba));
success &= test(
"!UnoRuntime.areSame(test2Ab, test1Ba)",
!UnoRuntime.areSame(test2Ab, test1Ba));
success &= test(
"!test2Ab.equals(test1Bb)",
!test2Ab.equals(test1Bb));
success &= test(
"!UnoRuntime.areSame(test2Ab, test1Bb)",
!UnoRuntime.areSame(test2Ab, test1Bb));
success &= test(
"!test2Ab.equals(test1Bc)",
!test2Ab.equals(test1Bc));
success &= test(
"!UnoRuntime.areSame(test2Ab, test1Bc)",
!UnoRuntime.areSame(test2Ab, test1Bc));
success &= test(
"test2Ab.equals(test2Aa)",
test2Ab.equals(test2Aa));
success &= test(
"UnoRuntime.areSame(test2Ab, test2Aa)",
UnoRuntime.areSame(test2Ab, test2Aa));
success &= test(
"test2Ab.equals(test2Ab)",
test2Ab.equals(test2Ab));
success &= test(
"UnoRuntime.areSame(test2Ab, test2Ab)",
UnoRuntime.areSame(test2Ab, test2Ab));
success &= test(
"test2Ab.equals(test2Ac)",
test2Ab.equals(test2Ac));
success &= test(
"UnoRuntime.areSame(test2Ab, test2Ac)",
UnoRuntime.areSame(test2Ab, test2Ac));
success &= test(
"test2Ab.equals(test2Ba)",
test2Ab.equals(test2Ba));
success &= test(
"UnoRuntime.areSame(test2Ab, test2Ba)",
UnoRuntime.areSame(test2Ab, test2Ba));
success &= test(
"test2Ab.equals(test2Bb)",
test2Ab.equals(test2Bb));
success &= test(
"UnoRuntime.areSame(test2Ab, test2Bb)",
UnoRuntime.areSame(test2Ab, test2Bb));
success &= test(
"test2Ab.equals(test2Bc)",
test2Ab.equals(test2Bc));
success &= test(
"UnoRuntime.areSame(test2Ab, test2Bc)",
UnoRuntime.areSame(test2Ab, test2Bc));
success &= test(
"!test2Ac.equals(null)",
!test2Ac.equals(null));
success &= test(
"!UnoRuntime.areSame(test2Ac, null)",
!UnoRuntime.areSame(test2Ac, null));
success &= test(
"!test2Ac.equals(test1Aa)",
!test2Ac.equals(test1Aa));
success &= test(
"!UnoRuntime.areSame(test2Ac, test1Aa)",
!UnoRuntime.areSame(test2Ac, test1Aa));
success &= test(
"!test2Ac.equals(test1Ab)",
!test2Ac.equals(test1Ab));
success &= test(
"!UnoRuntime.areSame(test2Ac, test1Ab)",
!UnoRuntime.areSame(test2Ac, test1Ab));
success &= test(
"!test2Ac.equals(test1Ac)",
!test2Ac.equals(test1Ac));
success &= test(
"!UnoRuntime.areSame(test2Ac, test1Ac)",
!UnoRuntime.areSame(test2Ac, test1Ac));
success &= test(
"!test2Ac.equals(test1Ba)",
!test2Ac.equals(test1Ba));
success &= test(
"!UnoRuntime.areSame(test2Ac, test1Ba)",
!UnoRuntime.areSame(test2Ac, test1Ba));
success &= test(
"!test2Ac.equals(test1Bb)",
!test2Ac.equals(test1Bb));
success &= test(
"!UnoRuntime.areSame(test2Ac, test1Bb)",
!UnoRuntime.areSame(test2Ac, test1Bb));
success &= test(
"!test2Ac.equals(test1Bc)",
!test2Ac.equals(test1Bc));
success &= test(
"!UnoRuntime.areSame(test2Ac, test1Bc)",
!UnoRuntime.areSame(test2Ac, test1Bc));
success &= test(
"test2Ac.equals(test2Aa)",
test2Ac.equals(test2Aa));
success &= test(
"UnoRuntime.areSame(test2Ac, test2Aa)",
UnoRuntime.areSame(test2Ac, test2Aa));
success &= test(
"test2Ac.equals(test2Ab)",
test2Ac.equals(test2Ab));
success &= test(
"UnoRuntime.areSame(test2Ac, test2Ab)",
UnoRuntime.areSame(test2Ac, test2Ab));
success &= test(
"test2Ac.equals(test2Ac)",
test2Ac.equals(test2Ac));
success &= test(
"UnoRuntime.areSame(test2Ac, test2Ac)",
UnoRuntime.areSame(test2Ac, test2Ac));
success &= test(
"test2Ac.equals(test2Ba)",
test2Ac.equals(test2Ba));
success &= test(
"UnoRuntime.areSame(test2Ac, test2Ba)",
UnoRuntime.areSame(test2Ac, test2Ba));
success &= test(
"test2Ac.equals(test2Bb)",
test2Ac.equals(test2Bb));
success &= test(
"UnoRuntime.areSame(test2Ac, test2Bb)",
UnoRuntime.areSame(test2Ac, test2Bb));
success &= test(
"test2Ac.equals(test2Bc)",
test2Ac.equals(test2Bc));
success &= test(
"UnoRuntime.areSame(test2Ac, test2Bc)",
UnoRuntime.areSame(test2Ac, test2Bc));
success &= test(
"!test2Ba.equals(null)",
!test2Ba.equals(null));
success &= test(
"!UnoRuntime.areSame(test2Ba, null)",
!UnoRuntime.areSame(test2Ba, null));
success &= test(
"!test2Ba.equals(test1Aa)",
!test2Ba.equals(test1Aa));
success &= test(
"!UnoRuntime.areSame(test2Ba, test1Aa)",
!UnoRuntime.areSame(test2Ba, test1Aa));
success &= test(
"!test2Ba.equals(test1Ab)",
!test2Ba.equals(test1Ab));
success &= test(
"!UnoRuntime.areSame(test2Ba, test1Ab)",
!UnoRuntime.areSame(test2Ba, test1Ab));
success &= test(
"!test2Ba.equals(test1Ac)",
!test2Ba.equals(test1Ac));
success &= test(
"!UnoRuntime.areSame(test2Ba, test1Ac)",
!UnoRuntime.areSame(test2Ba, test1Ac));
success &= test(
"!test2Ba.equals(test1Ba)",
!test2Ba.equals(test1Ba));
success &= test(
"!UnoRuntime.areSame(test2Ba, test1Ba)",
!UnoRuntime.areSame(test2Ba, test1Ba));
success &= test(
"!test2Ba.equals(test1Bb)",
!test2Ba.equals(test1Bb));
success &= test(
"!UnoRuntime.areSame(test2Ba, test1Bb)",
!UnoRuntime.areSame(test2Ba, test1Bb));
success &= test(
"!test2Ba.equals(test1Bc)",
!test2Ba.equals(test1Bc));
success &= test(
"!UnoRuntime.areSame(test2Ba, test1Bc)",
!UnoRuntime.areSame(test2Ba, test1Bc));
success &= test(
"test2Ba.equals(test2Aa)",
test2Ba.equals(test2Aa));
success &= test(
"UnoRuntime.areSame(test2Ba, test2Aa)",
UnoRuntime.areSame(test2Ba, test2Aa));
success &= test(
"test2Ba.equals(test2Ab)",
test2Ba.equals(test2Ab));
success &= test(
"UnoRuntime.areSame(test2Ba, test2Ab)",
UnoRuntime.areSame(test2Ba, test2Ab));
success &= test(
"test2Ba.equals(test2Ac)",
test2Ba.equals(test2Ac));
success &= test(
"UnoRuntime.areSame(test2Ba, test2Ac)",
UnoRuntime.areSame(test2Ba, test2Ac));
success &= test(
"test2Ba.equals(test2Ba)",
test2Ba.equals(test2Ba));
success &= test(
"UnoRuntime.areSame(test2Ba, test2Ba)",
UnoRuntime.areSame(test2Ba, test2Ba));
success &= test(
"test2Ba.equals(test2Bb)",
test2Ba.equals(test2Bb));
success &= test(
"UnoRuntime.areSame(test2Ba, test2Bb)",
UnoRuntime.areSame(test2Ba, test2Bb));
success &= test(
"test2Ba.equals(test2Bc)",
test2Ba.equals(test2Bc));
success &= test(
"UnoRuntime.areSame(test2Ba, test2Bc)",
UnoRuntime.areSame(test2Ba, test2Bc));
success &= test(
"!test2Bb.equals(null)",
!test2Bb.equals(null));
success &= test(
"!UnoRuntime.areSame(test2Bb, null)",
!UnoRuntime.areSame(test2Bb, null));
success &= test(
"!test2Bb.equals(test1Aa)",
!test2Bb.equals(test1Aa));
success &= test(
"!UnoRuntime.areSame(test2Bb, test1Aa)",
!UnoRuntime.areSame(test2Bb, test1Aa));
success &= test(
"!test2Bb.equals(test1Ab)",
!test2Bb.equals(test1Ab));
success &= test(
"!UnoRuntime.areSame(test2Bb, test1Ab)",
!UnoRuntime.areSame(test2Bb, test1Ab));
success &= test(
"!test2Bb.equals(test1Ac)",
!test2Bb.equals(test1Ac));
success &= test(
"!UnoRuntime.areSame(test2Bb, test1Ac)",
!UnoRuntime.areSame(test2Bb, test1Ac));
success &= test(
"!test2Bb.equals(test1Ba)",
!test2Bb.equals(test1Ba));
success &= test(
"!UnoRuntime.areSame(test2Bb, test1Ba)",
!UnoRuntime.areSame(test2Bb, test1Ba));
success &= test(
"!test2Bb.equals(test1Bb)",
!test2Bb.equals(test1Bb));
success &= test(
"!UnoRuntime.areSame(test2Bb, test1Bb)",
!UnoRuntime.areSame(test2Bb, test1Bb));
success &= test(
"!test2Bb.equals(test1Bc)",
!test2Bb.equals(test1Bc));
success &= test(
"!UnoRuntime.areSame(test2Bb, test1Bc)",
!UnoRuntime.areSame(test2Bb, test1Bc));
success &= test(
"test2Bb.equals(test2Aa)",
test2Bb.equals(test2Aa));
success &= test(
"UnoRuntime.areSame(test2Bb, test2Aa)",
UnoRuntime.areSame(test2Bb, test2Aa));
success &= test(
"test2Bb.equals(test2Ab)",
test2Bb.equals(test2Ab));
success &= test(
"UnoRuntime.areSame(test2Bb, test2Ab)",
UnoRuntime.areSame(test2Bb, test2Ab));
success &= test(
"test2Bb.equals(test2Ac)",
test2Bb.equals(test2Ac));
success &= test(
"UnoRuntime.areSame(test2Bb, test2Ac)",
UnoRuntime.areSame(test2Bb, test2Ac));
success &= test(
"test2Bb.equals(test2Ba)",
test2Bb.equals(test2Ba));
success &= test(
"UnoRuntime.areSame(test2Bb, test2Ba)",
UnoRuntime.areSame(test2Bb, test2Ba));
success &= test(
"test2Bb.equals(test2Bb)",
test2Bb.equals(test2Bb));
success &= test(
"UnoRuntime.areSame(test2Bb, test2Bb)",
UnoRuntime.areSame(test2Bb, test2Bb));
success &= test(
"test2Bb.equals(test2Bc)",
test2Bb.equals(test2Bc));
success &= test(
"UnoRuntime.areSame(test2Bb, test2Bc)",
UnoRuntime.areSame(test2Bb, test2Bc));
success &= test(
"!test2Bc.equals(null)",
!test2Bc.equals(null));
success &= test(
"!UnoRuntime.areSame(test2Bc, null)",
!UnoRuntime.areSame(test2Bc, null));
success &= test(
"!test2Bc.equals(test1Aa)",
!test2Bc.equals(test1Aa));
success &= test(
"!UnoRuntime.areSame(test2Bc, test1Aa)",
!UnoRuntime.areSame(test2Bc, test1Aa));
success &= test(
"!test2Bc.equals(test1Ab)",
!test2Bc.equals(test1Ab));
success &= test(
"!UnoRuntime.areSame(test2Bc, test1Ab)",
!UnoRuntime.areSame(test2Bc, test1Ab));
success &= test(
"!test2Bc.equals(test1Ac)",
!test2Bc.equals(test1Ac));
success &= test(
"!UnoRuntime.areSame(test2Bc, test1Ac)",
!UnoRuntime.areSame(test2Bc, test1Ac));
success &= test(
"!test2Bc.equals(test1Ba)",
!test2Bc.equals(test1Ba));
success &= test(
"!UnoRuntime.areSame(test2Bc, test1Ba)",
!UnoRuntime.areSame(test2Bc, test1Ba));
success &= test(
"!test2Bc.equals(test1Bb)",
!test2Bc.equals(test1Bb));
success &= test(
"!UnoRuntime.areSame(test2Bc, test1Bb)",
!UnoRuntime.areSame(test2Bc, test1Bb));
success &= test(
"!test2Bc.equals(test1Bc)",
!test2Bc.equals(test1Bc));
success &= test(
"!UnoRuntime.areSame(test2Bc, test1Bc)",
!UnoRuntime.areSame(test2Bc, test1Bc));
success &= test(
"test2Bc.equals(test2Aa)",
test2Bc.equals(test2Aa));
success &= test(
"UnoRuntime.areSame(test2Bc, test2Aa)",
UnoRuntime.areSame(test2Bc, test2Aa));
success &= test(
"test2Bc.equals(test2Ab)",
test2Bc.equals(test2Ab));
success &= test(
"UnoRuntime.areSame(test2Bc, test2Ab)",
UnoRuntime.areSame(test2Bc, test2Ab));
success &= test(
"test2Bc.equals(test2Ac)",
test2Bc.equals(test2Ac));
success &= test(
"UnoRuntime.areSame(test2Bc, test2Ac)",
UnoRuntime.areSame(test2Bc, test2Ac));
success &= test(
"test2Bc.equals(test2Ba)",
test2Bc.equals(test2Ba));
success &= test(
"UnoRuntime.areSame(test2Bc, test2Ba)",
UnoRuntime.areSame(test2Bc, test2Ba));
success &= test(
"test2Bc.equals(test2Bb)",
test2Bc.equals(test2Bb));
success &= test(
"UnoRuntime.areSame(test2Bc, test2Bb)",
UnoRuntime.areSame(test2Bc, test2Bb));
success &= test(
"test2Bc.equals(test2Bc)",
test2Bc.equals(test2Bc));
success &= test(
"UnoRuntime.areSame(test2Bc, test2Bc)",
UnoRuntime.areSame(test2Bc, test2Bc));
success &= test(
"test1Aa.hashCode() == test1Ab.hashCode()",
test1Aa.hashCode()
== test1Ab.hashCode());
success &= test(
"test1Aa.hashCode()"
+ " == test1Ac.hashCode()",
test1Aa.hashCode()
== test1Ac.hashCode());
success &= test(
"test1Aa.hashCode()"
+ " == test1Ba.hashCode()",
test1Aa.hashCode()
== test1Ba.hashCode());
success &= test(
"test1Aa.hashCode()"
+ " == test1Bb.hashCode()",
test1Aa.hashCode()
== test1Bb.hashCode());
success &= test(
"test1Aa.hashCode()"
+ " == test1Bc.hashCode()",
test1Aa.hashCode()
== test1Bc.hashCode());
success &= test(
"test2Aa.hashCode()"
+ " == test2Ab.hashCode()",
test2Aa.hashCode()
== test2Ab.hashCode());
success &= test(
"test2Aa.hashCode()"
+ " == test2Ac.hashCode()",
test2Aa.hashCode()
== test2Ac.hashCode());
success &= test(
"test2Aa.hashCode()"
+ " == test2Ba.hashCode()",
test2Aa.hashCode()
== test2Ba.hashCode());
success &= test(
"test2Aa.hashCode()"
+ " == test2Bb.hashCode()",
test2Aa.hashCode()
== test2Bb.hashCode());
success &= test(
"test2Aa.hashCode()"
+ " == test2Bc.hashCode()",
test2Aa.hashCode()
== test2Bc.hashCode());
done.notifyDone();
testBed.serverDone(success);
} catch (Exception e) {
e.printStackTrace(System.err);
}
};
private /*static*/ boolean test(
String message, boolean condition)
{
if (!condition) {
System.err.println("Failed: " + message);
}
return condition;
}
}.start();
}
};
}
private final TestBed testBed;
private final String unoTypes;
private final String unoServices;
}
public interface XDone extends XInterface {
void notifyDone();
TypeInfo[] UNOTYPEINFO = { new MethodTypeInfo("notifyDone", 0, 0) };
}
public interface XTestFrame extends XInterface {
void notifyAccepting(XDone done, Object object1, Object object2);
TypeInfo[] UNOTYPEINFO = {
new MethodTypeInfo("notifyAccepting", 0, TypeInfo.ONEWAY) };
}
// Use "127.0.0.1" instead of "localhost", see #i32281#:
private static final String CONNECTION_DESCRIPTION
= "socket,host=127.0.0.1,port=12346";
private static final String PROTOCOL_DESCRIPTION = "urp";
private static final String INSTANCE1 = "instance1";
private static final String INSTANCE2 = "instance2";
}