示例#1
0
 def test_enumeration(self):
     """Test mapping enumeration: keys(), values(), items()"""
     collection = BaseCollection(ITEMS, NAMES)
     assert set(collection.keys()) == set(ITEMS.keys())  # sufficient
     # all keys present
     for uid in collection.keys():
         assert uid in collection
         item = ITEMS.get(uid)
         assert ITEMS.get(uid) in collection.values()
         assert (uid, item) in collection.items()
示例#2
0
 def test_iteration(self):
     collection = BaseCollection(ITEMS, NAMES)
     assert set(collection.keys()) == set(ITEMS.keys())  # sufficient
     assert set(collection.iterkeys()) == set(collection.keys())
     assert set(collection.itervalues()) == set(collection.values())
     assert set(collection.iteritems()) == set(collection.items())
     # all keys present
     for uid in collection.iterkeys():
         assert uid in collection
         item = ITEMS.get(uid)
         assert ITEMS.get(uid) in collection.itervalues()
         assert (uid, item) in collection.iteritems()
示例#3
0
 def test_set_difference(self):
     collection1 = BaseCollection(ITEMS, NAMES)
     collection2 = BaseCollection(ITEMS2)
     disjoint = BaseCollection(ITEMS3)
     self.assertIsInstance(
         collection2.difference(collection1),
         BaseCollection,
         )
     collection3 = collection2 - collection1
     for k in collection1.keys():
         assert k not in collection3
     for k in [key for key in collection2 if key not in collection1]:
         assert k in collection3
     collection4 = collection1 - disjoint
     # nothing removed:
     assert set(collection4.keys()) == set(collection1.keys())
示例#4
0
 def test_get(self):
     """Test get/__getitem__ methods"""
     k = ITEMS.keys()[0]
     collection = BaseCollection(ITEMS, NAMES)
     assert collection.get(k) is not None
     assert collection.get(k) is collection[k]
     assert collection.get(k) is ITEMS.get(k)
     # key normalization:
     assert collection.get(uuid.UUID(k)) is collection.get(k)
     # all keys present
     for uid in collection.keys():
         assert collection.get(uid) is ITEMS.get(uid)
示例#5
0
 def test_set_intersection(self):
     collection1 = BaseCollection(ITEMS, NAMES)
     collection2 = BaseCollection(ITEMS2)
     disjoint = BaseCollection(ITEMS3)
     self.assertIsInstance(
         collection2.intersection(collection1),
         BaseCollection,
         )
     # collection1 is subset, common elements
     self.assertEqual(
         set((collection1 & collection2).keys()),
         set(collection1.keys()),
         )
     # intersection of disjoint set is null set, empty mapping:
     assert not (collection1 & disjoint).keys()
示例#6
0
 def test_len(self):
     collection = BaseCollection(ITEMS, NAMES)
     assert len(collection) == len(collection.keys())
     assert len(collection) == len(ITEMS)
示例#7
0
 def test_contains(self):
     collection = BaseCollection(ITEMS, NAMES)
     # all keys present
     for uid in collection.keys():
         assert uid in collection