def test_str(self): time_prog = TimeProgram(0, "Name", 10, 3, 10, 7) assert str(time_prog) ==\ "idx={:d}, name={!r}, ead={:d}, nos={:d}, ste={:d}, nod={:d}, entries=[{}]".format( 0, "Name", 10, 3, 10, 7, "") time_prog.set_entry(0, 0, TimeProgEntry(0, TimeProgPeriod(0, 0, 0, 0))) assert str(time_prog) ==\ "idx={:d}, name={!r}, ead={:d}, nos={:d}, ste={:d}, nod={:d}, entries=[{}]".format( 0, "Name", 10, 3, 10, 7, "...")
def test_entry_raises_IndexError(self): time_prog = TimeProgram(0, "Name", 10, 3, 10, 7) with pytest.raises(IndexError): time_prog.entry(time_prog.number_of_days, 0) with pytest.raises(IndexError): time_prog.entry(0, time_prog.entries_a_day) with pytest.raises(IndexError): time_prog.entry(time_prog.number_of_days, time_prog.entries_a_day)
def test_properties(self): time_prog = TimeProgram(0, "Name", 10, 3, 10, 7) assert time_prog.index == 0 assert time_prog.name == "Name" assert time_prog.entries_a_day == 10 assert time_prog.number_of_states == 3 assert time_prog.step_size == 10 assert time_prog.number_of_days == 7
def test_init(self): time_prog = TimeProgram(0, "Name", 10, 3, 10, 7) assert time_prog.index == 0 assert time_prog.name == "Name" assert time_prog.entries_a_day == 10 assert time_prog.number_of_states == 3 assert time_prog.step_size == 10 assert time_prog.number_of_days == 7 assert len(time_prog._entries) == time_prog.number_of_days assert all([len(entries_of_day) == time_prog.entries_a_day for entries_of_day in time_prog._entries])
def test_set_entry_raises_IndexError(self): time_prog = TimeProgram(0, "Name", 10, 3, 15, 7) entry = TimeProgEntry(0, TimeProgPeriod(0, 0, 0, 0)) with pytest.raises(IndexError): time_prog.set_entry(time_prog.number_of_days, 0, entry) with pytest.raises(IndexError): time_prog.set_entry(0, time_prog.entries_a_day, entry)
def test_entry(self, day: int, num: int): time_prog = TimeProgram(0, "Name", 10, 3, 10, 7) assert time_prog.entry(day, num) is None entry = TimeProgEntry(0, TimeProgPeriod(0, 0, 0, 0)) time_prog.set_entry(day, num, entry) assert time_prog.entry(day, num) == entry assert time_prog.entry(day, num) is not entry # time_prog.entry() should be a "deepcopy" of entry
def test_set_entry_raises_ValueError(self, state: int, start_hour: int, start_minute: int, end_hour: int, end_minute: int): time_prog = TimeProgram(0, "Name", 10, 3, 15, 7) period = TimeProgPeriod(start_hour, start_minute, end_hour, end_minute) with pytest.raises(ValueError): time_prog.set_entry(0, 0, TimeProgEntry(state, period))
def test_entries_of_day(self, day: int): time_prog = TimeProgram(0, "Name", 10, 3, 10, 7) entries_of_day = time_prog.entries_of_day(day) assert len(entries_of_day) == time_prog.entries_a_day assert entries_of_day == [None for _ in range(time_prog.entries_a_day)]
def test_as_json(self): time_prog = TimeProgram(0, "Name", 10, 3, 10, 7) assert time_prog.as_json(False) == {"index": 0, "name": "Name", "ead": 10, "nos": 3, "ste": 10, "nod": 7} assert time_prog.as_json(True) == {"index": 0, "name": "Name", "ead": 10, "nos": 3, "ste": 10, "nod": 7, "entries": [[None for _ in range(time_prog.entries_a_day)] for _ in range(time_prog.number_of_days)]}