Index: tests/testPhase.py
===================================================================
--- tests/testPhase.py	(revision 84123db241e5003f75dc20ce13a71f3ab41f96ba)
+++ tests/testPhase.py	(revision 84123db241e5003f75dc20ce13a71f3ab41f96ba)
@@ -0,0 +1,63 @@
+import pytest
+from phase import Phase
+
+
+class TestPhase:
+  def test_phase_initialization():
+phase = Phase("Warm-up", 300)
+                assert phase.title == "Warm-up"
+                assert phase.duration == 300
+                assert phase.state == "initial"
+                assert phase.time_left == 300
+
+                        def test_phase_str_representation():
+
+                                phase = Phase("Warm-up", 300)
+                                expected_str = "-->Warm-up\nDuration=300\n"
+                                assert str(phase) == expected_str
+
+                                        def test_phase_start():
+
+                                                phase = Phase("Warm-up", 300)
+                                                phase.start()
+                                                assert phase.state == "running"
+                                                assert phase.running() is True
+
+                                                            def test_phase_pause():
+
+                                                                    phase = Phase("Warm-up", 300)
+                                                                    phase.start()
+                                                                    phase.pause()
+                                                                    assert phase.state == "paused"
+                                                                    assert phase.paused() is True
+
+                                                                                    def test_phase_abort():
+
+                                                                                            phase = Phase("Warm-up", 300)
+                                                                                            phase.abort()
+                                                                                            assert phase.state == "finished"
+                                                                                            assert phase.finished() is True
+
+                                                                                                        def test_phase_tick():
+
+                                                                                                                phase = Phase("Warm-up", 300)
+                                                                                                                phase.start()
+                                                                                                                phase.tick(60)
+                                                                                                                assert phase.time_left == 240
+                                                                                                                assert phase.state == "running"
+
+                                                                                                                                def test_phase_tick_to_completion():
+
+                                                                                                                                        phase = Phase("Warm-up", 300)
+                                                                                                                                        phase.start()
+                                                                                                                                        phase.tick(300)
+                                                                                                                                        assert phase.time_left == 0
+                                                                                                                                        assert phase.finished() is True
+
+                                                                                                                                                        def test_phase_tick_beyond_completion():
+
+                                                                                                                                                                phase = Phase("Warm-up", 300)
+                                                                                                                                                                phase.start()
+                                                                                                                                                                phase.tick(350)
+                                                                                                                                                                assert phase.time_left == 0
+                                                                                                                                                                assert phase.finished() is True
