def test_wrapping(self): test_dict = AttrDict(a=2, b=1) class TestWrapper(object): def __init__(self, wrappee): self.wrappee = wrappee def __eq__(self, other): return self.wrappee == other.wrappee wrapped_dict = resource_client.AttrMappingProxy(test_dict, TestWrapper) # Test keys self.assertEqual(wrapped_dict.keys(), test_dict.keys()) # Test key access: for key in test_dict: self.assertEqual(wrapped_dict[key].wrappee, test_dict[key]) # Test attribute access for key in test_dict: self.assertEqual(getattr(wrapped_dict, key).wrappee, getattr(test_dict, key)) # Test whole dict comparison self.assertEqual(wrapped_dict, {k : TestWrapper(v) for k, v in test_dict.items()})