def testMultiLevelNestedPropertySetValue(self):
        managerNameProperty = NestedMethodProperty(self._vaadin,
                'manager.name')
        addressProperty = NestedMethodProperty(self._vaadin,
                'manager.address')
        streetProperty = NestedMethodProperty(self._vaadin,
                'manager.address.street')
        postalCodePrimitiveProperty = NestedMethodProperty(self._vaadin,
                'manager.address.postalCodePrimitive')
        postalCodeObjectProperty = NestedMethodProperty(self._vaadin,
                'manager.address.postalCodeObject')

        managerNameProperty.setValue('Joonas L')
        self.assertEquals('Joonas L', self._joonas.getName())
        streetProperty.setValue('Ruukinkatu')
        self.assertEquals('Ruukinkatu', self._oldMill.getStreet())
        postalCodePrimitiveProperty.setValue(0)
        postalCodeObjectProperty.setValue(1)
        self.assertEquals(0, self._oldMill.getPostalCodePrimitive())
        self.assertEquals(int(1), self._oldMill.getPostalCodeObject())

        postalCodeObjectProperty.setValue(None)
        self.assertNull(self._oldMill.getPostalCodeObject())

        address2 = self.Address('Other street', 12345)
        addressProperty.setValue(address2)
        self.assertEquals('Other street', streetProperty.getValue())