Coverage for test_e15_rain.py : 100%

Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
1from e15_rain import get_rainfall
2import pytest
3from io import StringIO
6def test_nothing(monkeypatch, capsys):
7 monkeypatch.setattr('sys.stdin', StringIO('\n'))
8 get_rainfall()
9 captured_out, captured_err = capsys.readouterr()
10 assert captured_out.strip() == 'Enter city name:'
13def test_one_city(monkeypatch, capsys):
14 monkeypatch.setattr('sys.stdin', StringIO('Tel Aviv\n5\n\n'))
15 get_rainfall()
16 captured_out, captured_err = capsys.readouterr()
17 assert captured_out.endswith('Tel Aviv: 5\n')
20def test_two_cities(monkeypatch, capsys):
21 monkeypatch.setattr('sys.stdin', StringIO('Tel Aviv\n5\nJerusalem\n3\n\n'))
22 get_rainfall()
23 captured_out, captured_err = capsys.readouterr()
24 assert captured_out.endswith('Tel Aviv: 5\nJerusalem: 3\n')
27def test_repeat_city(monkeypatch, capsys):
28 monkeypatch.setattr('sys.stdin', StringIO(
29 'Tel Aviv\n5\nJerusalem\n3\nTel Aviv\n7\n\n'))
30 get_rainfall()
31 captured_out, captured_err = capsys.readouterr()
32 assert captured_out.endswith('Tel Aviv: 12\nJerusalem: 3\n')
35def test_no_checking_of_rain_input(monkeypatch, capsys):
36 with pytest.raises(ValueError):
37 monkeypatch.setattr('sys.stdin', StringIO('Tel Aviv\nabc\n\n'))
38 get_rainfall()