def testCopy(self): ks = KeyedSet(firstLetter, ["apple", "avocado", "banana"]) ks2 = ks.copy() self.assertEqual(sorted(ks), ["apple", "avocado", "banana"]) self.assertEqual(sorted(ks2), ["apple", "avocado", "banana"]) self.assertEqual(sorted(ks.keys()), ["a", "b"]) self.assertEqual(sorted(ks2.keys()), ["a", "b"]) ks2.add("acacia") ks2.add("cheese") ks2.remove("banana") self.assertEqual(sorted(ks), ["apple", "avocado", "banana"]) self.assertEqual(sorted(ks2), ["acacia", "apple", "avocado", "cheese"]) self.assertEqual(sorted(ks.keys()), ["a", "b"]) self.assertEqual(sorted(ks2.keys()), ["a", "c"]) self.assertEqual(ks2.subset_by_key("a"), set(["acacia", "apple", "avocado"])) self.assertEqual(ks2.subset_by_key("b"), set()) self.assertEqual(ks2.subset_by_key("c"), set(["cheese"]))
def testDiscard(self): ks = KeyedSet(firstLetter, ["apple", "avocado", "banana"]) for item in ["apple", "acacia", "banana", "cheese"]: ks.discard(item) self.assertEqual(ks, set(["avocado"])) # Proper key sets self.assertEqual(ks.keys(), ["a"]) self.assertEqual(ks.subset_by_key("a"), set(["avocado"])) self.assertEqual(ks.subset_by_key("b"), set()) self.assertEqual(ks.subset_by_key("c"), set())
def testDiscard(self): ks = KeyedSet(firstLetter, ["apple", "avocado", "banana"]) for item in ["apple", "acacia", "banana", "cheese"]: ks.discard(item) self.assertEqual(ks, set(["avocado"])) # Proper key sets self.assertEqual(ks.keys(), ['a']) self.assertEqual(ks.subset_by_key("a"), set(["avocado"])) self.assertEqual(ks.subset_by_key("b"), set()) self.assertEqual(ks.subset_by_key("c"), set())
def testAdd(self): ks = KeyedSet(firstLetter, ["apple", "avocado", "banana"]) for item in ["apple", "acacia", "cheese"]: ks.add(item) self.assertEqual( ks, set(["apple", "avocado", "banana", "acacia", "cheese"])) # Proper key sets self.assertEqual(sorted(ks.keys()), ['a', 'b', 'c']) self.assertEqual(ks.subset_by_key("a"), set(["apple", "avocado", "acacia"])) self.assertEqual(ks.subset_by_key("b"), set(["banana"])) self.assertEqual(ks.subset_by_key("c"), set(["cheese"])) self.assertEqual(ks.subset_by_key("d"), set())
def testRemove(self): ks = KeyedSet(firstLetter, ["apple", "avocado", "banana"]) for item in ["apple", "banana"]: ks.remove(item) for item in ["acacia", "cheese"]: try: ks.remove(item) except KeyError: self.assertTrue(True) except: self.assertTrue(False) else: self.assertTrue(False) self.assertEqual(ks, set(["avocado"])) # Proper key sets self.assertEqual(ks.keys(), ["a"]) self.assertEqual(ks.subset_by_key("a"), set(["avocado"])) self.assertEqual(ks.subset_by_key("b"), set()) self.assertEqual(ks.subset_by_key("c"), set())
def testRemove(self): ks = KeyedSet(firstLetter, ["apple", "avocado", "banana"]) for item in ["apple", "banana"]: ks.remove(item) for item in ["acacia", "cheese"]: try: ks.remove(item) except KeyError: self.assertTrue(True) except: self.assertTrue(False) else: self.assertTrue(False) self.assertEqual(ks, set(["avocado"])) # Proper key sets self.assertEqual(ks.keys(), ['a']) self.assertEqual(ks.subset_by_key("a"), set(["avocado"])) self.assertEqual(ks.subset_by_key("b"), set()) self.assertEqual(ks.subset_by_key("c"), set())
def testKeys(self): ks = KeyedSet(firstLetter, ["apple", "avocado", "banana"]) self.assertEqual(sorted(ks.keys()), ["a", "b"])