def test_push_pop(self): 'VersionedStorage push/pop' vs = VersionedStorage(a=1) self.assertEqual(vs.as_dict(), {'a': 1}) vs._push(b=2) self.assertEqual(vs.as_dict(), {'a': 1, 'b': 2}) vs._push(c=3, b=4) self.assertEqual(vs.as_dict(), {'a': 1, 'b': 4, 'c': 3}) vs._pop() self.assertEqual(vs.as_dict(), {'a': 1, 'b': 2}) vs._pop() self.assertEqual(vs.as_dict(), {'a': 1})
def test_setattr(self): 'VersionedStorage setattr and push/pop' vs = VersionedStorage(a=1) vs._push() vs.b = 2 self.assertEqual(vs.as_dict(), {'a': 1, 'b': 2}) vs._push() vs.c = 3 vs.b = 4 self.assertEqual(vs.as_dict(), {'a': 1, 'b': 4, 'c': 3}) vs._pop() self.assertEqual(vs.as_dict(), {'a': 1, 'b': 2}) vs._pop() self.assertEqual(vs.as_dict(), {'a': 1})