예제 #1
0
 def test_accepts_iterator(self):
     nums = (n**2 for n in [1, 2, 3])
     self.assertIterableEqual(compact(nums), [1, 4, 9])
예제 #2
0
 def test_returns_iterator(self):
     nums = iter([1, 2, 3])
     output = compact(nums)
     self.assertEqual(iter(output), iter(output))
     self.assertEqual(next(output), 1)
     self.assertEqual(next(nums), 2)
예제 #3
0
 def test_empty_list(self):
     self.assertIterableEqual(compact([]), [])
예제 #4
0
 def test_empty_values(self):
     self.assertIterableEqual(compact([None, 0, "", []]), [None, 0, "", []])
예제 #5
0
 def test_lots_of_adjacent_duplicates(self):
     self.assertIterableEqual(compact([1, 1, 1, 1, 1, 1]), [1])
예제 #6
0
 def test_non_adjacent_duplicates(self):
     self.assertIterableEqual(compact([1, 2, 3, 1, 2]), [1, 2, 3, 1, 2])
예제 #7
0
 def test_no_duplicates(self):
     self.assertIterableEqual(compact([1, 2, 3]), [1, 2, 3])