counter: init-overrideable

pull/28/head
Konstantin Baierer 3 years ago
parent 9b1da7c023
commit 98568402c7

@ -7,6 +7,8 @@ class EynollahIdCounter():
def __init__(self, region_idx=0, line_idx=0):
self._counter = Counter()
self.set('region', region_idx)
self.set('line', line_idx)
def inc(self, name, val=1):
self._counter.update({name: val})

@ -0,0 +1,27 @@
from tests.base import main
from qurator.eynollah.utils.counter import EynollahIdCounter
def test_counter_string():
c = EynollahIdCounter()
assert c.next_region_id == 'region_0001'
assert c.next_region_id == 'region_0002'
assert c.next_line_id == 'region_0002_line_0001'
assert c.next_region_id == 'region_0003'
assert c.next_line_id == 'region_0003_line_0001'
def test_counter_init():
c = EynollahIdCounter(region_idx=2)
assert c.get('region') == 2
def test_counter_methods():
c = EynollahIdCounter()
assert c.get('region') == 0
c.inc('region', 5)
assert c.get('region') == 5
c.set('region', 10)
assert c.get('region') == 10
c.inc('region', -9)
assert c.get('region') == 1
if __name__ == '__main__':
main(__file__)
Loading…
Cancel
Save