def test_attr_after_storing(self): a = Node() a._set_attr('none', None) a._set_attr('bool', self.boolval) a._set_attr('integer', self.intval) a._set_attr('float', self.floatval) a._set_attr('string', self.stringval) a._set_attr('dict', self.dictval) a._set_attr('list', self.listval) a.store() # Now I check if I can retrieve them, before the storage self.assertIsNone(a.get_attr('none')) self.assertEquals(self.boolval, a.get_attr('bool')) self.assertEquals(self.intval, a.get_attr('integer')) self.assertEquals(self.floatval, a.get_attr('float')) self.assertEquals(self.stringval, a.get_attr('string')) self.assertEquals(self.dictval, a.get_attr('dict')) self.assertEquals(self.listval, a.get_attr('list')) # And now I try to edit/delete the keys; I should not be able to do it # after saving. I try only for a couple of attributes with self.assertRaises(ModificationNotAllowed): a._del_attr('bool') with self.assertRaises(ModificationNotAllowed): a._set_attr('integer', 13)
def test_attr_before_storing(self): a = Node() a._set_attr('k1', self.boolval) a._set_attr('k2', self.intval) a._set_attr('k3', self.floatval) a._set_attr('k4', self.stringval) a._set_attr('k5', self.dictval) a._set_attr('k6', self.listval) a._set_attr('k7', self.emptydict) a._set_attr('k8', self.emptylist) a._set_attr('k9', None) # Now I check if I can retrieve them, before the storage self.assertEquals(self.boolval, a.get_attr('k1')) self.assertEquals(self.intval, a.get_attr('k2')) self.assertEquals(self.floatval, a.get_attr('k3')) self.assertEquals(self.stringval, a.get_attr('k4')) self.assertEquals(self.dictval, a.get_attr('k5')) self.assertEquals(self.listval, a.get_attr('k6')) self.assertEquals(self.emptydict, a.get_attr('k7')) self.assertEquals(self.emptylist, a.get_attr('k8')) self.assertIsNone(a.get_attr('k9')) # And now I try to delete the keys a._del_attr('k1') a._del_attr('k2') a._del_attr('k3') a._del_attr('k4') a._del_attr('k5') a._del_attr('k6') a._del_attr('k7') a._del_attr('k8') a._del_attr('k9') with self.assertRaises(AttributeError): # I delete twice the same attribute a._del_attr('k1') with self.assertRaises(AttributeError): # I delete a non-existing attribute a._del_attr('nonexisting') with self.assertRaises(AttributeError): # I get a deleted attribute a.get_attr('k1') with self.assertRaises(AttributeError): # I get a non-existing attribute a.get_attr('nonexisting')