dmlloyd commented on code in PR #406:
URL: https://github.com/apache/maven-resolver/pull/406#discussion_r1453682391


##########
maven-resolver-util/src/test/java/org/eclipse/aether/util/version/GenericVersionTest.java:
##########
@@ -44,6 +41,155 @@ void testEmptyVersion() {
         assertOrder(X_EQ_Y, "0", "");
     }
 
+    // Block of tests from https://issues.apache.org/jira/browse/MRESOLVER-336
+    @Test
+    void testTrimPadding() {
+        // 1.0.0 -> 1
+        List<GenericVersion.Item> items = new ArrayList<>(Arrays.asList(
+                new GenericVersion.Item(GenericVersion.Item.KIND_INT, 1),
+                new GenericVersion.Item(GenericVersion.Item.KIND_INT, 0),
+                new GenericVersion.Item(GenericVersion.Item.KIND_INT, 0)));
+        assertEquals(3, items.size());
+        GenericVersion.trimPadding(items);
+        assertEquals(1, items.size());
+    }
+
+    @Test
+    void testTrimPaddingNotNeededString() {
+        // 1.0.0.string -> 1.string
+        List<GenericVersion.Item> items = new ArrayList<>(Arrays.asList(
+                new GenericVersion.Item(GenericVersion.Item.KIND_INT, 1),
+                new GenericVersion.Item(GenericVersion.Item.KIND_INT, 0),
+                new GenericVersion.Item(GenericVersion.Item.KIND_INT, 0),
+                new GenericVersion.Item(GenericVersion.Item.KIND_STRING, 
"string")));
+        assertEquals(4, items.size());
+        GenericVersion.trimPadding(items);
+        assertEquals(2, items.size());
+    }
+
+    @Test
+    void testTrimPaddingNeededQualifier() {
+        // 1.0.0.ga -> 1
+        List<GenericVersion.Item> items = new ArrayList<>(Arrays.asList(
+                new GenericVersion.Item(GenericVersion.Item.KIND_INT, 1),
+                new GenericVersion.Item(GenericVersion.Item.KIND_INT, 0),
+                new GenericVersion.Item(GenericVersion.Item.KIND_INT, 0),
+                new GenericVersion.Item(GenericVersion.Item.KIND_QUALIFIER, 
0)));
+        assertEquals(4, items.size());
+        GenericVersion.trimPadding(items);
+        assertEquals(1, items.size());
+    }
+
+    @Test
+    void testTrimPaddingNeededQualifierMixed() {
+        // 1.0.0.string.0.ga -> 1.string
+        List<GenericVersion.Item> items = new ArrayList<>(Arrays.asList(
+                new GenericVersion.Item(GenericVersion.Item.KIND_INT, 1),
+                new GenericVersion.Item(GenericVersion.Item.KIND_INT, 0),
+                new GenericVersion.Item(GenericVersion.Item.KIND_INT, 0),
+                new GenericVersion.Item(GenericVersion.Item.KIND_STRING, 
"string"),
+                new GenericVersion.Item(GenericVersion.Item.KIND_INT, 0),
+                new GenericVersion.Item(GenericVersion.Item.KIND_QUALIFIER, 
0)));
+        assertEquals(6, items.size());
+        GenericVersion.trimPadding(items);
+        assertEquals(2, items.size());
+    }
+
+    @Test
+    void testTrimPaddingNeededQualifierMixedInBetweenGa() {
+        // 1.0.ga.0.string.0.ga -> 1.ga.0.string
+        List<GenericVersion.Item> items = new ArrayList<>(Arrays.asList(
+                new GenericVersion.Item(GenericVersion.Item.KIND_INT, 1),
+                new GenericVersion.Item(GenericVersion.Item.KIND_INT, 0),
+                new GenericVersion.Item(GenericVersion.Item.KIND_QUALIFIER, 0),
+                new GenericVersion.Item(GenericVersion.Item.KIND_INT, 0),
+                new GenericVersion.Item(GenericVersion.Item.KIND_STRING, 
"string"),
+                new GenericVersion.Item(GenericVersion.Item.KIND_INT, 0),
+                new GenericVersion.Item(GenericVersion.Item.KIND_QUALIFIER, 
0)));
+        assertEquals(7, items.size());
+        GenericVersion.trimPadding(items);
+        assertEquals(4, items.size());
+    }
+
+    @Test
+    void testEdgeCase_1_1() {
+        Version v1 = newVersion("0.0.0.ga.ga.foo");
+        Version v2 = newVersion("foo");
+        // they were equal in Resolver 1.x
+        assertNotEquals(v1, v2);
+    }
+
+    @Test
+    void testEdgeCase_1_2() {
+        // as expected
+        assertOrder(X_LT_Y, "ga.ga.foo", "foo");

Review Comment:
   You're right, I accidentally tested this with `maven-artifact` (because it 
was in my `bash` history). My bad!



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to