Versions_Manager #3
@ -13,6 +13,6 @@ repos:
|
|||||||
- id: ruff # Linting
|
- id: ruff # Linting
|
||||||
|
|
||||||
- repo: https://github.com/psf/black
|
- repo: https://github.com/psf/black
|
||||||
rev: stable
|
rev: 24.4.2
|
||||||
hooks:
|
hooks:
|
||||||
- id: black # formatting
|
- id: black # formatting
|
||||||
|
|||||||
10
moduleA.py
Normal file
10
moduleA.py
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
def addition(a=1, b=2):
|
||||||
|
return a + b
|
||||||
|
|
||||||
|
|
||||||
|
def f(x: int, y: int) -> int:
|
||||||
|
return x + y
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
print(addition(5, 5))
|
||||||
@ -1,3 +1,2 @@
|
|||||||
[tool.pytest.ini_options]
|
[tool.pytest.ini_options]
|
||||||
pythonpath = ["."]
|
pythonpath = ["."]
|
||||||
|
|
||||||
|
|||||||
47
src/Codewars_Exercises/Versions_manager.py
Normal file
47
src/Codewars_Exercises/Versions_manager.py
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
class VersionManager:
|
||||||
|
|
||||||
|
def __init__(self, version="0.0.1"):
|
||||||
|
self.version = version
|
||||||
|
if self.version == "":
|
||||||
|
self.version = "0.0.1"
|
||||||
|
self.digits = self.version.split(sep=".")
|
||||||
|
while len(self.digits) < 3:
|
||||||
|
self.digits.append("0")
|
||||||
|
if not (
|
||||||
|
self.digits[0].isdecimal()
|
||||||
|
and self.digits[1].isdecimal()
|
||||||
|
and self.digits[2].isdecimal()
|
||||||
|
):
|
||||||
|
raise Exception("Error occured while parsing version!")
|
||||||
|
self.MAJOR = int(self.digits[0])
|
||||||
|
self.MINOR = int(self.digits[1])
|
||||||
|
self.PATCH = int(self.digits[2])
|
||||||
|
self.history = []
|
||||||
|
|
||||||
|
def major(self):
|
||||||
|
self.history.append((self.MAJOR, self.MINOR, self.PATCH))
|
||||||
|
self.MAJOR += 1
|
||||||
|
self.MINOR = 0
|
||||||
|
self.PATCH = 0
|
||||||
|
return self
|
||||||
|
|
||||||
|
def minor(self):
|
||||||
|
self.history.append((self.MAJOR, self.MINOR, self.PATCH))
|
||||||
|
self.MINOR += 1
|
||||||
|
self.PATCH = 0
|
||||||
|
return self
|
||||||
|
|
||||||
|
def patch(self):
|
||||||
|
self.history.append((self.MAJOR, self.MINOR, self.PATCH))
|
||||||
|
self.PATCH += 1
|
||||||
|
return self
|
||||||
|
|
||||||
|
def rollback(self):
|
||||||
|
if len(self.history) < 1:
|
||||||
|
raise Exception("Cannot rollback!")
|
||||||
|
else:
|
||||||
|
self.MAJOR, self.MINOR, self.PATCH = self.history.pop()
|
||||||
|
return self
|
||||||
|
|
||||||
|
def release(self):
|
||||||
|
return f"{self.MAJOR}.{self.MINOR}.{self.PATCH}"
|
||||||
6
test_moduleA.py
Normal file
6
test_moduleA.py
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
from src.moduleA import addition
|
||||||
|
|
||||||
|
|
||||||
|
def test_a():
|
||||||
|
assert addition() == 3
|
||||||
|
assert addition(5, 5) == 10
|
||||||
Loading…
x
Reference in New Issue
Block a user