Exemple #1
0
def test_outlet_schedule_entry_add(outlet_schedule_data, sispy):
    schedule = OutletSchedule(outlet_schedule_data, sispy)

    schedule.add_entry()
    assert len(schedule.entries) == 3

    schedule_entry2 = schedule.entries[1]
    schedule_entry3 = schedule.entries[2]
    assert schedule_entry3.switch_on is False
    assert schedule_entry3.start_time == schedule_entry2.end_time
    assert schedule_entry3.minutes_to_next_schedule_entry == 0
    assert schedule_entry3.end_time == schedule_entry2.end_time
Exemple #2
0
def test_outlet_schedule_entry_remove(outlet_schedule_data, sispy):
    schedule = OutletSchedule(outlet_schedule_data, sispy)

    schedule.remove_entry()
    assert len(schedule.entries) == 1

    # make sure we removed the correct one ;-)
    entry1 = schedule.entries[0]
    assert entry1.switch_on is True
    assert entry1.minutes_to_next_schedule_entry == 3
    assert entry1.start_time == time.strptime('2016-01-05 17:11:35 UTC', '%Y-%m-%d %H:%M:%S %Z')
    assert entry1.end_time == time.strptime('2016-01-05 17:14:35 UTC', '%Y-%m-%d %H:%M:%S %Z')
Exemple #3
0
def test_outlet_schedule_change_periodicity(outlet_schedule_data, sispy):
    schedule = OutletSchedule(outlet_schedule_data, sispy)

    assert schedule.periodic is True
    assert schedule.periodicity_minutes == 5
    assert schedule.schedule_minutes is None

    schedule.periodic = False
    assert schedule.periodic is False
    assert schedule.periodicity_minutes is None
    assert schedule.schedule_minutes == 5

    with pytest.raises(TypeError):
        schedule.periodic = 1
Exemple #4
0
def test_outlet_schedule_data(outlet_schedule_data, outlet_schedule_data_reset, sispy):
    schedule = OutletSchedule(outlet_schedule_data, sispy)
    begin_time = schedule.time_activated

    assert schedule._construct_data(begin_time) == outlet_schedule_data

    outlet_schedule_data[8] = 0
    outlet_schedule_data[9] = 0
    schedule.periodic = False
    assert schedule._construct_data(begin_time) == outlet_schedule_data

    schedule.reset()
    # when writing, the rampup time is set to 0 is no entries are found
    outlet_schedule_data_reset[36] = 0
    outlet_schedule_data_reset[37] = 0
    assert schedule._construct_data(begin_time) == outlet_schedule_data_reset