Пример #1
0
 def test_different_length_lists(self):
     in1 = [1, 2, 3]
     in2 = [4, 5, 6, 7, 8]
     out1 = [1, 4, 2, 5, 3, 6, 7, 8]
     self.assertIterableEqual(interleave(in1, in2), out1)
     out2 = [1, 4, 6, 2, 5, 7, 3, 8, 9]
     self.assertIterableEqual(interleave(in1, [4, 5], [6, 7, 8, 9]), out2)
Пример #2
0
 def test_different_length_lists(self):
     in1 = [1, 2, 3]
     in2 = [4, 5, 6, 7, 8]
     in3 = [9]
     out1 = [1, 4, 9, 2, 5, 3, 6, 7, 8]
     self.assertIterableEqual(interleave(in1, in2, in3), out1)
     self.assertIterableEqual(
         interleave([1, 2], [3], [4, 5, 6], [7, 8], [9]),
         [1, 3, 4, 7, 9, 2, 5, 8, 6])
Пример #3
0
 def test_response_is_iterator(self):
     in1 = [1, 2, 3]
     in2 = [4, 5, 6]
     output = interleave(in1, in2)
     self.assertEqual(iter(output), iter(output))
     list(output)
     self.assertEqual(list(output), [])
     iterator = interleave(count(), count())
     self.assertEqual(next(iterator), next(iterator))
Пример #4
0
 def test_response_is_iterator(self):
     in1 = [1, 2, 3]
     in2 = [4, 5, 6]
     squares = (n**2 for n in in1)
     output = interleave(in1, in2)
     self.assertIs(iter(output), iter(output))
     output = interleave(squares, squares)
     self.assertEqual(next(output), 1)
     self.assertEqual(next(output), 4)
     self.assertEqual(next(squares), 9)
     iterator = interleave(count(), count())
     self.assertEqual(next(iterator), next(iterator))
Пример #5
0
 def test_more_than_two_arguments(self):
     in1 = [1, 2, 3]
     in2 = [4, 5, 6]
     in3 = [7, 8, 9]
     out = [1, 4, 7, 2, 5, 8, 3, 6, 9]
     self.assertIterableEqual(interleave(in1, in2, in3), out)
Пример #6
0
 def test_non_sequences(self):
     in1 = [1, 2, 3, 4]
     in2 = (n**2 for n in in1)
     out = [1, 1, 2, 4, 3, 9, 4, 16]
     self.assertIterableEqual(interleave(in1, in2), out)
Пример #7
0
 def test_none_value(self):
     in1 = [1, 2, 3, None]
     in2 = [4, 5, 6, 7]
     out = [1, 4, 2, 5, 3, 6, None, 7]
     self.assertIterableEqual(interleave(in1, in2), out)
Пример #8
0
 def test_four_items_each(self):
     in1 = [1, 2, 3, 4]
     in2 = [5, 6, 7, 8]
     out = [1, 5, 2, 6, 3, 7, 4, 8]
     self.assertIterableEqual(interleave(in1, in2), out)
Пример #9
0
 def test_two_items_each(self):
     self.assertIterableEqual(interleave([1, 2], [3, 4]), [1, 3, 2, 4])
Пример #10
0
 def test_single_item_each(self):
     self.assertIterableEqual(interleave([1], [2]), [1, 2])
Пример #11
0
 def test_empty_lists(self):
     self.assertIterableEqual(interleave([], []), [])