#!/usr/bin/env python
# **********************************************************************
#
# Copyright (c) 2003-2007 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
#
# **********************************************************************
import Ice, Test, Twoways, TwowaysAMI
def test(b):
if not b:
raise RuntimeError('test assertion failed')
def allTests(communicator):
print "testing stringToProxy...",
ref = "test:default -p 12010 -t 10000"
base = communicator.stringToProxy(ref)
test(base)
print "ok"
print "testing ice_getCommunicator...",
test(base.ice_getCommunicator() == communicator)
print "ok"
print "testing proxy methods... ",
test(communicator.identityToString(base.ice_identity(communicator.stringToIdentity("other")).ice_getIdentity()) == "other");
test(base.ice_facet("facet").ice_getFacet() == "facet");
test(base.ice_adapterId("id").ice_getAdapterId() == "id");
test(base.ice_twoway().ice_isTwoway());
test(base.ice_oneway().ice_isOneway());
test(base.ice_batchOneway().ice_isBatchOneway());
test(base.ice_datagram().ice_isDatagram());
test(base.ice_batchDatagram().ice_isBatchDatagram());
test(base.ice_secure(True).ice_isSecure());
test(not base.ice_secure(False).ice_isSecure());
print "ok"
print "testing checked cast...",
cl = Test.MyClassPrx.checkedCast(base)
test(cl)
derived = Test.MyDerivedClassPrx.checkedCast(cl)
test(derived)
test(cl == base)
test(derived == base)
test(cl == derived)
loc = Ice.LocatorPrx.checkedCast(base)
test(loc == None)
#
# Upcasting
#
cl2 = Test.MyClassPrx.checkedCast(derived)
obj = Ice.ObjectPrx.checkedCast(derived)
test(cl2)
test(obj)
test(cl2 == obj)
test(cl2 == derived)
print "ok"
print "testing checked cast with context...",
cref = "context:default -p 12010 -t 10000"
cbase = communicator.stringToProxy(cref)
test(cbase != None)
tccp = Test.TestCheckedCastPrx.checkedCast(cbase)
c = tccp.getContext()
test(c == None or len(c) == 0)
c = { }
c["one"] = "hello"
c["two"] = "world"
tccp = Test.TestCheckedCastPrx.checkedCast(cbase, c)
c2 = tccp.getContext()
test(c == c2)
print "ok"
print "testing twoway operations...",
Twoways.twoways(communicator, cl)
Twoways.twoways(communicator, derived)
derived.opDerived()
print "ok"
print "testing twoway operations with AMI...",
TwowaysAMI.twowaysAMI(communicator, cl)
TwowaysAMI.twowaysAMI(communicator, derived)
print "ok"
return cl
syntax highlighted by Code2HTML, v. 0.9.1