from password_generator import main as main_module def test_main_prints_both_passwords(monkeypatch, capsys): answers = iter(["4", "2", "2"]) monkeypatch.setattr("builtins.input", lambda _prompt="": next(answers)) main_module.main() out = capsys.readouterr().out assert "Easy level:" in out assert "Hard level:" in out def test_main_reprompts_on_invalid_input(monkeypatch, capsys): answers = iter(["abc", "-3", "1", "1", "1"]) monkeypatch.setattr("builtins.input", lambda _prompt="": next(answers)) main_module.main() out = capsys.readouterr().out assert "whole number" in out assert "0 or more" in out