def test_visible(self): v = Visible() self.assertEquals(Results.PUBLIC_FIELD, v.visibleField) self.assertEquals(Results.PUBLIC_STATIC_FIELD, Visible.visibleStaticField) Visible.visibleStaticField = Results.PUBLIC_STATIC_FIELD + 1 self.assertEquals(Results.PUBLIC_STATIC_FIELD + 1, Visible.visibleStaticField) self.assertEquals(Results.PUBLIC_STATIC_FIELD + 1, Visible.getVisibleStaticField()) Visible.setVisibleStaticField(Results.PUBLIC_STATIC_FIELD) self.assertEquals(Results.PUBLIC_STATIC_FIELD, Visible.visibleStaticField) self.assertEquals(Results.PUBLIC_METHOD, v.visibleInstance(0)) self.assertEquals(Results.OVERLOADED_PUBLIC_METHOD, v.visibleInstance('a')) self.assertEquals(Results.EXTRA_ARG_PUBLIC_METHOD, v.visibleInstance(0, 'b')) self.assertEquals(Results.OVERLOADED_EXTRA_ARG_PUBLIC_METHOD, v.visibleInstance('a', 'b')) self.assertEquals(Results.PUBLIC_STATIC_METHOD, Visible.visibleStatic(0)) self.assertEquals(Results.OVERLOADED_PUBLIC_STATIC_METHOD, v.visibleStatic('a')) self.assertEquals(Results.EXTRA_ARG_PUBLIC_STATIC_METHOD, v.visibleStatic(0, 'a')) self.assertEquals(Results.PUBLIC_STATIC_FIELD, Visible.StaticInner.visibleStaticField) # Ensure that the visibleInstance method from SubVisible that takes a double doesn't # leak through to the parent self.assertRaises(TypeError, v.visibleInstance, 0.0, 'b')
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)
def test_visible(self): self.assertEquals(4, len(dir(Visible))) v = Visible() self.assertEquals(Results.PUBLIC_FIELD, v.visibleField) self.assertEquals(Results.PUBLIC_STATIC_FIELD, Visible.visibleStaticField) self.assertEquals(Results.PUBLIC_METHOD, v.visibleInstance(0)) self.assertEquals(Results.OVERLOADED_PUBLIC_METHOD, v.visibleInstance('a')) self.assertEquals(Results.EXTRA_ARG_PUBLIC_METHOD, v.visibleInstance(0, 'b')) self.assertEquals(Results.OVERLOADED_EXTRA_ARG_PUBLIC_METHOD, v.visibleInstance('a', 'b')) self.assertEquals(Results.PUBLIC_STATIC_METHOD, Visible.visibleStatic(0)) self.assertEquals(Results.OVERLOADED_PUBLIC_STATIC_METHOD, v.visibleStatic('a')) self.assertEquals(Results.EXTRA_ARG_PUBLIC_STATIC_METHOD, v.visibleStatic(0, 'a')) # Ensure that the visibleInstance method from SubVisible that takes a double doesn't # leak through to the parent self.assertRaises(TypeError, v.visibleInstance, 0.0, 'b')
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))
def test_visible(self): v = Visible() self.assertEqual(Results.PUBLIC_FIELD, v.visibleField) self.assertEqual(Results.PUBLIC_STATIC_FIELD, Visible.visibleStaticField) Visible.visibleStaticField = Results.PUBLIC_STATIC_FIELD + 1 self.assertEqual(Results.PUBLIC_STATIC_FIELD + 1, Visible.visibleStaticField) self.assertEqual(Results.PUBLIC_STATIC_FIELD + 1, Visible.getVisibleStaticField()) Visible.setVisibleStaticField(Results.PUBLIC_STATIC_FIELD) self.assertEqual(Results.PUBLIC_STATIC_FIELD, Visible.visibleStaticField) self.assertEqual(Results.PUBLIC_METHOD, v.visibleInstance(0)) self.assertEqual(Results.OVERLOADED_PUBLIC_METHOD, v.visibleInstance('a')) self.assertEqual(Results.EXTRA_ARG_PUBLIC_METHOD, v.visibleInstance(0, 'b')) self.assertEqual(Results.OVERLOADED_EXTRA_ARG_PUBLIC_METHOD, v.visibleInstance('a', 'b')) self.assertEqual(Results.PUBLIC_STATIC_METHOD, Visible.visibleStatic(0)) self.assertEqual(Results.OVERLOADED_PUBLIC_STATIC_METHOD, v.visibleStatic('a')) self.assertEqual(Results.EXTRA_ARG_PUBLIC_STATIC_METHOD, v.visibleStatic(0, 'a')) self.assertEqual(Results.PUBLIC_STATIC_FIELD, Visible.StaticInner.visibleStaticField) # Ensure that the visibleInstance method from SubVisible that takes a double doesn't # leak through to the parent self.assertRaises(TypeError, v.visibleInstance, 0.0, 'b')