Skip to content

Commit 4841d6f

Browse files
authored
Increase coverage (#268)
* Increase coverage in VersionInfo.compare * Test __repr__ * Test nextver subcommand * Run black
1 parent e8b388d commit 4841d6f

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed

test_semver.py

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
parse_version_info,
2626
process,
2727
replace,
28+
cmd_nextver,
2829
)
2930

3031
SEMVERFUNCS = [
@@ -659,6 +660,8 @@ def test_should_not_allow_to_compare_version_with_int():
659660
v1 > 1
660661
with pytest.raises(TypeError):
661662
1 > v1
663+
with pytest.raises(TypeError):
664+
v1.compare(1)
662665

663666

664667
def test_should_compare_prerelease_with_numbers_and_letters():
@@ -911,6 +914,22 @@ def test_should_parse_cli_arguments(cli, expected):
911914
# check subcommand
912915
(cmd_check, Namespace(version="1.2.3"), does_not_raise(None)),
913916
(cmd_check, Namespace(version="1.2"), pytest.raises(ValueError)),
917+
# nextver subcommand
918+
(
919+
cmd_nextver,
920+
Namespace(version="1.2.3", part="major"),
921+
does_not_raise("2.0.0"),
922+
),
923+
(
924+
cmd_nextver,
925+
Namespace(version="1.2", part="major"),
926+
pytest.raises(ValueError),
927+
),
928+
(
929+
cmd_nextver,
930+
Namespace(version="1.2.3", part="nope"),
931+
pytest.raises(ValueError),
932+
),
914933
],
915934
)
916935
def test_should_process_parsed_cli_arguments(func, args, expectation):
@@ -1074,3 +1093,36 @@ def test_next_version_with_versioninfo(version, part, expected):
10741093
next_version = ver.next_version(part)
10751094
assert isinstance(next_version, VersionInfo)
10761095
assert str(next_version) == expected
1096+
1097+
1098+
@pytest.mark.parametrize(
1099+
"version, expected",
1100+
[
1101+
(
1102+
VersionInfo(major=1, minor=2, patch=3, prerelease=None, build=None),
1103+
"VersionInfo(major=1, minor=2, patch=3, prerelease=None, build=None)",
1104+
),
1105+
(
1106+
VersionInfo(major=1, minor=2, patch=3, prerelease="r.1", build=None),
1107+
"VersionInfo(major=1, minor=2, patch=3, prerelease='r.1', build=None)",
1108+
),
1109+
(
1110+
VersionInfo(major=1, minor=2, patch=3, prerelease="dev.1", build=None),
1111+
"VersionInfo(major=1, minor=2, patch=3, prerelease='dev.1', build=None)",
1112+
),
1113+
(
1114+
VersionInfo(major=1, minor=2, patch=3, prerelease="dev.1", build="b.1"),
1115+
"VersionInfo(major=1, minor=2, patch=3, prerelease='dev.1', build='b.1')",
1116+
),
1117+
(
1118+
VersionInfo(major=1, minor=2, patch=3, prerelease="r.1", build="b.1"),
1119+
"VersionInfo(major=1, minor=2, patch=3, prerelease='r.1', build='b.1')",
1120+
),
1121+
(
1122+
VersionInfo(major=1, minor=2, patch=3, prerelease="r.1", build="build.1"),
1123+
"VersionInfo(major=1, minor=2, patch=3, prerelease='r.1', build='build.1')",
1124+
),
1125+
],
1126+
)
1127+
def test_repr(version, expected):
1128+
assert repr(version) == expected

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy