Coverage for src / ocarina / infra / act_counter.py: 100.00%

10 statements  

« prev     ^ index     » next       coverage.py v7.13.5, created at 2026-06-04 15:56 +0200

1"""Steps counter ABC.""" 

2 

3from abc import abstractmethod 

4from typing import Protocol, runtime_checkable 

5 

6 

7@runtime_checkable 

8class ActCounter(Protocol): 

9 """Tracks act() call count across a test execution.""" 

10 

11 @abstractmethod 

12 def incr_act_call_count(self) -> None: 

13 """Increment count.""" 

14 raise NotImplementedError # pragma: no cover 

15 

16 @abstractmethod 

17 def reset(self) -> None: 

18 """Reset counter to zero.""" 

19 raise NotImplementedError # pragma: no cover 

20 

21 @abstractmethod 

22 def get(self) -> int: 

23 """Return current count.""" 

24 raise NotImplementedError # pragma: no cover