v440 2.0.0.dev26__tar.gz → 2.0.0.dev28__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {v440-2.0.0.dev26/src/v440.egg-info → v440-2.0.0.dev28}/PKG-INFO +2 -2
- {v440-2.0.0.dev26 → v440-2.0.0.dev28}/pyproject.toml +2 -2
- {v440-2.0.0.dev26 → v440-2.0.0.dev28}/src/v440/core/Qualification.py +0 -1
- {v440-2.0.0.dev26 → v440-2.0.0.dev28}/src/v440/core/Version.py +0 -17
- {v440-2.0.0.dev26 → v440-2.0.0.dev28}/src/v440/tests/test_testdata.py +25 -18
- {v440-2.0.0.dev26 → v440-2.0.0.dev28}/src/v440/tests/test_version.py +60 -58
- {v440-2.0.0.dev26 → v440-2.0.0.dev28/src/v440.egg-info}/PKG-INFO +2 -2
- {v440-2.0.0.dev26 → v440-2.0.0.dev28}/src/v440.egg-info/requires.txt +1 -1
- {v440-2.0.0.dev26 → v440-2.0.0.dev28}/LICENSE.txt +0 -0
- {v440-2.0.0.dev26 → v440-2.0.0.dev28}/MANIFEST.in +0 -0
- {v440-2.0.0.dev26 → v440-2.0.0.dev28}/README.rst +0 -0
- {v440-2.0.0.dev26 → v440-2.0.0.dev28}/setup.cfg +0 -0
- {v440-2.0.0.dev26 → v440-2.0.0.dev28}/src/v440/__init__.py +0 -0
- {v440-2.0.0.dev26 → v440-2.0.0.dev28}/src/v440/_utils/BaseList.py +0 -0
- {v440-2.0.0.dev26 → v440-2.0.0.dev28}/src/v440/_utils/Cfg.py +0 -0
- {v440-2.0.0.dev26 → v440-2.0.0.dev28}/src/v440/_utils/Digest.py +0 -0
- {v440-2.0.0.dev26 → v440-2.0.0.dev28}/src/v440/_utils/Pattern.py +0 -0
- {v440-2.0.0.dev26 → v440-2.0.0.dev28}/src/v440/_utils/SimpleQualifierParser.py +0 -0
- {v440-2.0.0.dev26 → v440-2.0.0.dev28}/src/v440/_utils/SlotList.py +0 -0
- {v440-2.0.0.dev26 → v440-2.0.0.dev28}/src/v440/_utils/VList.py +0 -0
- {v440-2.0.0.dev26 → v440-2.0.0.dev28}/src/v440/_utils/__init__.py +0 -0
- {v440-2.0.0.dev26 → v440-2.0.0.dev28}/src/v440/_utils/cfg.toml +0 -0
- {v440-2.0.0.dev26 → v440-2.0.0.dev28}/src/v440/_utils/utils.py +0 -0
- {v440-2.0.0.dev26 → v440-2.0.0.dev28}/src/v440/core/Base.py +0 -0
- {v440-2.0.0.dev26 → v440-2.0.0.dev28}/src/v440/core/Local.py +0 -0
- {v440-2.0.0.dev26 → v440-2.0.0.dev28}/src/v440/core/Public.py +0 -0
- {v440-2.0.0.dev26 → v440-2.0.0.dev28}/src/v440/core/Release.py +0 -0
- {v440-2.0.0.dev26 → v440-2.0.0.dev28}/src/v440/core/VersionError.py +0 -0
- {v440-2.0.0.dev26 → v440-2.0.0.dev28}/src/v440/core/__init__.py +0 -0
- {v440-2.0.0.dev26 → v440-2.0.0.dev28}/src/v440/tests/__init__.py +0 -0
- {v440-2.0.0.dev26 → v440-2.0.0.dev28}/src/v440/tests/testdata.toml +0 -0
- {v440-2.0.0.dev26 → v440-2.0.0.dev28}/src/v440.egg-info/SOURCES.txt +0 -0
- {v440-2.0.0.dev26 → v440-2.0.0.dev28}/src/v440.egg-info/dependency_links.txt +0 -0
- {v440-2.0.0.dev26 → v440-2.0.0.dev28}/src/v440.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: v440
|
|
3
|
-
Version: 2.0.0.
|
|
3
|
+
Version: 2.0.0.dev28
|
|
4
4
|
Summary: This project provides mutable version objects in accordance with PEP440.
|
|
5
5
|
Author-email: Johannes <johannes.programming@gmail.com>
|
|
6
6
|
License: The MIT License (MIT)
|
|
@@ -46,7 +46,7 @@ Requires-Dist: iterprod<2.0,>=1.0
|
|
|
46
46
|
Requires-Dist: keyalias<2.0,>=1.0.3
|
|
47
47
|
Requires-Dist: overloadable<2.0,>=1.0.5
|
|
48
48
|
Requires-Dist: packaging>=23.2
|
|
49
|
-
Requires-Dist: scaevola<2.0,>=1.
|
|
49
|
+
Requires-Dist: scaevola<2.0,>=1.1
|
|
50
50
|
Requires-Dist: tofunc<2,>=1.0.0
|
|
51
51
|
Dynamic: license-file
|
|
52
52
|
|
|
@@ -26,7 +26,7 @@ dependencies = [
|
|
|
26
26
|
"keyalias>=1.0.3,<2.0",
|
|
27
27
|
"overloadable>=1.0.5,<2.0",
|
|
28
28
|
"packaging>=23.2",
|
|
29
|
-
"scaevola>=1.
|
|
29
|
+
"scaevola>=1.1,<2.0",
|
|
30
30
|
"tofunc>=1.0.0,<2",
|
|
31
31
|
]
|
|
32
32
|
description = "This project provides mutable version objects in accordance with PEP440."
|
|
@@ -34,7 +34,7 @@ keywords = []
|
|
|
34
34
|
name = "v440"
|
|
35
35
|
readme = "README.rst"
|
|
36
36
|
requires-python = ">=3.11"
|
|
37
|
-
version = "2.0.0.
|
|
37
|
+
version = "2.0.0.dev28"
|
|
38
38
|
|
|
39
39
|
[project.license]
|
|
40
40
|
file = "LICENSE.txt"
|
|
@@ -3,7 +3,6 @@ from __future__ import annotations
|
|
|
3
3
|
from typing import *
|
|
4
4
|
|
|
5
5
|
from v440._utils import SimpleQualifierParser, utils
|
|
6
|
-
from v440._utils.BaseList import BaseList
|
|
7
6
|
from v440._utils.Cfg import Cfg
|
|
8
7
|
from v440._utils.Digest import Digest
|
|
9
8
|
from v440._utils.Pattern import Pattern
|
|
@@ -98,15 +98,6 @@ class Version(SlotList):
|
|
|
98
98
|
ans += "+%s" % self.local
|
|
99
99
|
return ans
|
|
100
100
|
|
|
101
|
-
def isdevrelease(self: Self) -> bool:
|
|
102
|
-
return self.qualification.isdevrelease()
|
|
103
|
-
|
|
104
|
-
def isprerelease(self: Self) -> bool:
|
|
105
|
-
return self.qualification.isprerelease()
|
|
106
|
-
|
|
107
|
-
def ispostrelease(self: Self) -> bool:
|
|
108
|
-
return self.qualification.ispostrelease()
|
|
109
|
-
|
|
110
101
|
@property
|
|
111
102
|
def local(self: Self) -> Local:
|
|
112
103
|
return self._local
|
|
@@ -151,11 +142,3 @@ class Version(SlotList):
|
|
|
151
142
|
@qualification.setter
|
|
152
143
|
def qualification(self: Self, value: Any) -> None:
|
|
153
144
|
self.qualification.data = value
|
|
154
|
-
|
|
155
|
-
@property
|
|
156
|
-
def release(self: Self) -> Release:
|
|
157
|
-
return self.base.release
|
|
158
|
-
|
|
159
|
-
@release.setter
|
|
160
|
-
def release(self: Self, value: Any) -> None:
|
|
161
|
-
self.base.release = value
|
|
@@ -31,11 +31,11 @@ class TestVersionReleaseAttrs(unittest.TestCase):
|
|
|
31
31
|
k: str
|
|
32
32
|
v: dict
|
|
33
33
|
for k, v in Util.util.data["release_attr"].items():
|
|
34
|
-
self.
|
|
34
|
+
with self.subTest(key=k):
|
|
35
|
+
self.go(**v)
|
|
35
36
|
|
|
36
|
-
def
|
|
37
|
+
def go(
|
|
37
38
|
self: Self,
|
|
38
|
-
key: str,
|
|
39
39
|
query: list,
|
|
40
40
|
attrname: Optional[str] = None,
|
|
41
41
|
args: list | tuple = (),
|
|
@@ -45,13 +45,13 @@ class TestVersionReleaseAttrs(unittest.TestCase):
|
|
|
45
45
|
) -> None:
|
|
46
46
|
# Test the append method of the release list-like object
|
|
47
47
|
version: Version = Version()
|
|
48
|
-
version.release = query
|
|
48
|
+
version.public.base.release = query
|
|
49
49
|
if attrname is not None:
|
|
50
|
-
attr: Any = getattr(version.release, attrname)
|
|
50
|
+
attr: Any = getattr(version.public.base.release, attrname)
|
|
51
51
|
ans: Any = attr(*args, **dict(kwargs))
|
|
52
52
|
self.assertEqual(ans, solution)
|
|
53
53
|
if target is not None:
|
|
54
|
-
self.assertEqual(version.release, target)
|
|
54
|
+
self.assertEqual(version.public.base.release, target)
|
|
55
55
|
|
|
56
56
|
|
|
57
57
|
class TestVersionReleaseVersionError(unittest.TestCase):
|
|
@@ -60,16 +60,16 @@ class TestVersionReleaseVersionError(unittest.TestCase):
|
|
|
60
60
|
k: str
|
|
61
61
|
v: dict
|
|
62
62
|
for k, v in Util.util.data["release_VersionError"].items():
|
|
63
|
-
self.
|
|
63
|
+
with self.subTest(key=k):
|
|
64
|
+
self.go(**v)
|
|
64
65
|
|
|
65
|
-
def
|
|
66
|
+
def go(
|
|
66
67
|
self: Self,
|
|
67
|
-
key: str,
|
|
68
68
|
query: list,
|
|
69
69
|
) -> None:
|
|
70
70
|
version: Version = Version()
|
|
71
71
|
with self.assertRaises(VersionError):
|
|
72
|
-
version.release = query
|
|
72
|
+
version.public.base.release = query
|
|
73
73
|
|
|
74
74
|
|
|
75
75
|
class TestVersionLocalVersionError(unittest.TestCase):
|
|
@@ -145,7 +145,7 @@ class TestSlicing(unittest.TestCase):
|
|
|
145
145
|
v: Version = Version("1.2.3.4.5.6.7.8.9.10")
|
|
146
146
|
catcher: Catcher = Catcher()
|
|
147
147
|
with catcher.catch(Exception):
|
|
148
|
-
v.release[-8:15:5] = 777
|
|
148
|
+
v.public.base.release[-8:15:5] = 777
|
|
149
149
|
self.assertNotEqual(catcher.caught, None)
|
|
150
150
|
|
|
151
151
|
def slicingmethod(
|
|
@@ -159,7 +159,7 @@ class TestSlicing(unittest.TestCase):
|
|
|
159
159
|
key: str = "",
|
|
160
160
|
) -> None:
|
|
161
161
|
v: Version = Version(query)
|
|
162
|
-
v.release[start:stop:step] = change
|
|
162
|
+
v.public.base.release[start:stop:step] = change
|
|
163
163
|
self.assertEqual(str(v), solution, "slicingmethod %s" % key)
|
|
164
164
|
|
|
165
165
|
def test_slicing_3(self: Self) -> None:
|
|
@@ -172,7 +172,7 @@ class TestSlicing(unittest.TestCase):
|
|
|
172
172
|
def test_slicing_7(self: Self) -> None:
|
|
173
173
|
# test_slicing_7
|
|
174
174
|
v: Version = Version("1.2.3.4.5.6.7.8.9.10")
|
|
175
|
-
del v.release[-8:15:5]
|
|
175
|
+
del v.public.base.release[-8:15:5]
|
|
176
176
|
self.assertEqual(str(v), "1.2.4.5.6.7.9.10")
|
|
177
177
|
|
|
178
178
|
|
|
@@ -199,9 +199,10 @@ class TestVersionRelease(unittest.TestCase):
|
|
|
199
199
|
k: str
|
|
200
200
|
v: Any
|
|
201
201
|
for k, v in Util.util.data["release"].items():
|
|
202
|
-
self.
|
|
202
|
+
with self.subTest(key=k):
|
|
203
|
+
self.go(**v)
|
|
203
204
|
|
|
204
|
-
def go(self: Self, query: Any, solution: Any
|
|
205
|
+
def go(self: Self, query: Any, solution: Any) -> None:
|
|
205
206
|
release: Release = Release(query)
|
|
206
207
|
self.assertEqual(release, solution)
|
|
207
208
|
|
|
@@ -347,9 +348,15 @@ class TestPackaging(unittest.TestCase):
|
|
|
347
348
|
x: str
|
|
348
349
|
for x in versionable:
|
|
349
350
|
v = Version(x)
|
|
350
|
-
self.assertEqual(
|
|
351
|
-
|
|
352
|
-
|
|
351
|
+
self.assertEqual(
|
|
352
|
+
v.public.qualification.isdevrelease(), v.packaging().is_devrelease
|
|
353
|
+
)
|
|
354
|
+
self.assertEqual(
|
|
355
|
+
v.public.qualification.isprerelease(), v.packaging().is_prerelease
|
|
356
|
+
)
|
|
357
|
+
self.assertEqual(
|
|
358
|
+
v.public.qualification.ispostrelease(), v.packaging().is_postrelease
|
|
359
|
+
)
|
|
353
360
|
self.assertEqual(str(v.base), v.packaging().base_version)
|
|
354
361
|
self.assertEqual(str(v.public), v.packaging().public)
|
|
355
362
|
version_obj.local = v.packaging().local
|
|
@@ -13,8 +13,8 @@ class TestVersionManipulation(unittest.TestCase):
|
|
|
13
13
|
v: Version = Version("1.2.3")
|
|
14
14
|
|
|
15
15
|
# Modify individual parts of the version
|
|
16
|
-
v.release.major = 2
|
|
17
|
-
v.release.minor = 5
|
|
16
|
+
v.public.base.release.major = 2
|
|
17
|
+
v.public.base.release.minor = 5
|
|
18
18
|
v.qualification = "beta.1"
|
|
19
19
|
v.local = "local.7.dev"
|
|
20
20
|
|
|
@@ -100,8 +100,8 @@ class TestExample(unittest.TestCase):
|
|
|
100
100
|
def test_example_2(self: Self) -> None:
|
|
101
101
|
v: Version = Version("2.5.3")
|
|
102
102
|
self.assertEqual(str(v), "2.5.3") # Modified version
|
|
103
|
-
v.release[1] = 64
|
|
104
|
-
v.release.micro = 4
|
|
103
|
+
v.public.base.release[1] = 64
|
|
104
|
+
v.public.base.release.micro = 4
|
|
105
105
|
self.assertEqual(str(v), "2.64.4") # Further modified version
|
|
106
106
|
|
|
107
107
|
def test_example_3a(self: Self) -> None:
|
|
@@ -143,7 +143,7 @@ class TestExample(unittest.TestCase):
|
|
|
143
143
|
def test_example_4(self: Self) -> None:
|
|
144
144
|
v: Version = Version("2.5.3.9")
|
|
145
145
|
self.assertEqual(str(v), "2.5.3.9") # before sorting
|
|
146
|
-
v.release.sort()
|
|
146
|
+
v.public.base.release.sort()
|
|
147
147
|
self.assertEqual(str(v), "2.3.5.9") # after sorting
|
|
148
148
|
|
|
149
149
|
def test_example_5(self: Self) -> None:
|
|
@@ -200,66 +200,68 @@ class TestVersionRelease(unittest.TestCase):
|
|
|
200
200
|
def test_major_minor_micro_aliases(self: Self) -> None:
|
|
201
201
|
# Test major, minor, and micro aliases for the first three indices
|
|
202
202
|
version: Version = Version()
|
|
203
|
-
version.release = [1, 2, 3]
|
|
204
|
-
self.assertEqual(version.release.major, 1)
|
|
205
|
-
self.assertEqual(version.release.minor, 2)
|
|
206
|
-
self.assertEqual(version.release.micro, 3)
|
|
207
|
-
self.assertEqual(
|
|
203
|
+
version.public.base.release = [1, 2, 3]
|
|
204
|
+
self.assertEqual(version.public.base.release.major, 1)
|
|
205
|
+
self.assertEqual(version.public.base.release.minor, 2)
|
|
206
|
+
self.assertEqual(version.public.base.release.micro, 3)
|
|
207
|
+
self.assertEqual(
|
|
208
|
+
version.public.base.release.patch, 3
|
|
209
|
+
) # 'patch' is an alias for micro
|
|
208
210
|
|
|
209
211
|
def test_release_modify_aliases(self: Self) -> None:
|
|
210
212
|
# Test modifying the release via major, minor, and micro properties
|
|
211
213
|
version: Version = Version()
|
|
212
|
-
version.release = [1, 2, 3]
|
|
213
|
-
version.release.major = 10
|
|
214
|
-
version.release.minor = 20
|
|
215
|
-
version.release.micro = 30
|
|
216
|
-
self.assertEqual(version.release, [10, 20, 30])
|
|
217
|
-
self.assertEqual(version.release.patch, 30)
|
|
214
|
+
version.public.base.release = [1, 2, 3]
|
|
215
|
+
version.public.base.release.major = 10
|
|
216
|
+
version.public.base.release.minor = 20
|
|
217
|
+
version.public.base.release.micro = 30
|
|
218
|
+
self.assertEqual(version.public.base.release, [10, 20, 30])
|
|
219
|
+
self.assertEqual(version.public.base.release.patch, 30)
|
|
218
220
|
|
|
219
221
|
def test_release_with_tailing_zeros_simulation(self: Self) -> None:
|
|
220
222
|
# Test that the release can simulate arbitrary high number of tailing zeros
|
|
221
223
|
version: Version = Version()
|
|
222
|
-
version.release = [1, 2]
|
|
223
|
-
simulated_release = version.release[:5]
|
|
224
|
+
version.public.base.release = [1, 2]
|
|
225
|
+
simulated_release = version.public.base.release[:5]
|
|
224
226
|
self.assertEqual(simulated_release, [1, 2, 0, 0, 0])
|
|
225
227
|
|
|
226
228
|
def test_release_empty_major(self: Self) -> None:
|
|
227
229
|
# Test that an empty release still has valid major, minor, micro values
|
|
228
230
|
version: Version = Version()
|
|
229
|
-
version.release = []
|
|
230
|
-
self.assertEqual(version.release.major, 0)
|
|
231
|
-
self.assertEqual(version.release.minor, 0)
|
|
232
|
-
self.assertEqual(version.release.micro, 0)
|
|
233
|
-
self.assertEqual(version.release.patch, 0)
|
|
231
|
+
version.public.base.release = []
|
|
232
|
+
self.assertEqual(version.public.base.release.major, 0)
|
|
233
|
+
self.assertEqual(version.public.base.release.minor, 0)
|
|
234
|
+
self.assertEqual(version.public.base.release.micro, 0)
|
|
235
|
+
self.assertEqual(version.public.base.release.patch, 0)
|
|
234
236
|
|
|
235
237
|
def test_release_modify_with_alias_increase_length(self: Self) -> None:
|
|
236
238
|
# Test that modifying an alias can extend the length of release
|
|
237
239
|
version: Version = Version()
|
|
238
|
-
version.release = [1]
|
|
239
|
-
version.release.minor = 5 # This should make release [1, 5]
|
|
240
|
-
self.assertEqual(version.release, [1, 5])
|
|
241
|
-
version.release.micro = 3 # This should make release [1, 5, 3]
|
|
242
|
-
self.assertEqual(version.release, [1, 5, 3])
|
|
240
|
+
version.public.base.release = [1]
|
|
241
|
+
version.public.base.release.minor = 5 # This should make release [1, 5]
|
|
242
|
+
self.assertEqual(version.public.base.release, [1, 5])
|
|
243
|
+
version.public.base.release.micro = 3 # This should make release [1, 5, 3]
|
|
244
|
+
self.assertEqual(version.public.base.release, [1, 5, 3])
|
|
243
245
|
|
|
244
246
|
def test_release_modify_major_only(self: Self) -> None:
|
|
245
247
|
# Test that setting just the major property works
|
|
246
248
|
version: Version = Version()
|
|
247
|
-
version.release.major = 10
|
|
248
|
-
self.assertEqual(version.release, [10])
|
|
249
|
+
version.public.base.release.major = 10
|
|
250
|
+
self.assertEqual(version.public.base.release, [10])
|
|
249
251
|
|
|
250
252
|
def test_release_modify_minor_only(self: Self) -> None:
|
|
251
253
|
# Test that setting just the minor property extends release
|
|
252
254
|
version: Version = Version()
|
|
253
|
-
version.release = []
|
|
254
|
-
version.release.minor = 1
|
|
255
|
-
self.assertEqual(version.release, [0, 1])
|
|
255
|
+
version.public.base.release = []
|
|
256
|
+
version.public.base.release.minor = 1
|
|
257
|
+
self.assertEqual(version.public.base.release, [0, 1])
|
|
256
258
|
|
|
257
259
|
def test_release_modify_micro_only(self: Self) -> None:
|
|
258
260
|
# Test that setting just the micro (patch) property extends release
|
|
259
261
|
version: Version = Version()
|
|
260
|
-
version.release = []
|
|
261
|
-
version.release.micro = 1
|
|
262
|
-
self.assertEqual(version.release, [0, 0, 1])
|
|
262
|
+
version.public.base.release = []
|
|
263
|
+
version.public.base.release.micro = 1
|
|
264
|
+
self.assertEqual(version.public.base.release, [0, 0, 1])
|
|
263
265
|
|
|
264
266
|
|
|
265
267
|
class TestAdditionalVersionRelease(unittest.TestCase):
|
|
@@ -267,65 +269,65 @@ class TestAdditionalVersionRelease(unittest.TestCase):
|
|
|
267
269
|
def test_release_inequality_with_list(self: Self) -> None:
|
|
268
270
|
# Test inequality of release with a normal list
|
|
269
271
|
version: Version = Version()
|
|
270
|
-
version.release = [1, 2, 3]
|
|
271
|
-
self.assertFalse(version.release == [1, 2, 4])
|
|
272
|
+
version.public.base.release = [1, 2, 3]
|
|
273
|
+
self.assertFalse(version.public.base.release == [1, 2, 4])
|
|
272
274
|
|
|
273
275
|
def test_release_len(self: Self) -> None:
|
|
274
276
|
# Test the length of the release list
|
|
275
277
|
version: Version = Version()
|
|
276
|
-
version.release = [1, 2, 3]
|
|
277
|
-
self.assertEqual(len(version.release), 3)
|
|
278
|
+
version.public.base.release = [1, 2, 3]
|
|
279
|
+
self.assertEqual(len(version.public.base.release), 3)
|
|
278
280
|
|
|
279
281
|
def test_release_slice_assignment(self: Self) -> None:
|
|
280
282
|
# Test assigning a slice to release
|
|
281
283
|
version: Version = Version()
|
|
282
|
-
version.release = [1, 2, 3, 4, 5]
|
|
283
|
-
version.release[1:4] = [20, 30, 40]
|
|
284
|
-
self.assertEqual(version.release, [1, 20, 30, 40, 5])
|
|
284
|
+
version.public.base.release = [1, 2, 3, 4, 5]
|
|
285
|
+
version.public.base.release[1:4] = [20, 30, 40]
|
|
286
|
+
self.assertEqual(version.public.base.release, [1, 20, 30, 40, 5])
|
|
285
287
|
|
|
286
288
|
def test_release_iterable(self: Self) -> None:
|
|
287
289
|
# Test if release supports iteration
|
|
288
290
|
version: Version = Version()
|
|
289
|
-
version.release = [1, 2, 3]
|
|
290
|
-
result = list(version.release)
|
|
291
|
+
version.public.base.release = [1, 2, 3]
|
|
292
|
+
result = list(version.public.base.release)
|
|
291
293
|
self.assertEqual(result, [1, 2, 3])
|
|
292
294
|
|
|
293
295
|
def test_release_repr(self: Self) -> None:
|
|
294
296
|
# Test the repr of the release property
|
|
295
297
|
version: Version = Version()
|
|
296
|
-
version.release = [1, 2, 3]
|
|
297
|
-
self.assertEqual(str(version.release), "1.2.3")
|
|
298
|
+
version.public.base.release = [1, 2, 3]
|
|
299
|
+
self.assertEqual(str(version.public.base.release), "1.2.3")
|
|
298
300
|
|
|
299
301
|
def test_release_data_property(self: Self) -> None:
|
|
300
302
|
# Test the 'data' property
|
|
301
303
|
version: Version = Version()
|
|
302
|
-
version.release = [1, 2, 3]
|
|
303
|
-
self.assertEqual(version.release.data, [1, 2, 3])
|
|
304
|
+
version.public.base.release = [1, 2, 3]
|
|
305
|
+
self.assertEqual(version.public.base.release.data, [1, 2, 3])
|
|
304
306
|
|
|
305
307
|
def test_release_data_setter(self: Self) -> None:
|
|
306
308
|
# Test setting the 'data' property directly
|
|
307
309
|
version: Version = Version()
|
|
308
|
-
version.release.data = [10, 20, 30]
|
|
309
|
-
self.assertEqual(version.release, [10, 20, 30])
|
|
310
|
+
version.public.base.release.data = [10, 20, 30]
|
|
311
|
+
self.assertEqual(version.public.base.release, [10, 20, 30])
|
|
310
312
|
|
|
311
313
|
def test_release_contains(self: Self) -> None:
|
|
312
314
|
# Test 'in' keyword with release
|
|
313
315
|
version: Version = Version()
|
|
314
|
-
version.release = [1, 2, 3]
|
|
315
|
-
self.assertIn(2, version.release)
|
|
316
|
-
self.assertNotIn(4, version.release)
|
|
316
|
+
version.public.base.release = [1, 2, 3]
|
|
317
|
+
self.assertIn(2, version.public.base.release)
|
|
318
|
+
self.assertNotIn(4, version.public.base.release)
|
|
317
319
|
|
|
318
320
|
def test_release_mul(self: Self) -> None:
|
|
319
321
|
# Test multiplying the release (list behavior)
|
|
320
322
|
version: Version = Version()
|
|
321
|
-
version.release = [1, 2]
|
|
322
|
-
self.assertEqual(version.release * 3, [1, 2, 1, 2, 1, 2])
|
|
323
|
+
version.public.base.release = [1, 2]
|
|
324
|
+
self.assertEqual(version.public.base.release * 3, [1, 2, 1, 2, 1, 2])
|
|
323
325
|
|
|
324
326
|
def test_release_addition(self: Self) -> None:
|
|
325
327
|
# Test adding another list to release
|
|
326
328
|
version: Version = Version()
|
|
327
|
-
version.release = [1, 2, 3]
|
|
328
|
-
self.assertEqual(version.release + [4, 5], [1, 2, 3, 4, 5])
|
|
329
|
+
version.public.base.release = [1, 2, 3]
|
|
330
|
+
self.assertEqual(version.public.base.release + [4, 5], [1, 2, 3, 4, 5])
|
|
329
331
|
|
|
330
332
|
|
|
331
333
|
class TestVersionLocal(unittest.TestCase):
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: v440
|
|
3
|
-
Version: 2.0.0.
|
|
3
|
+
Version: 2.0.0.dev28
|
|
4
4
|
Summary: This project provides mutable version objects in accordance with PEP440.
|
|
5
5
|
Author-email: Johannes <johannes.programming@gmail.com>
|
|
6
6
|
License: The MIT License (MIT)
|
|
@@ -46,7 +46,7 @@ Requires-Dist: iterprod<2.0,>=1.0
|
|
|
46
46
|
Requires-Dist: keyalias<2.0,>=1.0.3
|
|
47
47
|
Requires-Dist: overloadable<2.0,>=1.0.5
|
|
48
48
|
Requires-Dist: packaging>=23.2
|
|
49
|
-
Requires-Dist: scaevola<2.0,>=1.
|
|
49
|
+
Requires-Dist: scaevola<2.0,>=1.1
|
|
50
50
|
Requires-Dist: tofunc<2,>=1.0.0
|
|
51
51
|
Dynamic: license-file
|
|
52
52
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|