def test_peek(self): # Test peeking into various sequence types # tuple is_empty, seq = peek(tuple()) self.assertEqual((is_empty, list(seq)), (True, [])) is_empty, seq = peek((1, 2, 3)) self.assertEqual((is_empty, list(seq)), (False, [1, 2, 3])) # list is_empty, seq = peek([]) self.assertEqual((is_empty, list(seq)), (True, [])) is_empty, seq = peek([1, 2, 3]) self.assertEqual((is_empty, list(seq)), (False, [1, 2, 3])) # set is_empty, seq = peek(set()) self.assertEqual((is_empty, list(seq)), (True, [])) is_empty, seq = peek({1, 2, 3}) self.assertEqual((is_empty, list(seq)), (False, [1, 2, 3])) # range is_empty, seq = peek(range(0)) self.assertEqual((is_empty, list(seq)), (True, [])) is_empty, seq = peek(range(1, 4)) self.assertEqual((is_empty, list(seq)), (False, [1, 2, 3])) # map is_empty, seq = peek(map(int, [])) self.assertEqual((is_empty, list(seq)), (True, [])) is_empty, seq = peek(map(int, [1, 2, 3])) self.assertEqual((is_empty, list(seq)), (False, [1, 2, 3])) # generator is_empty, seq = peek((i for i in [])) self.assertEqual((is_empty, list(seq)), (True, [])) is_empty, seq = peek((i for i in [1, 2, 3])) self.assertEqual((is_empty, list(seq)), (False, [1, 2, 3]))