class BetterDictActsAsDict(TestCase): """BetterDicts should act just like dictionaries""" def setUp(self): self.src_dict = { 'foo': 1, 'bar': 2, 'kitten': 3, 'update': 4, } self.better_dict = BetterDict(self.src_dict) def test_BetterDict_and_its_src_dictionary_are_equal(self): self.assertEqual(self.better_dict, self.src_dict) def test_BetterDict_indexing_works_like_dictionary_indexing(self): self.assertEqual(self.better_dict['foo'], self.src_dict['foo']) def test_BetterDict_assignment_works_like_dictionary_assignment(self): self.src_dict['blast'] = 4 self.better_dict['blast'] = 4 self.assertEqual(self.better_dict['blast'], self.src_dict['blast']) def test_BetterDict_attributes_dont_conflict(self): """BetterDicts with keys that conflict with dict attributes should not overrride the dict attributes with the key's value""" self.better_dict.update({'iron': 'curtain'}) self.assertEqual(self.better_dict['iron'], 'curtain')
def setUp(self): self.src_dict = { 'foo': 1, 'bar': 2, 'kitten': 3, 'update': 4, } self.better_dict = BetterDict(self.src_dict)
def setUp(self): self.fl = FieldLookup() self.instance = BetterDict({ 'foo': 1, 'bar': { 'cat': True, 'dog': False, 'meh': { 'bleh': [1, 2] } }, 'sauce': 'Mustard', 'bleh': [1, 2, 3, 4] })
def setUp(self): self.ql = QueryList() self.bd = BetterDict({'id': 1, 'dog': 4})
def test_converts_an_iterables_members_to_BetterDicts_by_default(self): converted = self.ql._convert_iterable(self.iterable) self.assertEqual(converted[0], BetterDict(self.iterable[0]))
def setUp(self): self.src_dict = deepcopy(SRC_DICT) self.better_dict = BetterDict(self.src_dict)