Skip to content

Commit

Permalink
Added LATEST_RELEASE pseudo version
Browse files Browse the repository at this point in the history
  • Loading branch information
phax committed Apr 11, 2024
1 parent 605591b commit 9ec5f69
Show file tree
Hide file tree
Showing 4 changed files with 49 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ public int compareToVersion (@Nonnull final Version aStaticVersion)
});

/**
* Latest indicates the very latest version.
* Latest indicates the very latest version (including snapshot).
*/
public static final IVESPseudoVersion LATEST = new VESPseudoVersion ("latest", new IPseudoVersionComparable ()
{
Expand All @@ -80,6 +80,32 @@ public int compareToVersion (@Nonnull final Version aStaticVersion)
}
});

/**
* Latest indicates the very latest version (excluding snapshot).
*/
public static final IVESPseudoVersion LATEST_RELEASE;
static
{
LATEST_RELEASE = new VESPseudoVersion ("latest-release", new IPseudoVersionComparable ()
{
public int compareToPseudoVersion (@Nonnull final IVESPseudoVersion aOtherPseudoVersion)
{
// We are before LATEST
if (aOtherPseudoVersion.equals (LATEST))
return -1;

// LATEST_RELEASE is always greater than the rest
return +1;
}

public int compareToVersion (@Nonnull final Version aStaticVersion)
{
// LATEST_RELEASE is always greater
return +1;
}
});
}

private static final class SingletonHolder
{
static final VESPseudoVersionRegistry INSTANCE = new VESPseudoVersionRegistry ();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ public DefaultPseudoVersionRegistrarSPIImpl ()
public void registerPseudoVersions (@Nonnull final IVESPseudoVersionRegistry aRegistry)
{
aRegistry.registerPseudoVersion (VESPseudoVersionRegistry.OLDEST);
aRegistry.registerPseudoVersion (VESPseudoVersionRegistry.LATEST_RELEASE);
aRegistry.registerPseudoVersion (VESPseudoVersionRegistry.LATEST);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,11 @@ public void testBasic ()
final VESPseudoVersionRegistry a = VESPseudoVersionRegistry.getInstance ();
assertNotNull (a);

assertEquals (2, a.size ());
assertEquals (3, a.size ());

assertNotNull (a.getFromIDOrNull (VESPseudoVersionRegistry.LATEST.getID ()));
assertNotNull (a.getFromIDOrNull (VESPseudoVersionRegistry.OLDEST.getID ()));
assertNotNull (a.getFromIDOrNull (VESPseudoVersionRegistry.LATEST_RELEASE.getID ()));
assertNotNull (a.getFromIDOrNull (VESPseudoVersionRegistry.LATEST.getID ()));
assertNull (a.getFromIDOrNull ("hoppla"));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,8 @@ public void testCompare ()
final VESVersion ver3 = VESVersion.parseOrNull ("1.2.4");
final VESVersion ver4 = VESVersion.parseOrNull ("1.3");
final VESVersion ver5 = VESVersion.parseOrNull ("2023.5");
final VESVersion ver6 = VESVersion.of (VESPseudoVersionRegistry.LATEST);
final VESVersion ver6 = VESVersion.of (VESPseudoVersionRegistry.LATEST_RELEASE);
final VESVersion ver7 = VESVersion.of (VESPseudoVersionRegistry.LATEST);

assertEquals (0, ver0.compareTo (ver0));
assertTrue (ver0.compareTo (ver1) < 0);
Expand All @@ -152,6 +153,7 @@ public void testCompare ()
assertTrue (ver0.compareTo (ver4) < 0);
assertTrue (ver0.compareTo (ver5) < 0);
assertTrue (ver0.compareTo (ver6) < 0);
assertTrue (ver0.compareTo (ver7) < 0);

assertTrue (ver1.compareTo (ver0) > 0);
assertEquals (0, ver1.compareTo (ver1));
Expand All @@ -160,6 +162,7 @@ public void testCompare ()
assertTrue (ver1.compareTo (ver4) < 0);
assertTrue (ver1.compareTo (ver5) < 0);
assertTrue (ver1.compareTo (ver6) < 0);
assertTrue (ver1.compareTo (ver7) < 0);

assertTrue (ver2.compareTo (ver0) > 0);
assertTrue (ver2.compareTo (ver1) > 0);
Expand All @@ -168,6 +171,7 @@ public void testCompare ()
assertTrue (ver2.compareTo (ver4) < 0);
assertTrue (ver2.compareTo (ver5) < 0);
assertTrue (ver2.compareTo (ver6) < 0);
assertTrue (ver2.compareTo (ver7) < 0);

assertTrue (ver3.compareTo (ver0) > 0);
assertTrue (ver3.compareTo (ver1) > 0);
Expand All @@ -176,6 +180,7 @@ public void testCompare ()
assertTrue (ver3.compareTo (ver4) < 0);
assertTrue (ver3.compareTo (ver5) < 0);
assertTrue (ver3.compareTo (ver6) < 0);
assertTrue (ver3.compareTo (ver7) < 0);

assertTrue (ver4.compareTo (ver0) > 0);
assertTrue (ver4.compareTo (ver1) > 0);
Expand All @@ -184,6 +189,7 @@ public void testCompare ()
assertEquals (0, ver4.compareTo (ver4));
assertTrue (ver4.compareTo (ver5) < 0);
assertTrue (ver4.compareTo (ver6) < 0);
assertTrue (ver4.compareTo (ver7) < 0);

assertTrue (ver5.compareTo (ver0) > 0);
assertTrue (ver5.compareTo (ver1) > 0);
Expand All @@ -192,6 +198,7 @@ public void testCompare ()
assertTrue (ver5.compareTo (ver4) > 0);
assertEquals (0, ver5.compareTo (ver5));
assertTrue (ver5.compareTo (ver6) < 0);
assertTrue (ver5.compareTo (ver7) < 0);

assertTrue (ver6.compareTo (ver0) > 0);
assertTrue (ver6.compareTo (ver1) > 0);
Expand All @@ -200,6 +207,16 @@ public void testCompare ()
assertTrue (ver6.compareTo (ver4) > 0);
assertTrue (ver6.compareTo (ver5) > 0);
assertEquals (0, ver6.compareTo (ver6));
assertTrue (ver6.compareTo (ver7) < 0);

assertTrue (ver7.compareTo (ver0) > 0);
assertTrue (ver7.compareTo (ver1) > 0);
assertTrue (ver7.compareTo (ver2) > 0);
assertTrue (ver7.compareTo (ver3) > 0);
assertTrue (ver7.compareTo (ver4) > 0);
assertTrue (ver7.compareTo (ver5) > 0);
assertTrue (ver7.compareTo (ver6) > 0);
assertEquals (0, ver7.compareTo (ver7));
}

@Test
Expand Down

0 comments on commit 9ec5f69

Please sign in to comment.