示例#1
0
 def test_delete_all_cases(self):
     for levels in product(range(1, 4), range(1, 4), range(1, 4)):
         # delete middle
         ss = SortedSet()
         with patch('sortedsets._random_level', side_effect=levels) as p:
             ss['one'] = 1
             ss['two'] = 2
             ss['three'] = 3
             del ss['two']
             self.assertEqual(ss['one'], 1)
             self.assertEqual(ss['three'], 3)
             with self.assertRaises(KeyError):
                 ss['two']
             self.assertEqual(list(ss), ['one', 'three'])
         ss.clear()
         self.assertEqual(list(ss), [])
         # delete first
         ss = SortedSet()
         with patch('sortedsets._random_level', side_effect=levels) as p:
             ss['one'] = 1
             ss['two'] = 2
             ss['three'] = 3
             del ss['one']
             self.assertEqual(ss['two'], 2)
             self.assertEqual(ss['three'], 3)
             with self.assertRaises(KeyError):
                 ss['one']
             self.assertEqual(list(ss), ['two', 'three'])
         ss.clear()
         self.assertEqual(list(ss), [])
         # delete last
         ss = SortedSet()
         with patch('sortedsets._random_level', side_effect=levels) as p:
             ss['one'] = 1
             ss['two'] = 2
             ss['three'] = 3
             del ss['three']
             self.assertEqual(ss['one'], 1)
             self.assertEqual(ss['two'], 2)
             with self.assertRaises(KeyError):
                 ss['three']
             self.assertEqual(list(ss), ['one', 'two'])
         ss.clear()
         self.assertEqual(list(ss), [])
示例#2
0
 def test_delete_all_cases(self):
     for levels in product(range(1, 4), range(1, 4), range(1, 4)):
         # delete middle
         ss = SortedSet()
         with patch('sortedsets._random_level', side_effect=levels) as p:
             ss['one'] = 1
             ss['two'] = 2
             ss['three'] = 3
             del ss['two']
             self.assertEqual(ss['one'], 1)
             self.assertEqual(ss['three'], 3)
             with self.assertRaises(KeyError):
                 ss['two']
             self.assertEqual(list(ss), ['one', 'three'])
         ss.clear()
         self.assertEqual(list(ss), [])
         # delete first
         ss = SortedSet()
         with patch('sortedsets._random_level', side_effect=levels) as p:
             ss['one'] = 1
             ss['two'] = 2
             ss['three'] = 3
             del ss['one']
             self.assertEqual(ss['two'], 2)
             self.assertEqual(ss['three'], 3)
             with self.assertRaises(KeyError):
                 ss['one']
             self.assertEqual(list(ss), ['two', 'three'])
         ss.clear()
         self.assertEqual(list(ss), [])
         # delete last
         ss = SortedSet()
         with patch('sortedsets._random_level', side_effect=levels) as p:
             ss['one'] = 1
             ss['two'] = 2
             ss['three'] = 3
             del ss['three']
             self.assertEqual(ss['one'], 1)
             self.assertEqual(ss['two'], 2)
             with self.assertRaises(KeyError):
                 ss['three']
             self.assertEqual(list(ss), ['one', 'two'])
         ss.clear()
         self.assertEqual(list(ss), [])