def test_yes_no_query_eof(): with mock.patch(mock_input, side_effect=EOFError('Fake EOFError')): assert util.yes_no_query('A question ?', default=True) is True assert util.yes_no_query('A question ?', default=False) is False with pytest.raises(EOFError): util.yes_no_query('A question ?')
def test_yes_no_query_interrupt(): with mock.patch(mock_input, side_effect=KeyboardInterrupt('Fake Ctrl-C')): assert util.yes_no_query('A question ?', interrupt=True) is True assert util.yes_no_query('A question ?', interrupt=False) is False
def test_yes_no_query_nominal_case_no(answer, monkeypatch): monkeypatch.setattr(mock_input, lambda x: answer) assert util.yes_no_query('A question ?') is False
def test_yes_no_query_empty_anwser(answer, monkeypatch): monkeypatch.setattr(mock_input, lambda x: answer) assert util.yes_no_query('A question ?', default=True) is True assert util.yes_no_query('A question ?', default=False) is False
def test_yes_no_query_invalid_input_parameters(): with pytest.raises(ValueError): util.yes_no_query('A question ?', default='invalid param value') with pytest.raises(ValueError): util.yes_no_query('A question ?', interrupt='invalid param value')