예제 #1
0
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 ?')
예제 #2
0
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
예제 #3
0
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
예제 #4
0
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
예제 #5
0
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')