def test_setitem(self): users = {'username': '******', 'display_name': 'John Doe'} obj = Traverser(users) obj.set_to_none = None self.assertIsNone(obj.set_to_none) obj.id = 123 self.assertEqual(obj.id, 123) obj.roles = ['admin', 'any_user'] self.assertEqual(obj.roles(), ['admin', 'any_user'])
def test_no_deepcopy_causes_intended_side_effects(self): value = {'id': 0} obj = Traverser(value, deepcopy=False) obj.id = 1 self.assertEqual(obj(), {'id': 1}) self.assertEqual(value, {'id': 1})
def test_setitem_has_no_side_effects(self): value = {'username': '******'} obj = Traverser(value) obj.id = 1 self.assertEqual(obj(), {'username': '******', 'id': 1}) self.assertEqual(value, {'username': '******'})