generated from nullndr/pyproj
chore: add Counter class
This commit is contained in:
20
src/counter.py
Normal file
20
src/counter.py
Normal file
@@ -0,0 +1,20 @@
|
||||
|
||||
class Counter:
|
||||
def __init__(self, val=0):
|
||||
self.reset_on = val
|
||||
self.val = val
|
||||
|
||||
def __repr__(self):
|
||||
return f"Counter: {self.val} [reset on {self.reset_on}]"
|
||||
|
||||
def incr(self):
|
||||
self.val += 1
|
||||
return self.val
|
||||
|
||||
def decr(self):
|
||||
self.val -= 1
|
||||
return self.val
|
||||
|
||||
def reset(self):
|
||||
self.val = self.reset_on
|
||||
return self.val
|
||||
25
src/main.py
25
src/main.py
@@ -2,6 +2,7 @@
|
||||
|
||||
from strings import *
|
||||
from tree import *
|
||||
from counter import *
|
||||
|
||||
def trees():
|
||||
t = build_tree((1,
|
||||
@@ -73,8 +74,30 @@ def trees():
|
||||
assert number_of_nodes(build_tree((0, (1, None, None), (2, None, None)))) == 3
|
||||
assert number_of_nodes(build_tree((0, (1, (3, None, None), None), (2, None, None)))) == 4
|
||||
|
||||
def main():
|
||||
def counter():
|
||||
c = Counter()
|
||||
assert c.incr() == 1
|
||||
assert c.decr() == 0
|
||||
assert c.decr() == -1
|
||||
assert c.reset() == 0
|
||||
|
||||
c = Counter(5)
|
||||
c.incr()
|
||||
c.incr()
|
||||
c.incr()
|
||||
assert c.val == 8
|
||||
c.reset()
|
||||
assert c.val == 5
|
||||
|
||||
c = Counter(-1)
|
||||
assert c.val == -1
|
||||
c.incr()
|
||||
c.incr()
|
||||
assert c.val == 1
|
||||
|
||||
|
||||
def main():
|
||||
counter()
|
||||
pass
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
Reference in New Issue
Block a user