From 48638fd40dd42309906557e6ca72098b6826185a Mon Sep 17 00:00:00 2001 From: Travis Leeden Date: Fri, 12 Jan 2024 15:28:11 +1000 Subject: [PATCH] Rename to LexicographicSortedVersion --- ...LexicographicSortedVersionCompareTests.cs} | 19 ++++++++++--------- .../LexicographicSortedVersionParserTests.cs} | 18 +++++++++--------- .../LexicographicSortedVersion.cs} | 8 ++++---- .../LexicographicSortedVersionParser.cs} | 12 ++++++------ source/Octopus.Versioning/VersionFactory.cs | 18 +++++++++--------- source/Octopus.Versioning/VersionFormat.cs | 2 +- 6 files changed, 39 insertions(+), 38 deletions(-) rename source/Octopus.Versioning.Tests/{Unsortable/UnsortableVersionCompareTests.cs => LexicographicSortedVersion/LexicographicSortedVersionCompareTests.cs} (73%) rename source/Octopus.Versioning.Tests/{Unsortable/UnsortableVersionParserTests.cs => LexicographicSortedVersion/LexicographicSortedVersionParserTests.cs} (74%) rename source/Octopus.Versioning/{Unsortable/UnsortableVersion.cs => Lexicographic/LexicographicSortedVersion.cs} (93%) rename source/Octopus.Versioning/{Unsortable/UnsortableVersionParser.cs => Lexicographic/LexicographicSortedVersionParser.cs} (81%) diff --git a/source/Octopus.Versioning.Tests/Unsortable/UnsortableVersionCompareTests.cs b/source/Octopus.Versioning.Tests/LexicographicSortedVersion/LexicographicSortedVersionCompareTests.cs similarity index 73% rename from source/Octopus.Versioning.Tests/Unsortable/UnsortableVersionCompareTests.cs rename to source/Octopus.Versioning.Tests/LexicographicSortedVersion/LexicographicSortedVersionCompareTests.cs index dfa5ca5..ab92cc6 100644 --- a/source/Octopus.Versioning.Tests/Unsortable/UnsortableVersionCompareTests.cs +++ b/source/Octopus.Versioning.Tests/LexicographicSortedVersion/LexicographicSortedVersionCompareTests.cs @@ -1,11 +1,12 @@ +using System; using NUnit.Framework; -using Octopus.Versioning.Unsortable; +using Octopus.Versioning.Lexicographic; -namespace Octopus.Versioning.Tests.Unsortable; +namespace Octopus.Versioning.Tests.LexicographicSortedVersion; -public class UnsortableVersionCompareTests +public class LexicographicSortedVersionCompareTests { - static readonly UnsortableVersionParser UnsortableVersionParser = new(); + static readonly LexicographicSortedVersionParser LexicographicSortedVersionParser = new(); [Test] [TestCase("release", "release", 0)] @@ -36,8 +37,8 @@ public class UnsortableVersionCompareTests [TestCase("release-1+123", "release-2+321", -1)] public void TestComparisons(string version1, string version2, int result) { - var parsedVersion1 = UnsortableVersionParser.Parse(version1); - var parsedVersion2 = UnsortableVersionParser.Parse(version2); + var parsedVersion1 = LexicographicSortedVersionParser.Parse(version1); + var parsedVersion2 = LexicographicSortedVersionParser.Parse(version2); Assert.AreEqual(result, parsedVersion1.CompareTo(parsedVersion2)); } @@ -46,8 +47,8 @@ public void TestComparisons(string version1, string version2, int result) [TestCase("release-1", "release-2", false)] public void TestEquality(string version1, string version2, bool result) { - var parsedVersion1 = UnsortableVersionParser.Parse(version1); - var parsedVersion2 = UnsortableVersionParser.Parse(version2); + var parsedVersion1 = LexicographicSortedVersionParser.Parse(version1); + var parsedVersion2 = LexicographicSortedVersionParser.Parse(version2); Assert.AreEqual(result, Equals(parsedVersion1, parsedVersion2)); } @@ -55,7 +56,7 @@ public void TestEquality(string version1, string version2, bool result) public void TestGetHashCode() { var versionString = "release-1"; - var parsedVersion = UnsortableVersionParser.Parse(versionString); + var parsedVersion = LexicographicSortedVersionParser.Parse(versionString); Assert.AreEqual(versionString.GetHashCode(), parsedVersion.GetHashCode()); } diff --git a/source/Octopus.Versioning.Tests/Unsortable/UnsortableVersionParserTests.cs b/source/Octopus.Versioning.Tests/LexicographicSortedVersion/LexicographicSortedVersionParserTests.cs similarity index 74% rename from source/Octopus.Versioning.Tests/Unsortable/UnsortableVersionParserTests.cs rename to source/Octopus.Versioning.Tests/LexicographicSortedVersion/LexicographicSortedVersionParserTests.cs index cc2ad3a..3b305c5 100644 --- a/source/Octopus.Versioning.Tests/Unsortable/UnsortableVersionParserTests.cs +++ b/source/Octopus.Versioning.Tests/LexicographicSortedVersion/LexicographicSortedVersionParserTests.cs @@ -1,11 +1,11 @@ using System; using NUnit.Framework; -using Octopus.Versioning.Unsortable; +using Octopus.Versioning.Lexicographic; -namespace Octopus.Versioning.Tests.Unsortable; +namespace Octopus.Versioning.Tests.LexicographicSortedVersion; [TestFixture] -public class UnsortableVersionParserTests +public class LexicographicSortedVersionParserTests { [Test] // Release @@ -38,7 +38,7 @@ public class UnsortableVersionParserTests [TestCase("foobar!", "", "")] public void ShouldParseSuccessfully(string input, string expectedRelease, string expectedMetadata) { - _ = new UnsortableVersionParser().TryParse(input, out var parsedVersion); + _ = new LexicographicSortedVersionParser().TryParse(input, out var parsedVersion); AssertVersionNumbersAreZero(parsedVersion); Assert.AreEqual(expectedRelease, parsedVersion.Release); Assert.AreEqual(expectedMetadata, parsedVersion.Metadata); @@ -48,30 +48,30 @@ public void ShouldParseSuccessfully(string input, string expectedRelease, string public void ShouldThrowExceptionOnEmptyInput() { var input = ""; - Assert.Catch(() => new UnsortableVersionParser().Parse(input)); + Assert.Catch(() => new LexicographicSortedVersionParser().Parse(input)); } [Test] public void ShouldThrowExceptionOnWhiteSpaceInput() { var input = " "; - Assert.Catch(() => new UnsortableVersionParser().Parse(input)); + Assert.Catch(() => new LexicographicSortedVersionParser().Parse(input)); } [Test] public void ShouldThrowExceptionOnNullInput() { - Assert.Catch(() => new UnsortableVersionParser().Parse(null)); + Assert.Catch(() => new LexicographicSortedVersionParser().Parse(null)); } [Test] public void ShouldThrowExceptionOnFailureToParse() { var input = "bad versions string"; - Assert.Catch(() => new UnsortableVersionParser().Parse(input)); + Assert.Catch(() => new LexicographicSortedVersionParser().Parse(input)); } - void AssertVersionNumbersAreZero(UnsortableVersion version) + void AssertVersionNumbersAreZero(Lexicographic.LexicographicSortedVersion version) { Assert.AreEqual(0, version.Major); Assert.AreEqual(0, version.Minor); diff --git a/source/Octopus.Versioning/Unsortable/UnsortableVersion.cs b/source/Octopus.Versioning/Lexicographic/LexicographicSortedVersion.cs similarity index 93% rename from source/Octopus.Versioning/Unsortable/UnsortableVersion.cs rename to source/Octopus.Versioning/Lexicographic/LexicographicSortedVersion.cs index 66ebf00..d6a2b3e 100644 --- a/source/Octopus.Versioning/Unsortable/UnsortableVersion.cs +++ b/source/Octopus.Versioning/Lexicographic/LexicographicSortedVersion.cs @@ -2,11 +2,11 @@ using System.Collections.Generic; using System.Linq; -namespace Octopus.Versioning.Unsortable +namespace Octopus.Versioning.Lexicographic { - public class UnsortableVersion: IVersion + public class LexicographicSortedVersion: IVersion { - public UnsortableVersion(string release, string? metadata, string? originalString) + public LexicographicSortedVersion(string release, string? metadata, string? originalString) { Metadata = metadata; Release = release; @@ -24,7 +24,7 @@ public UnsortableVersion(string release, string? metadata, string? originalStrin public string Release { get; } public string OriginalString { get; } - public VersionFormat Format => VersionFormat.Unsortable; + public VersionFormat Format => VersionFormat.Lexicographic; public int CompareTo(object obj) { diff --git a/source/Octopus.Versioning/Unsortable/UnsortableVersionParser.cs b/source/Octopus.Versioning/Lexicographic/LexicographicSortedVersionParser.cs similarity index 81% rename from source/Octopus.Versioning/Unsortable/UnsortableVersionParser.cs rename to source/Octopus.Versioning/Lexicographic/LexicographicSortedVersionParser.cs index 79ba0e6..0476d02 100644 --- a/source/Octopus.Versioning/Unsortable/UnsortableVersionParser.cs +++ b/source/Octopus.Versioning/Lexicographic/LexicographicSortedVersionParser.cs @@ -1,9 +1,9 @@ using System; using System.Text.RegularExpressions; -namespace Octopus.Versioning.Unsortable +namespace Octopus.Versioning.Lexicographic { - public class UnsortableVersionParser + public class LexicographicSortedVersionParser { const string Release = "release"; const string Meta = "buildmetadata"; @@ -12,7 +12,7 @@ public class UnsortableVersionParser $@"(?:\+(?<{Meta}>[A-Za-z0-9_\-.\\+]*?))?\s*$" ); - public UnsortableVersion Parse(string? version) + public LexicographicSortedVersion Parse(string? version) { if (string.IsNullOrWhiteSpace(version)) throw new ArgumentException("The version can not be an empty string"); @@ -28,14 +28,14 @@ public UnsortableVersion Parse(string? version) if (!result.Success) throw new ArgumentException("The supplied version was not valid"); - return new UnsortableVersion( + return new LexicographicSortedVersion( result.Groups[Release].Success ? result.Groups[Release].Value : string.Empty, result.Groups[Meta].Success ? result.Groups[Meta].Value : string.Empty, noSpaces ); } - public bool TryParse(string version, out UnsortableVersion parsedVersion) + public bool TryParse(string version, out LexicographicSortedVersion parsedVersion) { try { @@ -44,7 +44,7 @@ public bool TryParse(string version, out UnsortableVersion parsedVersion) } catch { - parsedVersion = new UnsortableVersion( + parsedVersion = new LexicographicSortedVersion( string.Empty, string.Empty, null diff --git a/source/Octopus.Versioning/VersionFactory.cs b/source/Octopus.Versioning/VersionFactory.cs index edcb258..76adb04 100644 --- a/source/Octopus.Versioning/VersionFactory.cs +++ b/source/Octopus.Versioning/VersionFactory.cs @@ -1,10 +1,10 @@ using System; using System.Collections.Generic; using Octopus.Versioning.Docker; +using Octopus.Versioning.Lexicographic; using Octopus.Versioning.Maven; using Octopus.Versioning.Octopus; using Octopus.Versioning.Semver; -using Octopus.Versioning.Unsortable; namespace Octopus.Versioning { @@ -20,8 +20,8 @@ public static IVersion CreateVersion(string input, VersionFormat format) return CreateDockerTag(input); case VersionFormat.Octopus: return CreateOctopusVersion(input); - case VersionFormat.Unsortable: - return CreateUnsortableVersion(input); + case VersionFormat.Lexicographic: + return CreateLexicographicSortedVersion(input); default: return CreateSemanticVersion(input); } @@ -37,8 +37,8 @@ public static IVersion CreateVersion(string input, VersionFormat format) return TryCreateDockerTag(input); case VersionFormat.Octopus: return TryCreateOctopusVersion(input); - case VersionFormat.Unsortable: - return TryCreateUnsortableVersion(input); + case VersionFormat.Lexicographic: + return TryCreateLexicographicSortedVersion(input); default: return TryCreateSemanticVersion(input); } @@ -156,16 +156,16 @@ public static IVersion CreateOctopusVersion(string input) } } - public static IVersion CreateUnsortableVersion(string input) + public static IVersion CreateLexicographicSortedVersion(string input) { - return new UnsortableVersionParser().Parse(input); + return new LexicographicSortedVersionParser().Parse(input); } - public static IVersion? TryCreateUnsortableVersion(string input) + public static IVersion? TryCreateLexicographicSortedVersion(string input) { try { - return CreateUnsortableVersion(input); + return CreateLexicographicSortedVersion(input); } catch { diff --git a/source/Octopus.Versioning/VersionFormat.cs b/source/Octopus.Versioning/VersionFormat.cs index 14e84f7..5f3054c 100644 --- a/source/Octopus.Versioning/VersionFormat.cs +++ b/source/Octopus.Versioning/VersionFormat.cs @@ -8,6 +8,6 @@ public enum VersionFormat Maven, Docker, Octopus, - Unsortable + Lexicographic } } \ No newline at end of file