def test_josephus_output_order_by_next(people_example): jos = Josephus() jos.start = 2 jos.step = 2 jos.people = people_example assert next(jos) == Person('Peter', 14) assert next(jos) == Person('Jack', 13) assert next(jos) == Person('Bob', 12) with pytest.raises(StopIteration): next(jos)
def test_josephus_query_list(people_example): jos = Josephus() jos.start = 2 jos.step = 2 jos.people = people_example result = jos.query_list() assert result == [ Person('Peter', 14), Person('Jack', 13), Person('Bob', 12) ]
def test_josephus_len(people_example): jos = Josephus() jos.people = people_example assert len(jos) == 3
def test_josephus_pop(people_example): jos = Josephus() jos.people = people_example jos.pop(1) assert jos.people == [Person('Bob', 12), Person('Peter', 14)]