from main import take
def test_first_two():
"""take(['a', 'b', 'c'], 2) ist ['a', 'b']"""
got = take(["a", "b", "c"], 2)
assert got == ["a", "b"], f"take(['a', 'b', 'c'], 2) lieferte {got!r}"
def test_runs_out():
"""Wer mehr Elemente verlangt, als es gibt, bekommt alle"""
got = take("xyz", 5)
assert got == ["x", "y", "z"], f"take('xyz', 5) lieferte {got!r}, erwartet: ['x', 'y', 'z']"
def test_leaves_the_rest():
"""take(it, 2) lässt das dritte Element im Iterator"""
it = iter(["a", "b", "c", "d"])
take(it, 2)
got = next(it, None)
assert got == "c", f"nach take(it, 2) lieferte next(it) {got!r}, erwartet: 'c'. take hat zu viele Elemente verbraucht"
def test_zero():
"""take(..., 0) ist eine leere Liste"""
got = take(["a"], 0)
assert got == [], f"take(['a'], 0) lieferte {got!r}, erwartet: []"