def test_sleep2(self): s = HistoricalScheduler() n = [0] def action(scheduler, state): s.sleep(timedelta(3 * 6000)) n[0] += 1 s.schedule_absolute(s.now + timedelta(6000), action) s.schedule_absolute(s.now + timedelta(6000), action) s.advance_to(s.now + timedelta(5 * 6000)) self.assertEqual(2, n[0])
def test_sleep2(self): s = HistoricalScheduler() n = [0] def action(rec): s.sleep(timedelta(3 * 6000)) n[0] += 1 rec(s.now + timedelta(6000)) s.schedule_recursive_with_absolute(s.now + timedelta(6000), action) s.advance_to(s.now + timedelta(5 * 6000)) self.assertEqual(2, n[0])
def test_sleep2(self): s = HistoricalScheduler() n = [0] def action(scheduler, state): s.sleep(timedelta(3 * 6000)) n[0] += 1 s.schedule_absolute(s.now + timedelta(6000), action) s.schedule_absolute(s.now + timedelta(6000), action) s.advance_to(s.now + timedelta(5 * 6000)) self.assertEqual(2, n[0])
def test_advance_to(self): s = HistoricalScheduler() list = [] s.schedule_absolute(time(0), lambda a,b: list.append(Timestamped(0, s.now)) ) s.schedule_absolute(time(1), lambda a,b: list.append(Timestamped(1, s.now)) ) s.schedule_absolute(time(2), lambda a,b: list.append(Timestamped(2, s.now)) ) s.schedule_absolute(time(10), lambda a,b: list.append(Timestamped(10, s.now)) ) s.schedule_absolute(time(11), lambda a,b: list.append(Timestamped(11, s.now)) ) s.advance_to(time(8)) self.assertEqual(time(8), s.now) self.assertEqual(time(8), s.clock) assert_equals(list, [ Timestamped(0, time(0)), Timestamped(1, time(1)), Timestamped(2, time(2)) ]) s.advance_to(time(8)) self.assertEqual(time(8), s.now) self.assertEqual(time(8), s.clock) assert_equals(list, [ Timestamped(0, time(0)), Timestamped(1, time(1)), Timestamped(2, time(2)) ]) s.schedule_absolute(time(7), lambda a, b: list.append(Timestamped(7, s.now)) ) s.schedule_absolute(time(8), lambda a, b: list.append(Timestamped(8, s.now)) ) self.assertEqual(time(8), s.now) self.assertEqual(time(8), s.clock) assert_equals(list, [ Timestamped(0, time(0)), Timestamped(1, time(1)), Timestamped(2, time(2)) ]) s.advance_to(time(10)) self.assertEqual(time(10), s.now) self.assertEqual(time(10), s.clock) assert_equals(list, [ Timestamped(0, time(0)), Timestamped(1, time(1)), Timestamped(2, time(2)), Timestamped(7, time(8)), Timestamped(8, time(8)), Timestamped(10, time(10)) ]) s.advance_to(time(100)) self.assertEqual(time(100), s.now) self.assertEqual(time(100), s.clock) assert_equals(list, [ Timestamped(0, time(0)), Timestamped(1, time(1)), Timestamped(2, time(2)), Timestamped(7, time(8)), Timestamped(8, time(8)), Timestamped(10, time(10)), Timestamped(11, time(11)) ])
def test_advance_to(self): s = HistoricalScheduler() list = [] s.schedule_absolute(time(0), lambda a,b: list.append(Timestamped(0, s.now)) ) s.schedule_absolute(time(1), lambda a,b: list.append(Timestamped(1, s.now)) ) s.schedule_absolute(time(2), lambda a,b: list.append(Timestamped(2, s.now)) ) s.schedule_absolute(time(10), lambda a,b: list.append(Timestamped(10, s.now)) ) s.schedule_absolute(time(11), lambda a,b: list.append(Timestamped(11, s.now)) ) s.advance_to(time(8)) self.assertEqual(time(8), s.now) self.assertEqual(time(8), s.clock) assert_equals(list, [ Timestamped(0, time(0)), Timestamped(1, time(1)), Timestamped(2, time(2)) ]) s.advance_to(time(8)) self.assertEqual(time(8), s.now) self.assertEqual(time(8), s.clock) assert_equals(list, [ Timestamped(0, time(0)), Timestamped(1, time(1)), Timestamped(2, time(2)) ]) s.schedule_absolute(time(7), lambda a, b: list.append(Timestamped(7, s.now)) ) s.schedule_absolute(time(8), lambda a, b: list.append(Timestamped(8, s.now)) ) self.assertEqual(time(8), s.now) self.assertEqual(time(8), s.clock) assert_equals(list, [ Timestamped(0, time(0)), Timestamped(1, time(1)), Timestamped(2, time(2)) ]) s.advance_to(time(10)) self.assertEqual(time(10), s.now) self.assertEqual(time(10), s.clock) assert_equals(list, [ Timestamped(0, time(0)), Timestamped(1, time(1)), Timestamped(2, time(2)), Timestamped(7, time(8)), Timestamped(8, time(8)), Timestamped(10, time(10)) ]) s.advance_to(time(100)) self.assertEqual(time(100), s.now) self.assertEqual(time(100), s.clock) assert_equals(list, [ Timestamped(0, time(0)), Timestamped(1, time(1)), Timestamped(2, time(2)), Timestamped(7, time(8)), Timestamped(8, time(8)), Timestamped(10, time(10)), Timestamped(11, time(11)) ])