Example #1
0
 def test_protected_from_python_subclass(self):
     class SubVisible(Visible):
         def __init__(self, publicValue=None):
             if publicValue is not None:
                 Visible.__init__(self, publicValue)
             else:
                 Visible.__init__(self)
     # TODO - protectedStaticMethod, protectedStaticField, StaticInner, and protectedField should
     # be here
     s = SubVisible()
     self.assertEquals(Results.PROTECTED_METHOD, s.protectedMethod(0))
     self.assertEquals(Results.OVERLOADED_PROTECTED_METHOD, s.protectedMethod('foo'))
     self.assertEquals(Results.UNUSED, SubVisible(Results.UNUSED).visibleField)
Example #2
0
 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()]))
Example #3
0
    def test_java_subclass(self):
        s = SubVisible()
        self.assertEquals(Results.PUBLIC_FIELD, s.visibleField)
        self.assertEquals(Results.PUBLIC_STATIC_FIELD,
                          SubVisible.visibleStaticField)
        self.assertEquals(Results.SUBCLASS_STATIC_OVERRIDE,
                          SubVisible.visibleStatic(3))
        self.assertEquals(Results.SUBCLASS_STATIC_OVERLOAD,
                          SubVisible.visibleStatic(3.0, 'a'))
        self.assertEquals(Results.SUBCLASS_OVERRIDE, s.visibleInstance(3))
        self.assertEquals(Results.SUBCLASS_OVERLOAD,
                          s.visibleInstance(3.0, 'a'))
        self.assertEquals(Results.PACKAGE_METHOD, s.packageMethod())
        # Java methods don't allow direct calling of the superclass method, so it should
        # return the subclass value here.
        self.assertEquals(Results.SUBCLASS_OVERRIDE,
                          Visible.visibleInstance(s, 3))
        self.assertEquals(Results.PUBLIC_STATIC_FIELD,
                          SubVisible.StaticInner.visibleStaticField)

        self.assertEquals(Results.VISIBLE_SHARED_NAME_FIELD,
                          Visible.sharedNameField)
        self.assertEquals(Results.SUBVISIBLE_SHARED_NAME_FIELD,
                          SubVisible.sharedNameField)
        self.assertEquals(Results.VISIBLE_SHARED_NAME_FIELD * 10,
                          Visible().sharedNameField)
        self.assertEquals(Results.SUBVISIBLE_SHARED_NAME_FIELD * 10,
                          s.sharedNameField)
Example #4
0
 def test_java_subclass(self):
     s = SubVisible()
     self.assertEquals(Results.PUBLIC_FIELD, s.visibleField)
     self.assertEquals(Results.PUBLIC_STATIC_FIELD, SubVisible.visibleStaticField)
     self.assertEquals(Results.SUBCLASS_STATIC_OVERRIDE, SubVisible.visibleStatic(3))
     self.assertEquals(Results.SUBCLASS_STATIC_OVERLOAD, SubVisible.visibleStatic(3.0, 'a'))
     self.assertEquals(Results.SUBCLASS_OVERRIDE, s.visibleInstance(3))
     self.assertEquals(Results.SUBCLASS_OVERLOAD, s.visibleInstance(3.0, 'a'))
     self.assertEquals(Results.PACKAGE_METHOD, s.packageMethod())
     # Java methods don't allow direct calling of the superclass method, so it should 
     # return the subclass value here.
     self.assertEquals(Results.SUBCLASS_OVERRIDE, Visible.visibleInstance(s, 3))