Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions src/univers/versions.py
Original file line number Diff line number Diff line change
Expand Up @@ -305,6 +305,9 @@ def is_valid(cls, string):
except ValueError:
return False

def __str__(self):
return str(self.string)

def __lt__(self, other):
return nuget.Version.from_string(self.string) < nuget.Version.from_string(other.string)

Expand Down
4 changes: 2 additions & 2 deletions tests/test_nuget.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
# https://github.com/NuGet/NuGet.Client/blob/dev/test/NuGet.Core.Tests/NuGet.Versioning.Test/VersionComparerTests.cs

import unittest
from univers import nuget
from univers.versions import NugetVersion


class NuGetTest(unittest.TestCase):
Expand All @@ -29,7 +29,7 @@ def setUp(self):

def check_order(self, comparison, first, second):
"""Check order."""
comparison(nuget.Version.from_string(first), nuget.Version.from_string(second))
comparison(NugetVersion.build_value(first), NugetVersion.build_value(second))

def test_equals(self):
"""Test version equals."""
Expand Down
14 changes: 14 additions & 0 deletions tests/test_version_range.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,15 @@

from univers.version_constraint import VersionConstraint
from univers.version_range import GemVersionRange
from univers.version_range import NugetVersionRange
from univers.version_range import InvalidVersionRange
from univers.version_range import PypiVersionRange
from univers.version_range import VersionRange
from univers.version_range import RANGE_CLASS_BY_SCHEMES
from univers.version_range import NpmVersionRange
from univers.version_range import OpensslVersionRange
from univers.versions import PypiVersion
from univers.versions import NugetVersion
from univers.versions import RubygemsVersion
from univers.versions import SemverVersion
from univers.versions import OpensslVersion
Expand Down Expand Up @@ -262,6 +264,18 @@ def test_OpensslVersionRange_from_versions(self):
version_range = OpensslVersionRange.from_versions(sequence)
assert version_range == expected

def test_nuget_version_range(self):
nuget_range = "[1.0.0, 2.0.0)"
expected = NugetVersionRange(
constraints=(
VersionConstraint(comparator=">=", version=NugetVersion(string="1.0.0")),
VersionConstraint(comparator="<", version=NugetVersion(string="2.0.0")),
)
)
version_range = NugetVersionRange.from_native(nuget_range)
assert version_range == expected
assert version_range.to_string() == "vers:nuget/>=1.0.0|<2.0.0"


VERSION_RANGE_TESTS_BY_SCHEME = {
"nginx": ["0.8.40+", "0.7.52-0.8.39", "0.9.10", "1.5.0+, 1.4.1+"],
Expand Down