Ejemplo n.º 1
0
def test_update_timer_label_when_timer_changed(subject):
    Timer.send(State.changed, payload=TimerPayload(time_left=10, duration=0))

    markup = subject.timer_markup(format_time_left(10))
    root = ET.fromstring(markup)

    assert subject.widget.get_text() == root.text
Ejemplo n.º 2
0
def test_update_timer_label_when_session_changes(subject):
    Session.send(State.changed, payload=TimerPayload(duration=1, time_left=1))

    markup = subject.timer_markup(format_time_left(1))
    root = ET.fromstring(markup)

    assert subject.widget.get_text() == root.text
Ejemplo n.º 3
0
    def test_should_trigger_changed_event_after_update(self, subject):
        subject.start(10)

        subject._update()

        subject._dispatcher.send.assert_called_with(
            State.changed, payload=TimerPayload(time_left=9, duration=10)
        )
Ejemplo n.º 4
0
    def test_should_trigger_finished_event_when_time_ends(self, subject):
        subject.start(1)

        subject._update()
        subject._update()

        subject._dispatcher.send.assert_called_with(
            State.finished, payload=TimerPayload(time_left=0, duration=1)
        )
Ejemplo n.º 5
0
    def test_should_trigger_started_event_when_timer_start(self, subject):
        subject.start(10)

        subject._dispatcher.send.assert_called_with(
            State.started, payload=TimerPayload(time_left=10, duration=10)
        )
Ejemplo n.º 6
0
    def test_should_be_fifty_percent_when_half_of_time_has_passed(self):
        payload = TimerPayload(duration=10, time_left=5)

        assert payload.ratio == 0.5
Ejemplo n.º 7
0
    def test_should_be_one_hundred_percent_when_the_timer_starts(self):
        payload = TimerPayload(duration=1, time_left=0)

        assert payload.ratio == 1.0
Ejemplo n.º 8
0
    def test_should_be_zero_percent_when_timer_ends(self):
        payload = TimerPayload(duration=1, time_left=1)

        assert payload.ratio == 0.0
Ejemplo n.º 9
0
    def test_should_be_zero_when_duration_is_zero(self):
        # Given
        payload = TimerPayload(duration=0, time_left=1)

        # Then
        assert payload.ratio == 0.0