def test_array_coercion(self): self.assertEquals("double", Coercions.takeArray(array.zeros('d', 2))) self.assertEquals("float", Coercions.takeArray(array.zeros('f', 2))) self.assertEquals("4", Coercions.takePyObj(1, 2, 3, 4)) c = Coercions() self.assertEquals("5", c.takePyObjInst(1, 2, 3, 4, 5)) self.assertEquals("OtherSubVisible[]", c.takeArray([OtherSubVisible()])) self.assertEquals("SubVisible[]", c.takeArray([SubVisible()]))
def test_class_coercion(self): c = Coercions() from java.util import Hashtable, HashMap ht = Hashtable() hm = HashMap() ht['one'] = 'uno' hm['zwei'] = 'two' for obj, cls in ((ht, "java.util.Hashtable"), (hm, "java.util.HashMap"), ("abc", "java.lang.String"), (1, "java.lang.Integer"), (1.2, "java.lang.Double"), (Hashtable, "java.lang.Class")): self.assertEquals(c.tellClassNameSerializable(obj), "class " + cls) self.assertEquals(c.tellClassNameObject(ht), "class java.util.Hashtable")
def test_int_coercion(self): c = Coercions() self.assertEquals("5", c.takeInt(5)) self.assertEquals("15", c.takeInteger(15)) self.assertEquals("150", c.takeNumber(150)) self.assertEquals("take with byte arg: 10", Coercions.take(Byte(10)))