def test_keys(self): collection = BaseNamedCollection(ITEMS, NAMES) for name in collection.keys(): assert name in NAMES.keys() assert collection.get(name) in collection.values() ## symmetry in relationship to UID: assert collection.name_for(collection.uid_for(name)) is name
def test_setops(self): collection1 = BaseNamedCollection(ITEMS, NAMES) namemap = NAMES.copy() uid = str(uuid.uuid3(NS_PKG, 'item3')) namemap['item3'] = uid collection2 = BaseNamedCollection(ITEMS2, namemap) self.assertIsInstance( collection2.difference(collection1), BaseNamedCollection, ) self.assertEqual( set((collection1 & collection2).keys()), set(collection1.keys()) ) self.assertEqual( set((collection2 | collection1).keys()), set(collection2.keys()) ) # sufficient test: self.assertEqual( set(collection2.keys()), set(namemap.keys()) )