generated from aboutcode-org/skeleton
-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy pathtest_versions.py
220 lines (189 loc) · 9.59 KB
/
test_versions.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
#
# Copyright (c) nexB Inc. and others.
# SPDX-License-Identifier: Apache-2.0
#
# Visit https://aboutcode.org and https://github.com/aboutcode-org/univers for support and download.
from univers.version_constraint import VersionConstraint
from univers.versions import AlpineLinuxVersion
from univers.versions import ArchLinuxVersion
from univers.versions import ComposerVersion
from univers.versions import DebianVersion
from univers.versions import EnhancedSemanticVersion
from univers.versions import GentooVersion
from univers.versions import GolangVersion
from univers.versions import MavenVersion
from univers.versions import NginxVersion
from univers.versions import NugetVersion
from univers.versions import PypiVersion
from univers.versions import RpmVersion
from univers.versions import RubygemsVersion
from univers.versions import SemverVersion
from univers.versions import Version
def test_version():
assert Version("1.2.3") == Version("1.2.3")
assert Version("1.2.3") != Version("1.2.4")
assert Version.is_valid("1.2.3")
assert not Version.is_valid(None)
assert Version.normalize("v1.2.3") == "1.2.3"
assert Version("1.2.3").satisfies(VersionConstraint(comparator=">=", version=Version("1.2.3")))
def test_pypi_version():
assert PypiVersion("1.2.3") == PypiVersion("1.2.3")
assert PypiVersion("1.2.3") != PypiVersion("1.2.4")
assert PypiVersion("1") == PypiVersion("1.0")
assert PypiVersion.is_valid("1.2.3")
assert not PypiVersion.is_valid("1.2.3a-1-a")
assert PypiVersion.normalize("v1.2.3") == "1.2.3"
assert PypiVersion("1").satisfies(
VersionConstraint(comparator=">=", version=PypiVersion("1.0.0"))
)
assert PypiVersion("2.4") == PypiVersion("2.4.0")
assert PypiVersion("2.5") > PypiVersion("2.4.0")
assert PypiVersion("2.5") != PypiVersion("2.4.0")
assert PypiVersion("2.4") < PypiVersion("2.5.0")
assert PypiVersion("2.6") >= PypiVersion("2.5.0")
assert PypiVersion("2.3") <= PypiVersion("2.5.0")
assert PypiVersion("2.6") >= PypiVersion("2.6.0")
assert PypiVersion("2.5") <= PypiVersion("2.5.0")
def test_enhanced_semantic_version():
assert EnhancedSemanticVersion("1.2.3-pre.1+build.1") != EnhancedSemanticVersion(
"1.2.3-pre.1+build.0"
)
assert EnhancedSemanticVersion("1.2.3-pre.1+build.1") > EnhancedSemanticVersion(
"1.2.3-pre.1+build.0"
)
assert (
EnhancedSemanticVersion("1.2.3-pre.1+build.1").precedence_key
!= EnhancedSemanticVersion("1.2.3-pre.1+build.0").precedence_key
)
def test_semver_version():
assert SemverVersion.is_valid("1.2.3")
assert SemverVersion.is_valid("1.2.3-pre.1+build.1")
version = SemverVersion("1.2.3-pre.1+build.1")
assert version.major == 1
assert version.minor == 2
assert version.patch == 3
assert version.prerelease == ("pre", "1")
assert version.build == ("build", "1")
assert version.next_major() == SemverVersion("2.0.0")
assert version.next_minor() == SemverVersion("1.3.0")
assert version.next_patch() == SemverVersion("1.2.3")
assert SemverVersion("1.2.3").next_patch() == SemverVersion("1.2.4")
assert version.satisfies(
VersionConstraint(comparator=">=", version=SemverVersion("1.2.3-pre.1+build.1"))
)
assert SemverVersion("1.0.0") == SemverVersion("1.0")
assert SemverVersion("1.2.3+42") != SemverVersion("1.2.3+23")
assert SemverVersion("1.2.3+42") > SemverVersion("1.2.3+23")
def test_nginx_version():
assert NginxVersion("1.2").is_stable
assert NginxVersion("1.2.3").is_stable
assert not NginxVersion("1.3.0").is_stable
assert NginxVersion("1.0.0") == NginxVersion("1")
assert NginxVersion("1.0.0") == NginxVersion("1.0")
assert NginxVersion("1.0.0") == NginxVersion("1.0.0")
assert NginxVersion("1.0") > NginxVersion("0.3.0")
assert NginxVersion("0.1.0") < NginxVersion("0.3.0")
assert NginxVersion("0.1") != NginxVersion("0.1.1")
assert NginxVersion("0.1.1") >= NginxVersion("0.1")
assert NginxVersion("0.1.1") >= NginxVersion("0.1.1")
assert NginxVersion("0.1.1") <= NginxVersion("0.1.1")
assert NginxVersion("0.1.1") <= NginxVersion("0.1.2")
def test_rubygems_version():
assert RubygemsVersion("1.2.0") == RubygemsVersion("1.2")
assert RubygemsVersion.is_valid("1.2ab")
assert RubygemsVersion.is_valid("1.2.3.a.b.c.d")
assert not RubygemsVersion.is_valid("aa")
assert RubygemsVersion("1.3.0") == RubygemsVersion("1.3")
assert RubygemsVersion("1.3.0") <= RubygemsVersion("1.3")
assert RubygemsVersion("1.1.3") <= RubygemsVersion("1.3")
assert RubygemsVersion("1.4.pre") >= RubygemsVersion("1.3")
assert RubygemsVersion("1.4.pre") != RubygemsVersion("1.4")
def test_arch_linux_version():
assert ArchLinuxVersion("1.2.3-1") == ArchLinuxVersion("1.2.3-1")
assert ArchLinuxVersion("1.2.3-1") != ArchLinuxVersion("1.2.3-2")
assert ArchLinuxVersion("1.2.3-1") > ArchLinuxVersion("1.2.3-0")
assert ArchLinuxVersion("1.2.3-1") < ArchLinuxVersion("1.2.3-2")
assert ArchLinuxVersion("1.2.3-1") >= ArchLinuxVersion("1.2.3-1")
assert ArchLinuxVersion("1.2.3-1") <= ArchLinuxVersion("1.2.3-1")
def test_debian_version():
assert DebianVersion("1.2.3-1") == DebianVersion("1.2.3-1")
assert not DebianVersion.is_valid("n")
assert DebianVersion.is_valid("1.2.3-1")
assert DebianVersion("1.2.3-1") == DebianVersion("1.2.3-1")
assert DebianVersion("1.2.3-1") != DebianVersion("1.2.3-2")
assert DebianVersion("1.2.3-1") > DebianVersion("1.2.3-0")
assert DebianVersion("1.2.3-1") < DebianVersion("1.2.3-2")
assert DebianVersion("1.2.3-1") >= DebianVersion("1.2.3-1")
assert DebianVersion("1.2.3-1") <= DebianVersion("1.2.3-1")
def test_maven_version():
assert MavenVersion("1.2.3") == MavenVersion("1.2.3")
assert MavenVersion("1.2.3") != MavenVersion("1.2.4")
assert MavenVersion("1") == MavenVersion("1.0")
assert MavenVersion.is_valid("1.2.3")
assert MavenVersion("1.2.3") == MavenVersion("1.2.3")
assert MavenVersion("1.2.3") != MavenVersion("1.2.4")
assert MavenVersion("1.2.3") > MavenVersion("1.2.2")
assert MavenVersion("1.2.3") < MavenVersion("1.2.4")
assert MavenVersion("1.2.3") >= MavenVersion("1.2.3")
assert MavenVersion("1.2.3") <= MavenVersion("1.2.3")
def test_nuget_version():
assert NugetVersion("1.2.3") == NugetVersion("1.2.3")
assert NugetVersion("1.2.3") != NugetVersion("1.2.4")
assert NugetVersion("1") == NugetVersion("1.0")
assert NugetVersion.is_valid("1.2.3")
assert not NugetVersion.is_valid("1.2.3a-1-a")
def test_rpm_version():
assert RpmVersion("1.2.3-1") == RpmVersion("1.2.3-1")
assert RpmVersion("1.2.3-1") != RpmVersion("1.2.3-2")
assert RpmVersion("1.2.3-1") > RpmVersion("1.2.3-0")
assert RpmVersion("1.2.3-1") < RpmVersion("1.2.3-2")
assert RpmVersion("1.2.3-1") >= RpmVersion("1.2.3-1")
assert RpmVersion("1.2.3-1") <= RpmVersion("1.2.3-1")
def test_gentoo_version():
assert GentooVersion("1.2.3") == GentooVersion("1.2.3")
assert GentooVersion("1.2.3") != GentooVersion("1.2.4")
assert GentooVersion.is_valid("1.2.3")
assert not GentooVersion.is_valid("1.2.3a-1-a")
def test_alpine_linux_version():
assert AlpineLinuxVersion("1.2.3-r1") == AlpineLinuxVersion("1.2.3-r1")
assert AlpineLinuxVersion("1.2.3-r1") != AlpineLinuxVersion("1.2.3-r2")
assert AlpineLinuxVersion("1.2.3-r1") > AlpineLinuxVersion("1.2.3-r0")
assert AlpineLinuxVersion("1.2.3-r1") < AlpineLinuxVersion("1.2.3-r2")
assert AlpineLinuxVersion("1.2.3-r1") >= AlpineLinuxVersion("1.2.3-r1")
assert AlpineLinuxVersion("1.2.3-r1") <= AlpineLinuxVersion("1.2.3-r1")
assert AlpineLinuxVersion.is_valid("1.2.3-r1")
assert not AlpineLinuxVersion.is_valid("007")
def test_composer_version():
assert ComposerVersion("1.2.3") == ComposerVersion("1.2.3")
assert ComposerVersion("1.2.3") != ComposerVersion("1.2.4")
assert ComposerVersion("1") == ComposerVersion("1.0")
assert ComposerVersion("v1.0") == ComposerVersion("1.0")
assert ComposerVersion.is_valid("1.2.3")
assert ComposerVersion.is_valid("1.2.3a-1-a")
assert ComposerVersion("1.0.0") == ComposerVersion("v1")
assert ComposerVersion("1.0.0") == ComposerVersion("v1.0")
assert ComposerVersion("1.0.0") == ComposerVersion("v1.0.0")
assert ComposerVersion("v1.0") > ComposerVersion("v0.3.0")
assert ComposerVersion("v0.1.0") < ComposerVersion("v0.3.0")
assert ComposerVersion("v0.1") != ComposerVersion("v0.1.1")
assert ComposerVersion("v0.1.1") >= ComposerVersion("v0.1")
assert ComposerVersion("v0.1.1") >= ComposerVersion("v0.1.1")
assert ComposerVersion("v0.1.1") <= ComposerVersion("v0.1.1")
assert ComposerVersion("v0.1.1") <= ComposerVersion("v0.1.2")
def test_golang_version():
assert GolangVersion("1.2.3") == GolangVersion("1.2.3")
assert GolangVersion("1.2.3") != GolangVersion("1.2.4")
assert GolangVersion("1") == GolangVersion("1.0")
assert GolangVersion("v1.0") == GolangVersion("1.0")
assert GolangVersion.is_valid("1.2.3")
assert GolangVersion.is_valid("1.2.3a-1-a")
assert GolangVersion("1.0.0") == GolangVersion("v1")
assert GolangVersion("1.0.0") == GolangVersion("v1.0")
assert GolangVersion("1.0.0") == GolangVersion("v1.0.0")
assert GolangVersion("v1.0") > GolangVersion("v0.3.0")
assert GolangVersion("v0.1.0") < GolangVersion("v0.3.0")
assert GolangVersion("v0.1") != GolangVersion("v0.1.1")
assert GolangVersion("v0.1.1") >= GolangVersion("v0.1")
assert GolangVersion("v0.1.1") >= GolangVersion("v0.1.1")
assert GolangVersion("v0.1.1") <= GolangVersion("v0.1.1")
assert GolangVersion("v0.1.1") <= GolangVersion("v0.1.2")