Skip to content

Commit 30a36da

Browse files
committed
test(SemVerIncrement): safe_cast
1 parent 261e754 commit 30a36da

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

tests/test_bump_rule.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -624,3 +624,25 @@ def test_get_highest_mixed_order(self):
624624
def test_get_highest_with_none_values(self):
625625
increments = [None, SemVerIncrement.MINOR, None, SemVerIncrement.PATCH]
626626
assert SemVerIncrement.get_highest(increments) == SemVerIncrement.MINOR
627+
628+
629+
class TestSafeCast:
630+
def test_safe_cast_valid_strings(self):
631+
assert SemVerIncrement.safe_cast("MAJOR") == SemVerIncrement.MAJOR
632+
assert SemVerIncrement.safe_cast("MINOR") == SemVerIncrement.MINOR
633+
assert SemVerIncrement.safe_cast("PATCH") == SemVerIncrement.PATCH
634+
635+
def test_safe_cast_invalid_strings(self):
636+
assert SemVerIncrement.safe_cast("invalid") is None
637+
assert SemVerIncrement.safe_cast("major") is None # case sensitive
638+
assert SemVerIncrement.safe_cast("") is None
639+
640+
def test_safe_cast_non_string_values(self):
641+
assert SemVerIncrement.safe_cast(None) is None
642+
assert SemVerIncrement.safe_cast(1) is None
643+
assert SemVerIncrement.safe_cast(True) is None
644+
assert SemVerIncrement.safe_cast([]) is None
645+
assert SemVerIncrement.safe_cast({}) is None
646+
assert (
647+
SemVerIncrement.safe_cast(SemVerIncrement.MAJOR) is None
648+
) # enum value itself

0 commit comments

Comments
 (0)