def test_simulation_orders_events(self): schedule = Scheduler() action = DummyAction(schedule) schedule.at(10, action) schedule.at(5, action) schedule.simulate_until(20) self.verify_calls([5, 10], action)
def test_scheduling_an_action_at_a_given_time(self): schedule = Scheduler() action = DummyAction(schedule) schedule.at(10, action) schedule.simulate_until(20) self.assertEqual(10, schedule.time_now) self.verify_calls([10], action)
def test_simulation_orders_events(self): schedule = Scheduler() action = DummyAction(schedule) schedule.at(10, action) schedule.at(5, action) schedule.simulate_until(20) self.verify_calls([5, 10], action)
def test_scheduling_an_action_at_a_given_time(self): schedule = Scheduler() action = DummyAction(schedule) schedule.at(10, action) schedule.simulate_until(20) self.assertEqual(10, schedule.time_now) self.verify_calls([10], action)
def test_scheduling_twice_an_action_at_a_given_time(self): schedule = Scheduler() action = DummyAction(schedule) schedule.at(5, action) schedule.at(5, action) schedule.simulate_until(20) self.assertLessEqual(5, schedule.time_now) self.verify_calls([5, 5], action)
def test_scheduling_twice_an_action_at_a_given_time(self): schedule = Scheduler() action = DummyAction(schedule) schedule.at(5, action) schedule.at(5, action) schedule.simulate_until(20) self.assertLessEqual(5, schedule.time_now) self.verify_calls([5, 5], action)
def test_scheduling_an_object_is_forbidden(self): schedule = Scheduler() action = "This is not a callable!" with self.assertRaises(ValueError): schedule.at(10, action)
def test_scheduling_action_in_the_past_is_forbidden(self): schedule = Scheduler(20) action = DummyAction(schedule) with self.assertRaises(ValueError): schedule.at(10, action)
def test_scheduling_at_a_non_integer_time(self): schedule = Scheduler() action = DummyAction(schedule) with self.assertRaises(ValueError): schedule.at("now", action)
def test_scheduling_an_object_is_forbidden(self): schedule = Scheduler() action = "This is not a callable!" with self.assertRaises(ValueError): schedule.at(10, action)
def test_scheduling_action_in_the_past_is_forbidden(self): schedule = Scheduler(20) action = DummyAction(schedule) with self.assertRaises(ValueError): schedule.at(10, action)
def test_scheduling_at_a_non_integer_time(self): schedule = Scheduler() action = DummyAction(schedule) with self.assertRaises(ValueError): schedule.at("now", action)