예제 #1
0
    def testOverridingProperties(self):
        item = BeanItem(MyClass2('bean2'))

        itemPropertyIds = item.getItemPropertyIds()
        self.assertEquals(6, len(itemPropertyIds))

        self.assertTrue(MyClass2 == item.getBean().__class__)

        # check that name2 accessed via MyClass2, not MyClass
        self.assertFalse(item.getItemProperty('name2').isReadOnly())
예제 #2
0
    def testAddRemoveProperty(self):
        pd = MethodPropertyDescriptor('myname', MyClass,
                getattr(MyClass, 'getName'),
                getattr(MyClass, 'setName'))
        item = BeanItem(self.MyClass('bean1'))
        self.assertEquals(6, len(item.getItemPropertyIds()))
        self.assertEquals(None, item.getItemProperty('myname'))

        item.addItemProperty('myname', pd.createProperty(item.getBean()))
        self.assertEquals(7, len(item.getItemPropertyIds()))
        self.assertEquals('bean1', item.getItemProperty('myname').getValue())
        item.removeItemProperty('myname')
        self.assertEquals(6, len(item.getItemPropertyIds()))
        self.assertEquals(None, item.getItemProperty('myname'))