#!/usr/bin/env python3 from gitutils import PeekableIterator from unittest import TestCase, main class TestPeekableIterator(TestCase): def test_iterator(self, input_: str = "abcdef") -> None: iter_ = PeekableIterator(input_) for idx, c in enumerate(iter_): self.assertEqual(c, input_[idx]) def test_is_iterable(self) -> None: from collections.abc import Iterator iter_ = PeekableIterator("") self.assertTrue(isinstance(iter_, Iterator)) def test_peek(self, input_: str = "abcdef") -> None: iter_ = PeekableIterator(input_) for idx, c in enumerate(iter_): if idx + 1 < len(input_): self.assertEqual(iter_.peek(), input_[idx + 1]) else: self.assertTrue(iter_.peek() is None) if __name__ == '__main__': main()