diff options
Diffstat (limited to 'src/test/java/sevenUnits/utils/SemanticVersionTest.java')
-rw-r--r-- | src/test/java/sevenUnits/utils/SemanticVersionTest.java | 93 |
1 files changed, 47 insertions, 46 deletions
diff --git a/src/test/java/sevenUnits/utils/SemanticVersionTest.java b/src/test/java/sevenUnits/utils/SemanticVersionTest.java index 1e59ae3..5b74812 100644 --- a/src/test/java/sevenUnits/utils/SemanticVersionTest.java +++ b/src/test/java/sevenUnits/utils/SemanticVersionTest.java @@ -1,5 +1,5 @@ /** - * Copyright (C) 2022 Adrien Hopkins + * Copyright (C) 2022, 2024, 2025 Adrien Hopkins * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by @@ -35,12 +35,14 @@ import org.junit.jupiter.api.Test; * Tests for {@link SemanticVersionNumber} * * @since 2022-02-19 + * @since v0.4.0 */ public final class SemanticVersionTest { /** * Test for {@link SemanticVersionNumber#compatible} - * + * * @since 2022-02-20 + * @since v0.4.0 */ @Test public void testCompatibility() { @@ -64,38 +66,37 @@ public final class SemanticVersionTest { /** * Tests {@link SemanticVersionNumber#toString} for complex version numbers - * + * * @since 2022-02-19 + * @since v0.4.0 */ @Test public void testComplexToString() { - final SemanticVersionNumber v1 = builder(1, 2, 3).preRelease(1, 2, 3) - .build(); + final var v1 = builder(1, 2, 3).preRelease(1, 2, 3).build(); assertEquals("1.2.3-1.2.3", v1.toString()); - final SemanticVersionNumber v2 = builder(4, 5, 6).preRelease("abc", 123) + final var v2 = builder(4, 5, 6).preRelease("abc", 123) .buildMetadata("2022-02-19").build(); assertEquals("4.5.6-abc.123+2022-02-19", v2.toString()); - final SemanticVersionNumber v3 = builder(1, 0, 0) - .preRelease("x-y-z", "--").build(); + final var v3 = builder(1, 0, 0).preRelease("x-y-z", "--").build(); assertEquals("1.0.0-x-y-z.--", v3.toString()); } /** * Tests that complex version can be created and their parts read - * + * * @since 2022-02-19 + * @since v0.4.0 */ @Test public void testComplexVersions() { - final SemanticVersionNumber v1 = builder(1, 2, 3).preRelease(1, 2, 3) - .build(); + final var v1 = builder(1, 2, 3).preRelease(1, 2, 3).build(); assertEquals(1, v1.majorVersion()); assertEquals(2, v1.minorVersion()); assertEquals(3, v1.patchVersion()); assertEquals(List.of("1", "2", "3"), v1.preReleaseIdentifiers()); assertEquals(List.of(), v1.buildMetadata()); - final SemanticVersionNumber v2 = builder(4, 5, 6).preRelease("abc", 123) + final var v2 = builder(4, 5, 6).preRelease("abc", 123) .buildMetadata("2022-02-19").build(); assertEquals(4, v2.majorVersion()); assertEquals(5, v2.minorVersion()); @@ -103,8 +104,7 @@ public final class SemanticVersionTest { assertEquals(List.of("abc", "123"), v2.preReleaseIdentifiers()); assertEquals(List.of("2022-02-19"), v2.buildMetadata()); - final SemanticVersionNumber v3 = builder(1, 0, 0) - .preRelease("x-y-z", "--").build(); + final var v3 = builder(1, 0, 0).preRelease("x-y-z", "--").build(); assertEquals(1, v3.majorVersion()); assertEquals(0, v3.minorVersion()); assertEquals(0, v3.patchVersion()); @@ -114,8 +114,9 @@ public final class SemanticVersionTest { /** * Test that semantic version strings can be parsed correctly - * + * * @since 2022-02-19 + * @since v0.4.0 * @see SemanticVersionNumber#fromString * @see SemanticVersionNumber#isValidVersionString */ @@ -153,9 +154,7 @@ public final class SemanticVersionTest { "Could not parse 1.2.3-abc.56.def+2022abc99"); } - /** - * Ensures it is impossible to create invalid version numbers - */ + /** Ensures it is impossible to create invalid version numbers */ @Test public void testInvalidVersionNumbers() { // stableVersion() @@ -199,7 +198,7 @@ public final class SemanticVersionTest { assertThrows(IllegalArgumentException.class, () -> builder(-3, 0, 7), "Negative major version number tolerated by builder"); - final SemanticVersionNumber.Builder testBuilder = builder(1, 2, 3); + final var testBuilder = builder(1, 2, 3); // note: builder.buildMetadata(null) doesn't even compile lol // builder.buildMetadata assertThrows(NullPointerException.class, @@ -265,8 +264,9 @@ public final class SemanticVersionTest { /** * Test for {@link SemanticVersionNumber#isStable} - * + * * @since 2022-02-19 + * @since v0.4.0 */ @Test public void testIsStable() { @@ -288,29 +288,27 @@ public final class SemanticVersionTest { * {@link SemanticVersionNumber#compareTo} according to official rules. Tests * all of the versions compared in section 11 of the SemVer 2.0.0 document * and some more. - * + * * @since 2022-02-19 + * @since v0.4.0 */ @Test public void testOrder() { - final SemanticVersionNumber v100a = builder(1, 0, 0).preRelease("alpha") - .build(); // 1.0.0-alpha - final SemanticVersionNumber v100a1 = preRelease(1, 0, 0, "alpha", 1); // 1.0.0-alpha.1 - final SemanticVersionNumber v100ab = builder(1, 0, 0) - .preRelease("alpha", "beta").build(); // 1.0.0-alpha.beta - final SemanticVersionNumber v100b = builder(1, 0, 0).preRelease("beta") - .build(); // 1.0.0-alpha - final SemanticVersionNumber v100b2 = preRelease(1, 0, 0, "beta", 2); // 1.0.0-beta.2 - final SemanticVersionNumber v100b11 = preRelease(1, 0, 0, "beta", 11); // 1.0.0-beta.11 - final SemanticVersionNumber v100rc1 = preRelease(1, 0, 0, "rc", 1); // 1.0.0-rc.1 - final SemanticVersionNumber v100 = stableVersion(1, 0, 0); - final SemanticVersionNumber v100plus = builder(1, 0, 0) + final var v100a = builder(1, 0, 0).preRelease("alpha").build(); // 1.0.0-alpha + final var v100a1 = preRelease(1, 0, 0, "alpha", 1); // 1.0.0-alpha.1 + final var v100ab = builder(1, 0, 0).preRelease("alpha", "beta").build(); // 1.0.0-alpha.beta + final var v100b = builder(1, 0, 0).preRelease("beta").build(); // 1.0.0-alpha + final var v100b2 = preRelease(1, 0, 0, "beta", 2); // 1.0.0-beta.2 + final var v100b11 = preRelease(1, 0, 0, "beta", 11); // 1.0.0-beta.11 + final var v100rc1 = preRelease(1, 0, 0, "rc", 1); // 1.0.0-rc.1 + final var v100 = stableVersion(1, 0, 0); + final var v100plus = builder(1, 0, 0) .buildMetadata("blah", "blah", "blah").build(); // 1.0.0+blah.blah.blah - final SemanticVersionNumber v200 = stableVersion(2, 0, 0); - final SemanticVersionNumber v201 = stableVersion(2, 0, 1); - final SemanticVersionNumber v210 = stableVersion(2, 1, 0); - final SemanticVersionNumber v211 = stableVersion(2, 1, 1); - final SemanticVersionNumber v300 = stableVersion(3, 0, 0); + final var v200 = stableVersion(2, 0, 0); + final var v201 = stableVersion(2, 0, 1); + final var v210 = stableVersion(2, 1, 0); + final var v211 = stableVersion(2, 1, 1); + final var v300 = stableVersion(3, 0, 0); // test order of version numbers assertTrue(v100a.compareTo(v100a1) < 0, "1.0.0-alpha >= 1.0.0-alpha.1"); @@ -348,17 +346,18 @@ public final class SemanticVersionTest { /** * Tests that simple stable versions can be created and their parts read - * + * * @since 2022-02-19 + * @since v0.4.0 */ @Test public void testSimpleStableVersions() { - final SemanticVersionNumber v100 = stableVersion(1, 0, 0); + final var v100 = stableVersion(1, 0, 0); assertEquals(1, v100.majorVersion()); assertEquals(0, v100.minorVersion()); assertEquals(0, v100.patchVersion()); - final SemanticVersionNumber v925 = stableVersion(9, 2, 5); + final var v925 = stableVersion(9, 2, 5); assertEquals(9, v925.majorVersion()); assertEquals(2, v925.minorVersion()); assertEquals(5, v925.patchVersion()); @@ -367,26 +366,28 @@ public final class SemanticVersionTest { /** * Tests that {@link SemanticVersionNumber#toString} works for simple version * numbers - * + * * @since 2022-02-19 + * @since v0.4.0 */ @Test public void testSimpleToString() { - final SemanticVersionNumber v100 = stableVersion(1, 0, 0); + final var v100 = stableVersion(1, 0, 0); assertEquals("1.0.0", v100.toString()); - final SemanticVersionNumber v845a1 = preRelease(8, 4, 5, "alpha", 1); + final var v845a1 = preRelease(8, 4, 5, "alpha", 1); assertEquals("8.4.5-alpha.1", v845a1.toString()); } /** * Tests that simple unstable versions can be created and their parts read - * + * * @since 2022-02-19 + * @since v0.4.0 */ @Test public void testSimpleUnstableVersions() { - final SemanticVersionNumber v350a1 = preRelease(3, 5, 0, "alpha", 1); + final var v350a1 = preRelease(3, 5, 0, "alpha", 1); assertEquals(3, v350a1.majorVersion(), "Incorrect major version for v3.5.0a1"); assertEquals(5, v350a1.minorVersion(), |