コード例 #1
0
ファイル: test_task2.py プロジェクト: etetin/HackerRank
    def test_iterable_class(self):
        class Count:
            def __init__(self, start=0):
                self.num = start

            def __iter__(self):
                return self

            def __next__(self):
                if self.num == 5:
                    raise StopIteration

                num = self.num
                self.num += 1
                return num

        iterable_class = Count()
        iterator = MyIterator(iterable_class, 'odd')
        result = [element for element in iterator]
        self.assertEqual(result, [0, 2, 4])

        iterable_class = Count()
        iterator = MyIterator(iterable_class, 'even')
        result = [element for element in iterator]
        self.assertEqual(result, [1, 3])
コード例 #2
0
ファイル: test_task2.py プロジェクト: etetin/HackerRank
 def test_string_even(self):
     iterator = MyIterator('abcdefg', 'even')
     result = [element for element in iterator]
     self.assertEqual(result, ['b', 'd', 'f'])
コード例 #3
0
ファイル: test_task2.py プロジェクト: etetin/HackerRank
 def test_string_odd(self):
     iterator = MyIterator('abcdefg', 'odd')
     result = [element for element in iterator]
     self.assertEqual(result, ['a', 'c', 'e', 'g'])
コード例 #4
0
ファイル: test_task2.py プロジェクト: etetin/HackerRank
 def test_empty_even(self):
     iterator = MyIterator([], 'even')
     result = [element for element in iterator]
     self.assertEqual(result, [])
コード例 #5
0
ファイル: test_task2.py プロジェクト: etetin/HackerRank
 def test_one_element_odd(self):
     iterator = MyIterator([1], 'odd')
     result = [element for element in iterator]
     self.assertEqual(result, [1])
コード例 #6
0
ファイル: test_task2.py プロジェクト: etetin/HackerRank
 def test_dict_even(self):
     iterator = MyIterator({'a': 1, 'b': 2, 'c': 3}, 'even')
     result = [element for element in iterator]
     self.assertEqual(result, ['b'])
コード例 #7
0
ファイル: test_task2.py プロジェクト: etetin/HackerRank
 def test_dict_odd(self):
     iterator = MyIterator({'a': 1, 'b': 2, 'c': 3}, 'odd')
     result = [element for element in iterator]
     self.assertEqual(result, ['a', 'c'])
コード例 #8
0
ファイル: test_task2.py プロジェクト: etetin/HackerRank
 def test_range_even(self):
     iterator = MyIterator(range(10), 'even')
     result = [element for element in iterator]
     self.assertEqual(result, [1, 3, 5, 7, 9])
コード例 #9
0
ファイル: test_task2.py プロジェクト: etetin/HackerRank
 def test_range_odd(self):
     iterator = MyIterator(range(10), 'odd')
     result = [element for element in iterator]
     self.assertEqual(result, [0, 2, 4, 6, 8])
コード例 #10
0
ファイル: test_task2.py プロジェクト: etetin/HackerRank
 def test_simple_case_even(self):
     iterator = MyIterator([1, 2, 3, 4, 5], 'even')
     result = [element for element in iterator]
     self.assertEqual(result, [2, 4])
コード例 #11
0
ファイル: test_task2.py プロジェクト: etetin/HackerRank
 def test_simple_case_odd(self):
     iterator = MyIterator([1, 2, 3, 4, 5], 'odd')
     result = [element for element in iterator]
     self.assertEqual(result, [1, 3, 5])