source: flowtimer/tests/testPhase.py@ 84123db

guix
Last change on this file since 84123db was 84123db, checked in by Enrico Schwass <ennoausberlin@…>, 9 months ago

fix RecurringPhaseList.unrolled and remove progressbar attribute from Schedule

  • Property mode set to 100644
File size: 4.8 KB
RevLine 
[84123db]1import pytest
2from phase import Phase
3
4
5class TestPhase:
6 def test_phase_initialization():
7phase = Phase("Warm-up", 300)
8 assert phase.title == "Warm-up"
9 assert phase.duration == 300
10 assert phase.state == "initial"
11 assert phase.time_left == 300
12
13 def test_phase_str_representation():
14
15 phase = Phase("Warm-up", 300)
16 expected_str = "-->Warm-up\nDuration=300\n"
17 assert str(phase) == expected_str
18
19 def test_phase_start():
20
21 phase = Phase("Warm-up", 300)
22 phase.start()
23 assert phase.state == "running"
24 assert phase.running() is True
25
26 def test_phase_pause():
27
28 phase = Phase("Warm-up", 300)
29 phase.start()
30 phase.pause()
31 assert phase.state == "paused"
32 assert phase.paused() is True
33
34 def test_phase_abort():
35
36 phase = Phase("Warm-up", 300)
37 phase.abort()
38 assert phase.state == "finished"
39 assert phase.finished() is True
40
41 def test_phase_tick():
42
43 phase = Phase("Warm-up", 300)
44 phase.start()
45 phase.tick(60)
46 assert phase.time_left == 240
47 assert phase.state == "running"
48
49 def test_phase_tick_to_completion():
50
51 phase = Phase("Warm-up", 300)
52 phase.start()
53 phase.tick(300)
54 assert phase.time_left == 0
55 assert phase.finished() is True
56
57 def test_phase_tick_beyond_completion():
58
59 phase = Phase("Warm-up", 300)
60 phase.start()
61 phase.tick(350)
62 assert phase.time_left == 0
63 assert phase.finished() is True
Note: See TracBrowser for help on using the repository browser.