Example #1
0
 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, "...")
Example #2
0
 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)
Example #3
0
 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
Example #4
0
 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])
Example #5
0
 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)
Example #6
0
 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
Example #7
0
 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))
Example #8
0
 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)]
Example #9
0
 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)]}