def test_database_empty_spans(self): a = datetime.fromtimestamp(0) b = datetime.fromtimestamp(1) self.assertEqual(list(self.database.get_desk_spans(a, b)), [Span(a, b, Down())]) self.assertEqual(list(self.database.get_session_spans(a, b)), [Span(a, b, Inactive())])
def test_compute_active_time_active(self): desk_span = Span(datetime.fromtimestamp(0), datetime.fromtimestamp(1000), Down()) session_span = Span(datetime.fromtimestamp(0), datetime.fromtimestamp(1000), Active()) self.assertEqual( stats.compute_active_time([session_span], [desk_span]), timedelta(seconds=1000))
def test_database_insert_desk(self): a = datetime(2017, 1, 1) b = datetime(2017, 1, 2) c = datetime(2017, 1, 3) event = Event(b, Up()) self.database.insert_desk_event(event) events = self.database.get_desk_events() self.assertEqual(events, [event]) spans = list(self.database.get_desk_spans(a, c)) self.assertEqual(spans, [Span(a, b, Down()), Span(b, c, Up())])
def test_desk_from_int(self): self.assertEqual(model.desk_from_int(0), Down()) self.assertEqual(model.desk_from_int(1), Up()) self.assertRaises(ValueError, model.desk_from_int, 2)
def test_up_next(self): self.assertEqual(Up().next(), Down())
def test_down_test(self): self.assertEqual(Down().test(0, 1), 0)
def test_down_next(self): self.assertEqual(Down().next(), Up())
def test_hardware_go_down(self): self.hardware.go(Down()) self.gpio.output.assert_has_calls( [call(0, self.gpio.HIGH), call(0, self.gpio.LOW)]) self.time_sleep.assert_called_once_with(5)
def test_overwrite(self): self.timer.schedule(timedelta(seconds=1), Up()) self.timer.schedule(timedelta(seconds=0), Down()) self.action.assert_called_with(Down())
def test_schedule_down(self): self.timer.schedule(timedelta(seconds=0), Down()) self.action.assert_called_with(Down())
def test_stop(self): self.timer.schedule(timedelta(seconds=0.05), Down()) self.timer.stop() time.sleep(0.1) self.action.assert_not_called()