Changeset df0449c in flowtimer


Ignore:
Timestamp:
08/31/24 14:57:29 (9 months ago)
Author:
Enrico Schwass <ennoausberlin@…>
Branches:
guix
Children:
f2a2a82
Parents:
8f41b95
Message:

fix one remaining unit test

Files:
1 added
5 edited

Legend:

Unmodified
Added
Removed
  • flowtimer/Phase.py

    r8f41b95 rdf0449c  
    77    This class is a representation of a single phase inside a timer
    88    """
     9
     10    @classmethod
     11    def default(cls):
     12        return cls('Default', 30)
    913
    1014    def __init__(self, title, ticks):
     
    7175    def is_running(self):
    7276        return self._state == "running"
    73         # return self.time_left > 0
    7477
    7578    def is_terminated(self):
     
    8386
    8487    def tick(self, ticks):
     88        self.start()
    8589        result = self._ticks_left - ticks
    8690
    87         if result <= 0:
     91        if result < 1:
    8892            self._ticks_left = 0
    8993            self._state = "completed"
  • flowtimer/RecurringPhaseSequence.py

    r8f41b95 rdf0449c  
    7070    def ticks_left(self):
    7171        return (
    72             (self.passes_left-1) * sum([each.initial_ticks for each in self.phases]) +
     72            (self.passes_left) * sum([each.initial_ticks for each in self.phases]) +
    7373            self.current_phase.ticks_left +
    7474            sum([each.ticks_left for each in self.upcoming_phases_in_pass()]))
     
    8080
    8181    def is_final_round(self):
    82         print("Final round", self.passes_left)
    8382        return self.passes_left == 0
    8483
     
    108107        else:
    109108            if self.is_final_round():
    110                 print("Abort on final round")
    111109                self.abort()
    112110                return
    113111            else:
    114112                self.passes_left -= 1
    115                 print("Skip", self.passes_left)
    116113                self.current_phase.reset()
    117114                self.current_phase = self.phases[0]
     
    123120            self.current_phase.reset()
    124121            self.current_phase = self.phases[current_index + 1]
     122            # self.current_phase.start()
    125123        else:
    126124            # Completed a full sequence; check if more repetitions are needed
     
    128126            if self.passes_left < 1:
    129127                self._state = "completed"
    130                 print("Passes left", self.passes_left)
    131128            else:
    132129                self.current_phase.reset()
    133130                self.current_phase = self.phases[0]  # Reset to the first phase
     131                # self.current_phase.start()
    134132
    135133    def tick(self, ticks):
     
    139137                self.advance_to_next_phase()
    140138                result = self.tick(abs(result))
    141                 return
     139                return result
     140            return result
     141        else:
     142            return 0
    142143
    143144    def unrolled(self):
  • flowtimer/Schedule.py

    r8f41b95 rdf0449c  
    144144    def skip(self):
    145145        if self.current_block.is_sequence():
    146             print("Skip the next phase in sequence")
    147146            self.current_block.skip()
    148147            if self.current_block.is_terminated():
     
    153152            return
    154153        if self.current_block_is_final():
    155             print("Time over")
    156154            self.abort()
    157155            return
  • tests/test_phase.py

    r8f41b95 rdf0449c  
    22from flowtimer.Phase import Phase
    33
     4
    45class TestPhase:
    56
    6     def test_phase_initialization(self):
    7         phase = Phase("Warm-up", 300)
    8         assert phase.title == "Warm-up"
    9         assert phase.initial_ticks == 300
     7    @pytest.fixture
     8    def phase(self):
     9        return Phase.default()
     10
     11    def test_phase_initialization(self, phase):
     12        assert phase.title == "Default"
     13        assert phase.initial_ticks == 30
    1014        assert phase.state == "initial"
    11         assert phase.ticks_left == 300
     15        assert phase.ticks_left == 30
    1216
    1317#    def test_phase_str_representation(self):
     
    1620#        assert str(phase) == expected_str
    1721
    18     def test_phase_start(self):
    19         phase = Phase("Warm-up", 300)
     22    def test_phase_start(self, phase):
    2023        phase.start()
    2124        assert phase.state == "running"
    2225        assert phase.is_running() is True
    2326
    24     def test_phase_pause(self):
    25         phase = Phase("Warm-up", 300)
     27    def test_phase_pause(self, phase):
    2628        phase.start()
    2729        phase.pause()
     
    2931        assert phase.is_paused() is True
    3032
    31     def test_phase_abort(self):
    32         phase = Phase("Warm-up", 300)
     33    def test_phase_abort(self, phase):
    3334        phase.abort()
    3435        assert phase.state == "aborted"
    3536        assert phase.is_aborted() is True
    3637
    37     def test_phase_tick(self):
    38         phase = Phase("Warm-up", 300)
     38    def test_phase_tick(self, phase):
    3939        phase.start()
    40         phase.tick(60)
    41         assert phase.ticks_left == 240
     40        phase.tick(10)
     41        assert phase.ticks_left == 20
    4242        assert phase.state == "running"
     43        assert phase.is_running()
    4344
    44     def test_phase_tick_to_completion(self):
    45         phase = Phase("Warm-up", 300)
     45    def test_phase_tick_to_completion(self, phase):
    4646        phase.start()
    47         phase.tick(300)
     47        phase.tick(30)
    4848        assert phase.ticks_left == 0
    4949        assert phase.is_completed() is True
     50        assert phase.state == 'completed'
    5051
    51     def test_phase_tick_beyond_completion(self):
    52         phase = Phase("Warm-up", 300)
     52    def test_phase_tick_beyond_completion(self, phase):
    5353        phase.start()
    5454        phase.tick(350)
    5555        assert phase.ticks_left == 0
     56        assert phase.is_completed() is True
     57        assert phase.state == 'completed'
  • tests/test_recurring_phase_sequence.py

    r8f41b95 rdf0449c  
    5050        total_ticks = (sum([phase.initial_ticks for phase in recurring_phase_sequence.phases]) *
    5151                       recurring_phase_sequence.initial_repetitions)
    52 
    5352        assert recurring_phase_sequence.ticks_left == total_ticks
    5453        recurring_phase_sequence.tick(10)
Note: See TracChangeset for help on using the changeset viewer.