Compare commits

..

No commits in common. "98578c5d06edf70619b8bcc767b0e1c4a132bcb1" and "c7aac676a18352e1b556895831192b71a4a4e0fa" have entirely different histories.

2 changed files with 0 additions and 82 deletions

View File

@ -1,52 +0,0 @@
class VersionManager:
def __init__(self, version=""):
self.major_ = 0
self.minor_ = 0
self.patch_ = 0
if not version:
self.patch_ = 1
else:
parts = version.split(".")
try:
if len(parts) >= 1 and parts[0]:
self.major_ = int(parts[0])
if len(parts) >= 2:
self.minor_ = int(parts[1])
if len(parts) >= 3:
self.patch_ = int(parts[2])
except ValueError:
raise ValueError("Error occured while parsing version!")
self.version_history = [(self.major_, self.minor_, self.patch_)]
def _save_history(self):
self.version_history.append((self.major_, self.minor_, self.patch_))
def major(self):
self._save_history()
self.major_ += 1
self.minor_ = 0
self.patch_ = 0
return self
def minor(self):
self._save_history()
self.minor_ += 1
self.patch_ = 0
return self
def patch(self):
self._save_history()
self.patch_ += 1
return self
def rollback(self):
if len(self.version_history) <= 1:
raise ValueError("Cannot rollback!")
self.major_, self.minor_, self.patch_ = self.version_history.pop()
return self
def release(self):
return f"{self.major_}.{self.minor_}.{self.patch_}"

View File

@ -1,30 +0,0 @@
from src.version_manager import VersionManager
def run_tests():
# Test it_1: Initialization
assert VersionManager().release() == "0.0.1"
assert VersionManager("1.2.3").release() == "1.2.3"
assert VersionManager("1").release() == "1.0.0"
# Test it_5: Rollbacks
vm = VersionManager().major().rollback()
assert vm.release() == "0.0.1"
# Test it_7: Exception Handling
try:
VersionManager("a")
except Exception as e:
assert str(e) == "Error occured while parsing version!"
# Test it_8: Rollback failure
vm2 = VersionManager()
try:
vm2.rollback()
except Exception as e:
assert str(e) == "Cannot rollback!"
print("All tests passed!")
run_tests()