Пример #1
0
 def test_maxlen(self):
     setm = OrderedSet(maxlen=3)
     setm.add("a")
     setm.add("b")
     setm.add("c")
     setm.add("d")
     self.assertEqual(setm, OrderedSet(['b', 'c', 'd']))
Пример #2
0
 def test_update(self):
     set1 = OrderedSet()
     l1 = [1, 2, 3]
     set1.update(l1)
     self.assertListEqual(l1, list(set1))
     l2 = [-1, 4, 0]
     set1.update(l2)
     self.assertListEqual(list(set1), l1 + l2)
Пример #3
0
 def test_serialize(self):
     set1 = OrderedSet('abracadabra')
     roundtrip = pickle.loads(pickle.dumps(set1))
     self.assertEqual(roundtrip, set1)
     empty_oset = OrderedSet()
     self.assertEqual(repr(empty_oset), "OrderedSet()")
     empty_roundtrip = pickle.loads(pickle.dumps(empty_oset))
     self.assertEqual(empty_roundtrip, empty_oset)
     set2 = OrderedSet("abc")
     self.assertEqual(repr(set2), "OrderedSet(['a', 'b', 'c'])")
Пример #4
0
    def test_binary_operations(self):
        text1 = 'abracadabra'
        set1 = OrderedSet(text1)
        set2 = OrderedSet('simsalabim')

        self.assertNotEqual(set1, set2)
        self.assertNotEqual(set1, 9)

        self.assertEqual(set1 & set2, OrderedSet(['a', 'b']))
        self.assertEqual(
            set1 | set2,
            OrderedSet(['a', 'b', 'r', 'c', 'd', 's', 'i', 'm', 'l']))
        self.assertEqual(set1 - set2, OrderedSet(['r', 'c', 'd']))
Пример #5
0
    def test_slicing(self):
        set1 = OrderedSet('abracadabra')
        self.assertEqual(set1[0], "a")
        self.assertEqual(set1[:], set1)
        self.assertEqual(set1.copy(), set1)
        self.assertIs(set1[:], set1)
        self.assertIsNot(set1.copy(), set1)

        self.assertEqual(set1[[1, 2]], OrderedSet(['b', 'r']))
        self.assertEqual(set1[1:3], OrderedSet(['b', 'r']))

        with self.assertRaises(TypeError):
            set1.__getitem__("abc")
Пример #6
0
 def test_maxlen(self):
     setm = OrderedSet(maxlen=3)
     setm.add("a")
     setm.add("b")
     setm.add("c")
     setm.add("d")
     self.assertEqual(setm, OrderedSet(['b', 'c', 'd']))
Пример #7
0
    def test_slicing(self):
        set1 = OrderedSet('abracadabra')
        self.assertEqual(set1[0], "a")
        self.assertEqual(set1[:], set1)
        self.assertEqual(set1.copy(), set1)
        self.assertIs(set1[:], set1)
        self.assertIsNot(set1.copy(), set1)

        self.assertEqual(set1[[1, 2]], OrderedSet(['b', 'r']))
        self.assertEqual(set1[1:3], OrderedSet(['b', 'r']))

        with self.assertRaises(TypeError):
            set1.__getitem__("abc")
Пример #8
0
 def test_update(self):
     set1 = OrderedSet()
     l1 = [1, 2, 3]
     set1.update(l1)
     self.assertListEqual(l1, list(set1))
     l2 = [-1, 4, 0]
     set1.update(l2)
     self.assertListEqual(list(set1), l1 + l2)
Пример #9
0
 def test_discard(self):
     set1 = OrderedSet("abc")
     self.assertEqual(len(set1), 3)
     set1.discard("b")
     self.assertEqual(len(set1), 2)
Пример #10
0
 def test_order(self):
     set1 = OrderedSet('abracadabra')
     self.assertEqual(len(set1), 5)
     self.assertEqual(set1, OrderedSet(['a', 'b', 'r', 'c', 'd']))
     self.assertEqual(list(reversed(set1)), ['d', 'c', 'r', 'b', 'a'])
Пример #11
0
 def test_discard(self):
     set1 = OrderedSet("abc")
     self.assertEqual(len(set1), 3)
     set1.discard("b")
     self.assertEqual(len(set1), 2)