Esempio n. 1
0
    def test2(self):
        L = DictSet(s2d('a12 c5666788 d12345'))
        g = L.unique_combinations(keys=['a', 'c'])

        self.assertEqual([v for v in g],
                         [['1', '5'], ['1', '6'], ['1', '7'], ['1', '8'],
                          ['2', '5'], ['2', '6'], ['2', '7'], ['2', '8']])
Esempio n. 2
0
    def test3(self):
        L = DictSet(s2d('a12 c5666788 d12345'))
        g = L.unique_combinations(keys=['c', 'a'])

        self.assertEqual([v for v in g],
                         [['5', '1'], ['5', '2'], ['6', '1'], ['6', '2'],
                          ['7', '1'], ['7', '2'], ['8', '1'], ['8', '2']])
Esempio n. 3
0
    def test0(self):
        L = DictSet(s2d('a1 c5678'))
        R1 = s2l('a1 c5678')
        M = L.copy()
        M.add('d', '9')

        self.assertEqual(d2l(L), R1)
Esempio n. 4
0
    def test1(self):
        L = DictSet(s2d('a12 c5666788 d0'))
        g = L.unique_combinations()

        self.assertEqual([v for v in g],
                         [['1', '5'], ['1', '6'], ['1', '7'], ['1', '8'],
                          ['2', '5'], ['2', '6'], ['2', '7'], ['2', '8']])
Esempio n. 5
0
    def test4(self):
        L = DictSet(s2d('a1 c5666788'))

        with self.assertRaises(TypeError) as cm:
            L.add('d', [])

        self.assertEqual(str(cm.exception), "unhashable type: 'list'")
Esempio n. 6
0
    def test1(self):
        L = DictSet(s2d('a1 c5678'))
        M = L.copy()
        M.add('d', '9')
        R2 = s2l('a1 c5678 d9')

        self.assertEqual(d2l(M), R2)
Esempio n. 7
0
    def test0(self):
        L = DictSet(s2d('a1 c5678'))
        R1 = s2l('a1 c5678')
        M = L.fromkeys(['a', 'b'])

        self.assertEqual(d2l(L), R1)
        self.assertEqual(d2l(M), s2l('a0b0'))
Esempio n. 8
0
    def test1(self):
        L = DictSet(s2d('a1 c5678'))
        R1 = s2l('a1 c5678')
        M = L.fromkeys(['a', 'b'], '567')

        self.assertEqual(d2l(L), R1)
        self.assertEqual(d2l(M), s2l('a567b567'))
Esempio n. 9
0
    def test99(self):
        """Make sure that direct calls to update
           do not clear previous contents"""

        L = DictSet(a='1', b='2')
        L.__init__(b='3', c='4')
        self.assertEqual(d2l(L), s2l('a1b23c4'))
Esempio n. 10
0
    def test0(self):
        L = DictSet(s2d('a1 c5666788'))
        R = s2l('a1 c56  7')

        with self.assertRaises(TypeError) as cm:
            L.__setitem__([], '8')

        self.assertEqual(str(cm.exception), "unhashable type: 'list'")
Esempio n. 11
0
 def test22(self):
     """DictSet(iterable)"""
     self.assertEqual(
         d2l(DictSet([
             ('a', ''),
             ('b', '123'),
             ('c', '45556'),
         ])), s2l('a  0     b   123     c   45  6'))
Esempio n. 12
0
    def test1(self):
        L = DictSet(s2d('a1 c5666788'))
        R = s2l('a1 c56  7')

        with self.assertRaises(TypeError) as cm:
            L.__setitem__('a', 42)

        self.assertEqual(str(cm.exception), "'int' object is not iterable")
Esempio n. 13
0
    def test1(self):
        L = DictSet(s2d('a123 b456'))
        del L['a']

        with self.assertRaises(KeyError) as cm:
            del L['a']

        self.assertEqual(str(cm.exception), "'a'")
Esempio n. 14
0
    def test7(self):
        L = DictSet(s2d('a123 b456'))
        L.remove('a')

        with self.assertRaises(KeyError) as cm:
            L.remove('a')

        self.assertEqual(str(cm.exception), "'a'")
Esempio n. 15
0
    def test4(self):
        L = DictSet(s2d('a12 c568 d123 e78'))
        g = L.unique_combinations()

        self.assertEqual(
            ''.join([''.join(v) for v in g]),
            '151715181527152815371538161716181627162816371638'
            '181718181827182818371838251725182527252825372538'
            '261726182627262826372638281728182827282828372838')
Esempio n. 16
0
    def test3(self):
        L = DictSet(s2d('a123 b324 c5 78 d0'))
        M = s2d('a1        c56788 e0')
        R = s2l('a 23 b324 c 6')

        self.assertTrue(isinstance(L ^ M, DictSet))
        self.assertEqual(d2l(L ^ M), R)
        self.assertEqual(d2l(L), s2l('a123 b234 c5 78 d0'))
        self.assertEqual(d2l(M), s2l('a1        c56788 e0'))
Esempio n. 17
0
    def test0(self):
        L = DictSet(s2d('a1 c5666788'))
        M = s2d('')
        R = s2l('')

        self.assertTrue(isinstance(L.intersection(M), DictSet))
        self.assertEqual(d2l(L.intersection(M)), R)
        self.assertEqual(d2l(L), s2l('a1 c5678'))
        self.assertEqual(d2l(M), s2l(''))
Esempio n. 18
0
    def test3(self):
        L = DictSet(s2d('a123 b324 c5 78'))
        M = s2d('a1        c567889')
        R = s2l('a1        c5 78 ')

        self.assertTrue(isinstance(L.intersection(M), DictSet))
        self.assertEqual(d2l(L.intersection(M)), R)
        self.assertEqual(d2l(L), s2l('a123 b234 c5 78'))
        self.assertEqual(d2l(M), s2l('a1        c567889'))
Esempio n. 19
0
    def test0(self):
        L = DictSet(s2d('a1 c5666788'))
        M = s2d('e0')
        R = s2l('')

        self.assertTrue(isinstance(L & M, DictSet))
        self.assertEqual(d2l(L & M), R)
        self.assertEqual(d2l(L), s2l('a1 c5678'))
        self.assertEqual(d2l(M), s2l('e0'))
Esempio n. 20
0
    def test2(self):
        L = DictSet(s2d('a1        c567889 d0'))
        M = s2d('a123 b324 c5 78')
        R = s2l('a1        c5 78')

        self.assertTrue(isinstance(L & M, DictSet))
        self.assertEqual(d2l(L & M), R)
        self.assertEqual(d2l(L), s2l('a1 c56789 d0'))
        self.assertEqual(d2l(M), s2l('a123 b324 c5 78'))
Esempio n. 21
0
    def test2(self):
        L = DictSet(s2d('a1        c56788 e0'))
        M = s2d('a123 b324 c5 78 d0')
        R = s2l('a 23 b324 c 6')

        self.assertTrue(isinstance(L.symmetric_difference(M), DictSet))
        self.assertEqual(d2l(L.symmetric_difference(M)), R)
        self.assertEqual(d2l(L), s2l('a1 c5678 e0'))
        self.assertEqual(d2l(M), s2l('a123 b324 c5 78 d0'))
Esempio n. 22
0
    def test2(self):
        L = DictSet(s2d('a1 c5666788'))
        R = s2l('a1 c56  7')
        L.remove('c', '8')

        with self.assertRaises(KeyError) as cm:
            L.remove('d', '8')

        self.assertEqual(str(cm.exception), "'d'")
Esempio n. 23
0
    def test1(self):
        L = DictSet(s2d(''))
        M = s2d('a1 c5666788')
        R = s2l('')

        self.assertTrue(isinstance(L.difference(M), DictSet))
        self.assertEqual(d2l(L.difference(M)), R)
        self.assertEqual(d2l(L), s2l(''))
        self.assertEqual(d2l(M), s2l('a1 c5666788'))
Esempio n. 24
0
    def test3(self):
        L = DictSet(s2d('a123 b324'))
        M = s2d('a1        c5666788')
        R = s2l('a123 b324 c56  78')

        self.assertTrue(isinstance(L | M, DictSet))
        self.assertEqual(d2l(L | M), R)
        self.assertEqual(d2l(L), s2l('a123 b234'))
        self.assertEqual(d2l(M), s2l('a1        c5666788'))
Esempio n. 25
0
    def test0(self):
        L = DictSet(s2d('a1 c5666788 e0'))
        M = s2d('')
        R = s2l('a1 c56  78')

        self.assertTrue(isinstance(L.symmetric_difference(M), DictSet))
        self.assertEqual(d2l(L.symmetric_difference(M)), R)
        self.assertEqual(d2l(L), s2l('a1 c5678 e0'))
        self.assertEqual(d2l(M), s2l(''))
Esempio n. 26
0
    def test3(self):
        L = DictSet(s2d('a123 b324 c5 78'))
        M = s2d('a1        c56788')
        R = s2l('a1        c5 78')
        L &= M

        self.assertTrue(isinstance(L, DictSet))
        self.assertTrue(isinstance(M, dict))
        self.assertEqual(d2l(L), R)  # L is updated
        self.assertEqual(d2l(M), s2l('a1        c56788'))
Esempio n. 27
0
    def test2(self):
        L = DictSet(s2d('a1        c567889'))
        M = s2d('a123 b324 c5 78')
        R = s2l('a1        c5 78 ')
        L.intersection_update(M)

        self.assertTrue(isinstance(L, DictSet))
        self.assertTrue(isinstance(M, dict))
        self.assertEqual(d2l(L), R)  # L is updated
        self.assertEqual(d2l(M), s2l('a123 b324 c5 78'))
Esempio n. 28
0
    def test3(self):
        L = DictSet(s2d('a123 b324 c5 78'))
        M = s2d('a1        c56788')
        R = s2l('a 23 b324 c 6')
        L.symmetric_difference_update(M)

        self.assertTrue(isinstance(L, DictSet))
        self.assertTrue(isinstance(M, dict))
        self.assertEqual(d2l(L), R)  # L is updated
        self.assertEqual(d2l(M), s2l('a1        c56788'))
Esempio n. 29
0
    def test1(self):
        L = DictSet(s2d(''))
        M = s2d('a1 c5666788')
        R = s2l('')
        L.difference_update(M)

        self.assertTrue(isinstance(L, DictSet))
        self.assertTrue(isinstance(M, dict))
        self.assertEqual(d2l(L), R)  # L is updated
        self.assertEqual(d2l(M), s2l('a1 c5666788'))
Esempio n. 30
0
    def test2(self):
        L = DictSet(s2d('a1 c5678'))
        R1 = s2l('a1 c5678')

        with self.assertRaises(TypeError) as cm:
            M = L.fromkeys(['a', 'b'], 5)

        self.assertEqual(str(cm.exception), "'int' object is not iterable")

        self.assertEqual(d2l(L), R1)