diff options
author | Alexander Kurtakov | 2020-02-11 08:40:59 +0000 |
---|---|---|
committer | Alexander Kurtakov | 2020-02-11 08:40:59 +0000 |
commit | 38a3e8cce8d95375b12caaea5d0a9c49701eb422 (patch) | |
tree | 35912d16cef24b27a8045c34137ac16062caae4e | |
parent | e4f3868ae8573bb929302ccdab51c05aa8646476 (diff) | |
download | rt.equinox.p2-38a3e8cce8d95375b12caaea5d0a9c49701eb422.tar.gz rt.equinox.p2-38a3e8cce8d95375b12caaea5d0a9c49701eb422.tar.xz rt.equinox.p2-38a3e8cce8d95375b12caaea5d0a9c49701eb422.zip |
Convert VersionTesting to JUnit 4.x
Change-Id: I50d23337bdce19e15319bd9657ebe09e9c8f20a1
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
9 files changed, 328 insertions, 458 deletions
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/CommonPatternsTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/CommonPatternsTest.java index d4dd7d9cb..cf7f644ce 100644 --- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/CommonPatternsTest.java +++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/CommonPatternsTest.java @@ -14,8 +14,11 @@ package org.eclipse.equinox.p2.tests.omniVersion; +import static org.junit.Assert.assertEquals; + import org.eclipse.equinox.p2.metadata.IVersionFormat; import org.eclipse.equinox.p2.metadata.Version; +import org.junit.Test; /** * Test common patterns: @@ -23,7 +26,7 @@ import org.eclipse.equinox.p2.metadata.Version; * - Mozilla * - RPM * - JSR277 (proposed version handling as documented Dec 30, 2008). - * + * */ public class CommonPatternsTest extends VersionTesting { public static String TRIPLET_FORMAT_STRING = "n=0;[.n=0;[.n=0;]][dS=m;]"; @@ -32,6 +35,7 @@ public class CommonPatternsTest extends VersionTesting { public static String RPM_PREFIX = "format(<[n=0;:]a(d=[^a-zA-Z0-9@_-];?a)*>[-n[dS=!;]]):"; public static String JSR277_PREFIX = "format(n(.n=0;){0,3}[-S=m;]):"; + @Test public void testMozillaPattern() { // 1.-1 @@ -114,11 +118,13 @@ public class CommonPatternsTest extends VersionTesting { assertOrder(v17, v18); } + @Test public void testMozillaPatternToString() { String test = MOZ_PREFIX + "1.1pre1aa"; assertEquals(MOZ_PREFIX, Version.parseVersion(test).getFormat().toString() + ':'); } + @Test public void testTripletPattern() { Version v1 = Version.parseVersion(TRIPLE_PREFIX + "1"); Version v1a = Version.parseVersion(TRIPLE_PREFIX + "1.0"); @@ -142,11 +148,13 @@ public class CommonPatternsTest extends VersionTesting { assertOrder(v6, v3); } + @Test public void testTripletPatternToString() { String test = TRIPLE_PREFIX + "1.0-FC1"; assertEquals(TRIPLE_PREFIX, Version.parseVersion(test).getFormat().toString() + ':'); } + @Test public void testTripletPatternToOSGi() throws Exception { IVersionFormat triplet = Version.compile(TRIPLET_FORMAT_STRING); assertEquals(Version.createOSGi(1, 0, 0), triplet.parse("1.0.0." + IVersionFormat.DEFAULT_MIN_STRING_TRANSLATION)); @@ -157,17 +165,20 @@ public class CommonPatternsTest extends VersionTesting { assertEquals(Version.createOSGi(1, 0, 0), Version.create("raw:1.0.0.''")); } + @Test public void testMinTranslation() throws Exception { IVersionFormat format = Version.compile("n=0;[.n=0;[.n=0;]][dS=m{!};]"); assertEquals(Version.create("raw:1.0.0.''"), format.parse("1.0.0.!")); } + @Test public void testMaxTranslation() throws Exception { IVersionFormat format = Version.compile("n=0;[.n=0;[.n=0;]][dS=''{~,4};]"); assertEquals(Version.create("raw:1.0.0.m"), format.parse("1.0.0.~~~~")); } // TODO: Not clear what a missing RPM EPOCH (i.e. first '.n:' should be interpreted as + @Test public void testRPMPattern() { Version v1 = Version.parseVersion(RPM_PREFIX + "33:1.2.3a-23/i386"); assertEquals(Version.parseVersion("raw:<33.1.2.3.'a'>.23"), v1); @@ -191,6 +202,7 @@ public class CommonPatternsTest extends VersionTesting { assertOrder(v13, v14); } + @Test public void testRPMPatternToString() { String test = RPM_PREFIX + "33:1.2.3a-23/i386"; assertEquals(RPM_PREFIX, Version.parseVersion(test).getFormat().toString() + ':'); @@ -200,6 +212,7 @@ public class CommonPatternsTest extends VersionTesting { * JSR277 works like triplet, but has 4 elements. The last qualifier can be used without specifying the preceding * three segments. */ + @Test public void testJsr277Pattern() { Version v1 = Version.parseVersion(JSR277_PREFIX + "1"); Version v1a = Version.parseVersion(JSR277_PREFIX + "1.0"); @@ -228,6 +241,7 @@ public class CommonPatternsTest extends VersionTesting { assertOrder(v3, v5); } + @Test public void testJsr277PatternToString() { String test = JSR277_PREFIX + "1.0.0.0-a"; assertEquals(JSR277_PREFIX, Version.parseVersion(test).getFormat().toString() + ':'); diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatRangeTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatRangeTest.java index 83c964232..16c55c4a2 100644 --- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatRangeTest.java +++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatRangeTest.java @@ -14,8 +14,12 @@ package org.eclipse.equinox.p2.tests.omniVersion; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertThrows; + import org.eclipse.equinox.p2.metadata.Version; import org.eclipse.equinox.p2.metadata.VersionRange; +import org.junit.Test; /** * Tests ranges using format(xxx) version strings. @@ -24,6 +28,7 @@ import org.eclipse.equinox.p2.metadata.VersionRange; public class FormatRangeTest extends VersionTesting { public static String OSGI_PREFIX = "format(n[.n=0;[.n=0;[.S=[A-Za-z0-9_-];]]]):"; + @Test public void testRangeWithDefaultValues() { VersionRange range = new VersionRange(OSGI_PREFIX + "0"); assertIncludedInRange("#1", range, OSGI_PREFIX + "0"); @@ -31,21 +36,20 @@ public class FormatRangeTest extends VersionTesting { assertIncludedInRange("#3", range, OSGI_PREFIX + "0.0.0"); } + @Test public void testEmptyRange() { - try { - new VersionRange(OSGI_PREFIX); - fail("Uncught error: range can not be empty"); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows("Uncaught error: range can not be empty", IllegalArgumentException.class, + () -> new VersionRange(OSGI_PREFIX)); } + @Test public void testRangeDelimitersInVersionString() { VersionRange range = new VersionRange("format(S):[one\\,\\ two,three\\,\\ \\[and\\]\\ four]"); assertIncludedInRange("#1", range, "format(S):one, two"); assertIncludedInRange("#1", range, "format(S):three, [and] four"); } + @Test public void testSingleVersionRange() { VersionRange range = new VersionRange(OSGI_PREFIX + "[1.0.0, 1.0.0.x)"); assertEquals("0.1", Version.parseVersion(OSGI_PREFIX + "1.0.0"), range.getMinimum()); @@ -59,8 +63,9 @@ public class FormatRangeTest extends VersionTesting { assertNotIncludedInRange("2.4", range, OSGI_PREFIX + "2"); } + @Test public void testGreaterThan() { - // any version equal or greater than 1.0.0 is ok + // any version equal or greater than 1.0.0 is ok VersionRange lowerBound = new VersionRange(OSGI_PREFIX + "1.0.0"); assertNotIncludedInRange("1.0", lowerBound, OSGI_PREFIX + "0.9.0"); assertIncludedInRange("1.1", lowerBound, OSGI_PREFIX + "1.0.0"); @@ -68,8 +73,9 @@ public class FormatRangeTest extends VersionTesting { assertIncludedInRange("1.3", lowerBound, OSGI_PREFIX + "999.999.999.foo"); } + @Test public void testGreaterThanMinimum() { - // any version equal or greater than Version.emptyVersion is ok + // any version equal or greater than Version.emptyVersion is ok VersionRange lowerBound = new VersionRange("raw:-M"); assertIncludedInRange("0.1", lowerBound, "raw:-M"); assertIncludedInRange("1.0", lowerBound, OSGI_PREFIX + "0.9.0"); @@ -78,8 +84,9 @@ public class FormatRangeTest extends VersionTesting { assertIncludedInRange("1.3", lowerBound, OSGI_PREFIX + "999.999.999.foo"); } + @Test public void testLowerThan() { - // any version lower than 2.0 is ok + // any version lower than 2.0 is ok VersionRange upperBound = new VersionRange(OSGI_PREFIX + "[0, 2.0.0)"); assertIncludedInRange("1.0", upperBound, OSGI_PREFIX + "0.0"); assertIncludedInRange("1.1", upperBound, OSGI_PREFIX + "0.9"); diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/OSGiRangeTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/OSGiRangeTest.java index 4a664d4ff..c46eca90d 100644 --- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/OSGiRangeTest.java +++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/OSGiRangeTest.java @@ -15,14 +15,20 @@ package org.eclipse.equinox.p2.tests.omniVersion; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertThrows; +import static org.junit.Assert.assertTrue; + import org.eclipse.equinox.p2.metadata.Version; import org.eclipse.equinox.p2.metadata.VersionRange; +import org.junit.Test; /** * Tests ranges of versions specified with osgi (default) version format. * */ public class OSGiRangeTest extends VersionTesting { + @Test public void testSingleVersionRange() { VersionRange range; range = new VersionRange("[1.0.0, 1.0.0.-)"); @@ -37,17 +43,15 @@ public class OSGiRangeTest extends VersionTesting { assertTrue("2.4", !range.isIncluded(Version.parseVersion("2"))); } + @Test public void testInvertedRange() { - try { - new VersionRange("[2.0.0, 1.0.0]"); - fail("Inverted range is not allowed"); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows("Inverted range is not allowed", IllegalArgumentException.class, + () -> new VersionRange("[2.0.0, 1.0.0]")); } + @Test public void testGreaterThan() { - // any version equal or greater than 1.0 is ok + // any version equal or greater than 1.0 is ok VersionRange lowerBound = new VersionRange("1.0.0"); assertTrue("1.0", !lowerBound.isIncluded(Version.parseVersion("0.9"))); assertTrue("1.1", lowerBound.isIncluded(Version.parseVersion("1.0"))); @@ -58,8 +62,9 @@ public class OSGiRangeTest extends VersionTesting { } + @Test public void testLowerThan() { - // any version lower than 2.0 is ok + // any version lower than 2.0 is ok VersionRange upperBound = new VersionRange("[0,2.0)"); assertTrue("1.0", upperBound.isIncluded(Version.parseVersion("0.0"))); assertTrue("1.1", upperBound.isIncluded(Version.parseVersion("0.9"))); @@ -69,6 +74,7 @@ public class OSGiRangeTest extends VersionTesting { assertTrue("1.5", !upperBound.isIncluded(Version.parseVersion("2.1"))); } + @Test public void testRangeStrings() { VersionRange v = null; @@ -96,9 +102,10 @@ public class OSGiRangeTest extends VersionTesting { } /** - * Tests that null values passed to the {@link VersionRange} constructor - * are not interpreted as MIN/MAX versions. + * Tests that null values passed to the {@link VersionRange} constructor are not + * interpreted as MIN/MAX versions. */ + @Test public void testNullConstructor() { VersionRange range = new VersionRange(null); assertEquals("1.0", range.getMinimum(), Version.emptyVersion); @@ -109,6 +116,7 @@ public class OSGiRangeTest extends VersionTesting { assertEquals("2.1", range.getMaximum(), Version.MAX_VERSION); } + @Test public void testSerialize() { VersionRange v = null; diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/OSGiVersionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/OSGiVersionTest.java index ea5a966a2..b509798a9 100644 --- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/OSGiVersionTest.java +++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/OSGiVersionTest.java @@ -14,7 +14,14 @@ package org.eclipse.equinox.p2.tests.omniVersion; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertThrows; +import static org.junit.Assert.assertTrue; + import org.eclipse.equinox.p2.metadata.Version; +import org.junit.Test; /** * Tests versions specified with default OSGi version strings and tests OSGi compatibility @@ -22,7 +29,7 @@ import org.eclipse.equinox.p2.metadata.Version; * */ public class OSGiVersionTest extends VersionTesting { - + @Test public void testBasicParsing() { // should parse without exception @@ -34,6 +41,7 @@ public class OSGiVersionTest extends VersionTesting { assertNotNull(Version.parseVersion("1.0.0.r12345_hello")); } + @Test public void testOSGiStrings() { Version v = Version.parseVersion(null); @@ -54,6 +62,7 @@ public class OSGiVersionTest extends VersionTesting { assertEquals("1.0.0.r12345_hello", v.toString()); } + @Test public void testSerialize() { Version v = null; @@ -71,107 +80,63 @@ public class OSGiVersionTest extends VersionTesting { assertSerialized(v); } + @Test public void testNegativeFirstValue() { - try { - Version.parseVersion("-1"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("-1")); } + @Test public void testPeriodInQualifier() { - try { - Version.parseVersion("1.0.0.sailor.moon"); - fail("Uncaught exception: period is not allowed in osgi qualifier"); - } catch (IllegalArgumentException e) { - assertTrue(true); - } - + assertThrows("Uncaught exception: period is not allowed in osgi qualifier", IllegalArgumentException.class, + () -> Version.parseVersion("1.0.0.sailor.moon")); } + @Test public void testNegativeSecondValue() { - try { - Version.parseVersion("1.-1"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("1.-1")); } + @Test public void testNegativeThirdValue() { - try { - Version.parseVersion("1.0.-1"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("1.0.-1")); } + @Test public void testEmptyFourthValue() { - try { - Version.parseVersion("1.0.0."); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("1.0.0.")); } + @Test public void testStringFirstValue() { - try { - Version.parseVersion("a"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("a")); } + @Test public void testStringSecondValue() { - try { - Version.parseVersion("1.a"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("1.a")); } + @Test public void testStringThirdValue() { - try { - Version.parseVersion("1.0.a"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("1.0.a")); } + @Test public void testSinglePeriod() { - try { - Version.parseVersion("."); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> Version.parseVersion(".")); } + @Test public void testTwoPeriods() { - try { - Version.parseVersion(".."); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("..")); } + @Test public void testThreePeriods() { - try { - Version.parseVersion("..."); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } - + assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("...")); } + @Test public void testEquality() { // should parse without exception Version v1 = Version.parseVersion("1"); @@ -188,6 +153,7 @@ public class OSGiVersionTest extends VersionTesting { } + @Test public void testVersionCompare() { // should parse without exception Version v1 = Version.parseVersion("1"); @@ -209,6 +175,7 @@ public class OSGiVersionTest extends VersionTesting { } + @Test public void testCompatability() { Version v = Version.parseVersion("raw:1.2.3.'foo'"); assertNotNull(v); diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawRangeTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawRangeTest.java index 66b52b5cc..207f3e1de 100644 --- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawRangeTest.java +++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawRangeTest.java @@ -14,26 +14,28 @@ package org.eclipse.equinox.p2.tests.omniVersion; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertThrows; + import org.eclipse.equinox.p2.metadata.Version; import org.eclipse.equinox.p2.metadata.VersionRange; +import org.junit.Test; /** * Tests version ranges specified using raw. * */ public class RawRangeTest extends VersionTesting { + @Test public void testEmptyRange() { VersionRange range = new VersionRange("raw:''"); assertIncludedInRange("#1", range, "raw:'a'"); - try { - new VersionRange("raw:"); - fail("Uncaught error: a raw range can not be empty."); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows("Uncaught error: a raw range can not be empty.", IllegalArgumentException.class, + () -> new VersionRange("raw:")); } + @Test public void testRangeDelimitersInStrings() { VersionRange range = null; range = new VersionRange("raw:['one\\,\\ two','three\\,\\ \\[and\\]\\ four']"); @@ -41,6 +43,7 @@ public class RawRangeTest extends VersionTesting { assertIncludedInRange("#2", range, "raw:'three, [and] four'"); } + @Test public void testRangeDelimitersInStringstoString() { VersionRange range = null; String s = null; @@ -48,6 +51,7 @@ public class RawRangeTest extends VersionTesting { assertEquals(s, range.toString()); } + @Test public void testSingleVersionRange() { VersionRange range; range = new VersionRange("raw:[1.0.0, 1.0.0.'-')"); @@ -64,17 +68,15 @@ public class RawRangeTest extends VersionTesting { assertNotIncludedInRange("2.4", range, "raw:2"); } + @Test public void testInvertedRange() { - try { - new VersionRange("raw:[2.0.0, 1.0.0]"); - fail("Inverted range is not allowed"); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows("\"Inverted range is not allowed\"", IllegalArgumentException.class, + () -> new VersionRange("raw:[2.0.0, 1.0.0]")); } + @Test public void testGreaterThan() { - // any version equal or greater than 1.0.0 is ok + // any version equal or greater than 1.0.0 is ok VersionRange lowerBound = new VersionRange("raw:1.0.0"); assertNotIncludedInRange("1.0", lowerBound, "raw:0.9.0"); assertIncludedInRange("1.1", lowerBound, "raw:1.0.0"); @@ -83,8 +85,9 @@ public class RawRangeTest extends VersionTesting { assertIncludedInRange("1.3", lowerBound, "raw:M.M.M.m"); } + @Test public void testGreaterThanSmallest() { - // any version equal or greater than -M' (empty string) is ok + // any version equal or greater than -M' (empty string) is ok VersionRange lowerBound = new VersionRange("raw:-M"); assertIncludedInRange("#1", lowerBound, "raw:-M"); assertIncludedInRange("#1.1", lowerBound, "raw:''"); @@ -98,8 +101,9 @@ public class RawRangeTest extends VersionTesting { assertIncludedInRange("#8", lowerBound, "raw:MpM"); } + @Test public void testLowerThan() { - // any version lower than 2.0 is ok + // any version lower than 2.0 is ok VersionRange upperBound = new VersionRange("raw:[0, 2.0)"); assertIncludedInRange("1.0", upperBound, "raw:0.0"); assertIncludedInRange("1.1", upperBound, "raw:0.9"); @@ -109,6 +113,7 @@ public class RawRangeTest extends VersionTesting { assertNotIncludedInRange("1.5", upperBound, "raw:2.1"); } + @Test public void testSerialize() { VersionRange v = null; @@ -135,6 +140,7 @@ public class RawRangeTest extends VersionTesting { assertSerialized(v); } + @Test public void testToString() { VersionRange v = null; String s = null; diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawRangeWithOriginalTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawRangeWithOriginalTest.java index 22eb7f2ad..96a8bc17a 100644 --- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawRangeWithOriginalTest.java +++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawRangeWithOriginalTest.java @@ -14,151 +14,123 @@ package org.eclipse.equinox.p2.tests.omniVersion; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertThrows; + import org.eclipse.equinox.internal.p2.metadata.VersionFormat; import org.eclipse.equinox.p2.metadata.Version; import org.eclipse.equinox.p2.metadata.VersionRange; +import org.junit.Test; /** * Tests inclusion of original version range string in raw format. * The tests in this class does not fully test the various "format(rules)" only that the sequence * "raw RANGE/format():ORIGINAL RANGE" works, and that errors at the top level are caught. - * + * */ public class RawRangeWithOriginalTest extends VersionTesting { - + @Test public void testRawWithUnknownFormat() { VersionRange v = new VersionRange("raw:[1.0,2.0]/:sailor.moon.R,sailor.moon.S"); assertEquals(v, new VersionRange("raw:[1.0,2.0]")); } + @Test public void testRawWithUnknownFormatToString() { assertEquals("raw:[1.0,2.0]/:sailor.moon.R,sailor.moon.S", new VersionRange("raw:[1.0,2.0]/:sailor.moon.R,sailor.moon.S").toString()); } + @Test public void testRawWithUnknownFormatSerialized() { assertSerialized(new VersionRange("raw:[1.0,2.0]/:sailor.moon.R,sailor.moon.S")); assertEquals("raw:[1.0,2.0]/:sailor.moon.R,sailor.moon.S", getSerialized(new VersionRange("raw:[1.0,2.0]/:sailor.moon.R,sailor.moon.S")).toString()); } + @Test public void testRawWithSimpleFormat() { VersionRange v = new VersionRange("raw:[1.0,2.0]/format(n.n):[1.0,2.0]"); assertEquals(v, new VersionRange("raw:[1.0,2.0]")); } + @Test public void testRawWithSimpleFormatToString() { // range brackets are normalized in toString - not needed in original assertEquals("raw:[1.0,2.0]/format(n.n):1.0,2.0", new VersionRange("raw:[1.0,2.0]/format(n.n):[1.0,2.0]").toString()); } + @Test public void testSimpleFormatToString() { // range brackets are normalized in toString - not needed in original assertEquals("raw:[1.0,2.0]/format(n.n):1.0,2.0", new VersionRange("format(n.n):[1.0,2.0]").toString()); } + @Test public void testRawWithSimpleFormatSerialized() { assertSerialized(new VersionRange("raw:[1.0,2.0]/format(n.n):[1.0,2.0]")); // range brackets are normalized in toString - not needed in original assertEquals("raw:[1.0,2.0]/format(n.n):1.0,2.0", getSerialized(new VersionRange("raw:[1.0,2.0]/format(n.n):[1.0,2.0]")).toString()); } + @Test public void testOriginalStatedButMissing() { - try { - new VersionRange("raw:[1.0,2.0]/"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> new VersionRange("raw:[1.0,2.0]/")); } + @Test public void testOriginalAndUnknownStatedButMissing() { - try { - new VersionRange("raw:[1.0,2.0]/:"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> new VersionRange("raw:[1.0,2.0]/:")); } + @Test public void testOriginalIllegalFormat() { - try { - new VersionRange("raw:[1.0,2.0]/foo:"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> new VersionRange("raw:[1.0,2.0]/foo:")); } + @Test public void testOriginalIllegalFormat2() { - try { - new VersionRange("raw:[1.0,2.0]/100:"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> new VersionRange("raw:[1.0,2.0]/100:")); } + @Test public void testOriginalIllegalFormat3() { - try { - new VersionRange("raw:[1.0,2.0]/'format':"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> new VersionRange("raw:[1.0,2.0]/'format':")); } + @Test public void testOriginalIllegalFormat4() { - try { - new VersionRange("raw:[1.0,2.0]//1.0"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> new VersionRange("raw:[1.0,2.0]//1.0")); } + @Test public void testOriginalIllegalFormat5() { - try { - new VersionRange("raw:[1.0,2.0]/format:"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> new VersionRange("raw:[1.0,2.0]/format:")); } + @Test public void testOriginalFormatUnbalancedLeft() { - try { - new VersionRange("raw:[1.0,2.0]/formatn.n):"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> new VersionRange("raw:[1.0,2.0]/formatn.n):")); } + @Test public void testOriginalFormatUnbalancedRight() { - try { - new VersionRange("raw:[1.0,2.0]/format(n.n:1.0"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> new VersionRange("raw:[1.0,2.0]/format(n.n:1.0")); } + @Test public void testOriginalFormatOriginalMissing() { - try { - new VersionRange("raw:[1.0,2.0]/format(n.n):"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> new VersionRange("raw:[1.0,2.0]/format(n.n):")); } + @Test public void testGreaterThan() { - // any version equal or greater than 1.0.0 is ok + // any version equal or greater than 1.0.0 is ok VersionRange lowerBound = new VersionRange("raw:2.1.0.M/format(n[.n=0;[.n=0;]][d?S=M;]):2.1"); assertNotIncludedInRange("1.0", lowerBound, "raw:2.0.9"); assertIncludedInRange("1.1", lowerBound, "raw:2.2"); assertIncludedInRange("1.3", lowerBound, "raw:999.999.999.'foo'"); } + @Test public void testMinBoundary() { String rangeString = "raw:[-M,2.1.0.M]/format(n[.n=0;[.n=0;]][d?S=M;]):-M,2.1"; VersionRange range = new VersionRange(rangeString); @@ -171,6 +143,7 @@ public class RawRangeWithOriginalTest extends VersionTesting { assertEquals(range2, range); } + @Test public void testOSGiMinBoundary() { String rangeString = "raw:[-M,2.1.0.'']/format(" + VersionFormat.OSGI_FORMAT_STRING + "):-M,2.1.0"; VersionRange range = new VersionRange(rangeString); @@ -184,6 +157,7 @@ public class RawRangeWithOriginalTest extends VersionTesting { assertEquals(range2, range); } + @Test public void testMaxBoundary() { String rangeString = "raw:[2.1.0.M,MpM]/format(n[.n=0;[.n=0;]][d?S=M;]):2.1,MpM"; VersionRange range = new VersionRange(rangeString); @@ -196,6 +170,7 @@ public class RawRangeWithOriginalTest extends VersionTesting { assertEquals(range2, range); } + @Test public void testRecreateUsingMaxUpper() { Version v = Version.create("format(n[.n=0;[.n=0;]][d?S=M;]):2.1"); VersionRange range = new VersionRange(v, true, null, true); @@ -205,6 +180,7 @@ public class RawRangeWithOriginalTest extends VersionTesting { assertEquals(range2, range); } + @Test public void testRecreateUsingMinLower() { Version v = Version.create("format(n[.n=0;[.n=0;]][d?S=M;]):2.1"); VersionRange range = new VersionRange(null, true, v, true); @@ -214,6 +190,7 @@ public class RawRangeWithOriginalTest extends VersionTesting { assertEquals(range2, range); } + @Test public void testOSGiMaxBoundary() { String rangeString = "raw:[2.1.0.'',MpM]/format(" + VersionFormat.OSGI_FORMAT_STRING + "):2.1.0,MpM"; VersionRange range = new VersionRange(rangeString); diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawVersionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawVersionTest.java index 42d7f42e4..d94986ea9 100644 --- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawVersionTest.java +++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawVersionTest.java @@ -14,8 +14,14 @@ package org.eclipse.equinox.p2.tests.omniVersion; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertThrows; +import static org.junit.Assert.assertTrue; + import org.eclipse.equinox.internal.p2.metadata.VersionVector; import org.eclipse.equinox.p2.metadata.Version; +import org.junit.Test; /** * Tests the OmniVersion raw version format. @@ -23,6 +29,7 @@ import org.eclipse.equinox.p2.metadata.Version; */ public class RawVersionTest extends VersionTesting { + @Test public void testBasicParsing() { // should parse without exception @@ -41,21 +48,14 @@ public class RawVersionTest extends VersionTesting { } + @Test public void testEnumParsing() { - try { - Version.create("raw:{blue,green,yellow}"); - fail("Parsing succeeded but enum had no ordinal indicator"); - } catch (IllegalArgumentException e) { - // Expected - } - - try { - Version.create("raw:{blue,^green,yellow}"); - } catch (IllegalArgumentException e) { - fail(e.getMessage()); - } + assertThrows("Parsing succeeded but enum had no ordinal indicator", IllegalArgumentException.class, + () -> Version.create("raw:{blue,green,yellow}")); + Version.create("raw:{blue,^green,yellow}"); } + @Test public void testEnumCompare() { Version v1 = Version.create("raw:{blue,^green,yellow}"); Version v2 = Version.create("raw:{^blue,green,yellow}"); @@ -99,6 +99,7 @@ public class RawVersionTest extends VersionTesting { assertTrue(v2.compareTo(v1) > 0); } + @Test public void testEnumCompareWithOther() { Version v1 = Version.create("raw:{blue,^green,yellow}"); Version v2 = Version.create("raw:'green'"); @@ -133,6 +134,7 @@ public class RawVersionTest extends VersionTesting { assertTrue(v2.compareTo(v1) > 0); } + @Test public void testSerialize() { Version v = null; // should parse without exception @@ -204,6 +206,7 @@ public class RawVersionTest extends VersionTesting { } + @Test public void testVersionString() { Version v = null; String s = null; @@ -279,6 +282,7 @@ public class RawVersionTest extends VersionTesting { } + @Test public void testIntegerParsing() { // should parse without exception @@ -305,42 +309,21 @@ public class RawVersionTest extends VersionTesting { assertEquals(v.getSegment(1), Integer.valueOf(-1234567890)); } + @Test public void testWhiteSpaceExceptions() { + assertThrows("space not allowed 1", IllegalArgumentException.class, () -> Version.create("raw: 0 ")); + assertThrows("space not allowed 2", IllegalArgumentException.class, + () -> Version.create("raw:0 .1 . 'a'. 'b c d'. 4. 5. 6. 7. 8 . 9")); - try { - Version.create("raw: 0 "); - fail("space not allowed 1"); - } catch (IllegalArgumentException e) { - assertTrue(true); - } - - try { - Version.create("raw:0 .1 . 'a'. 'b c d'. 4. 5. 6. 7. 8 . 9"); - fail("space not allowed 2"); - } catch (IllegalArgumentException e) { - assertTrue(true); - } - - try { - Version.create("raw:< 1.2.3>"); - fail("space not allowed in array 1"); - } catch (IllegalArgumentException e) { - assertTrue(true); - } - try { - Version.create("raw:<1.2.3 >"); - fail("space not allowed in array 2"); - } catch (IllegalArgumentException e) { - assertTrue(true); - } - try { - Version.create("raw:1.- 1"); - fail("Uncaught error: space between minus and number in negative"); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows("space not allowed in array 1", IllegalArgumentException.class, + () -> Version.create("raw:< 1.2.3>")); + assertThrows("space not allowed in array 2", IllegalArgumentException.class, + () -> Version.create("raw:<1.2.3 >")); + assertThrows("Uncaught error: space between minus and number in negative", IllegalArgumentException.class, + () -> Version.create("raw:1.- 1")); } + @Test public void testMaxParsing() { assertNotNull(Version.create("raw:m")); @@ -352,6 +335,7 @@ public class RawVersionTest extends VersionTesting { assertNotNull(Version.create("raw:1.-M")); } + @Test public void testStringParsing() { Version v = Version.create("raw:'a'"); assertNotNull(v); @@ -379,6 +363,7 @@ public class RawVersionTest extends VersionTesting { assertEquals(v.getSegment(0), "\""); } + @Test public void testEmptyStringParsing() { Version v = Version.create("raw:''"); assertNotNull(v); @@ -389,6 +374,7 @@ public class RawVersionTest extends VersionTesting { assertEquals(v.getSegment(0), ""); } + @Test public void testStringConcatenation() { Version v = Version.create("raw:'ab''cd'"); assertNotNull(v); @@ -403,6 +389,7 @@ public class RawVersionTest extends VersionTesting { assertEquals(v.getSegment(0), "abcd"); } + @Test public void testStringToString() { // string is normalized assertEquals("raw:'abcd'", Version.create("raw:'ab''cd'").toString()); @@ -417,45 +404,60 @@ public class RawVersionTest extends VersionTesting { assertEquals("raw:'\"'", Version.create("raw:'\"'").toString()); - // quotes are normalized - default ' should be used until " is needed and vice versa. + // quotes are normalized - default ' should be used until " is needed and vice + // versa. assertEquals("raw:'abc\"xxx\"and '\"'yyy'\"", Version.create("raw:'abc\"xxx\"'\"and 'yyy'\"").toString()); } + @Test public void testArrayParsing() { Version v = null; assertNotNull(v = Version.create("raw:<1>")); - assertEquals(v.getSegment(0), new VersionVector(new Comparable[] {Integer.valueOf(1)}, null)); + assertEquals(v.getSegment(0), new VersionVector(new Comparable[] { Integer.valueOf(1) }, null)); assertNotNull(v = Version.create("raw:<1.0>")); - assertEquals(v.getSegment(0), new VersionVector(new Comparable[] {Integer.valueOf(1), Integer.valueOf(0)}, null)); + assertEquals(v.getSegment(0), + new VersionVector(new Comparable[] { Integer.valueOf(1), Integer.valueOf(0) }, null)); assertNotNull(v = Version.create("raw:<'a'>")); - assertEquals(v.getSegment(0), new VersionVector(new Comparable[] {"a"}, null)); + assertEquals(v.getSegment(0), new VersionVector(new Comparable[] { "a" }, null)); assertNotNull(v = Version.create("raw:<'a'.'b'>")); - assertEquals(v.getSegment(0), new VersionVector(new Comparable[] {"a", "b"}, null)); + assertEquals(v.getSegment(0), new VersionVector(new Comparable[] { "a", "b" }, null)); assertNotNull(v = Version.create("raw:<'a'.'b''c'>")); - assertEquals(v.getSegment(0), new VersionVector(new Comparable[] {"a", "bc"}, null)); + assertEquals(v.getSegment(0), new VersionVector(new Comparable[] { "a", "bc" }, null)); assertNotNull(v = Version.create("raw:<1.2.-M>")); - assertEquals(v.getSegment(0), new VersionVector(new Comparable[] {Integer.valueOf(1), Integer.valueOf(2)}, null)); + assertEquals(v.getSegment(0), + new VersionVector(new Comparable[] { Integer.valueOf(1), Integer.valueOf(2) }, null)); assertNotNull(v = Version.create("raw:<1.2.m>")); - assertEquals(v.getSegment(0), new VersionVector(new Comparable[] {Integer.valueOf(1), Integer.valueOf(2), VersionVector.MAXS_VALUE}, null)); + assertEquals(v.getSegment(0), new VersionVector( + new Comparable[] { Integer.valueOf(1), Integer.valueOf(2), VersionVector.MAXS_VALUE }, null)); assertNotNull(v = Version.create("raw:<1.2.M>")); - assertEquals(v.getSegment(0), new VersionVector(new Comparable[] {Integer.valueOf(1), Integer.valueOf(2), VersionVector.MAX_VALUE}, null)); + assertEquals(v.getSegment(0), new VersionVector( + new Comparable[] { Integer.valueOf(1), Integer.valueOf(2), VersionVector.MAX_VALUE }, null)); assertNotNull(v = Version.create("raw:<<1>>")); - assertEquals(v.getSegment(0), new VersionVector(new Comparable[] {new VersionVector(new Comparable[] {Integer.valueOf(1)}, null)}, null)); + assertEquals(v.getSegment(0), new VersionVector( + new Comparable[] { new VersionVector(new Comparable[] { Integer.valueOf(1) }, null) }, null)); assertNotNull(v = Version.create("raw:<<1.<2>>>")); - assertEquals(v.getSegment(0), new VersionVector(new Comparable[] {new VersionVector(new Comparable[] {Integer.valueOf(1), new VersionVector(new Comparable[] {Integer.valueOf(2)}, null)}, null)}, null)); + assertEquals(v.getSegment(0), + new VersionVector( + new Comparable[] { + new VersionVector( + new Comparable[] { Integer.valueOf(1), + new VersionVector(new Comparable[] { Integer.valueOf(2) }, null) }, + null) }, + null)); } + @Test public void testArraySerialize() { Version v = null; assertNotNull(v = Version.create("raw:<1>")); @@ -481,6 +483,7 @@ public class RawVersionTest extends VersionTesting { } + @Test public void testArraytoString() { Version v = null; String s = null; @@ -507,6 +510,7 @@ public class RawVersionTest extends VersionTesting { assertEquals(s, v.toString()); } + @Test public void testArrayOrder() { Version v1 = Version.create("raw:<1.0.0>"); Version v2 = Version.create("raw:<1.1.0>"); @@ -522,6 +526,7 @@ public class RawVersionTest extends VersionTesting { assertOrder(v5, v6); } + @Test public void testPadParsing1() { Version v = null; assertNotNull(v = Version.create("raw:1.0p0")); @@ -548,6 +553,7 @@ public class RawVersionTest extends VersionTesting { assertPad(v, "raw:<1.0.0.'r12345'.m>"); } + @Test public void testPadSerialize() { Version v = null; assertNotNull(v = Version.create("raw:1.0p0")); @@ -574,6 +580,7 @@ public class RawVersionTest extends VersionTesting { assertSerialized(v); } + @Test public void testPadtoString() { Version v = null; String s = null; @@ -606,6 +613,7 @@ public class RawVersionTest extends VersionTesting { /** * Test parsing of a pad with an array that in turn has padding. */ + @Test public void testNestedPadParsing() { Version v = null; assertNotNull(v = Version.create("raw:1.0p<0p0>")); @@ -647,6 +655,7 @@ public class RawVersionTest extends VersionTesting { assertPadPad(v, null); } + @Test public void testNestedPadSerialize() { Version v = null; assertNotNull(v = Version.create("raw:1.0p<0p0>")); @@ -671,6 +680,7 @@ public class RawVersionTest extends VersionTesting { assertSerialized(v); } + @Test public void testNestedPadtoString() { Version v = null; String s = null; @@ -699,9 +709,9 @@ public class RawVersionTest extends VersionTesting { } /** - * Tests that: - * 1p-M < 1.0.0 < 1.0.0p0 == 1p0 < 1.1 < 1.1.1 < 1p1 == 1.1p1 < 1pM + * Tests that: 1p-M < 1.0.0 < 1.0.0p0 == 1p0 < 1.1 < 1.1.1 < 1p1 == 1.1p1 < 1pM */ + @Test public void testPadOrder() { Version v1 = Version.create("raw:1p-M"); Version v2 = Version.create("raw:1.0.0"); @@ -723,6 +733,7 @@ public class RawVersionTest extends VersionTesting { assertOrder(v8, v9); } + @Test public void testPadTypeOrder() { Version v0 = Version.create("raw:1p-M"); Version v1 = Version.create("raw:1p'a'"); @@ -740,8 +751,10 @@ public class RawVersionTest extends VersionTesting { } /** - * Test that a / is not prematurely taken as the separator between raw and original when in a string + * Test that a / is not prematurely taken as the separator between raw and + * original when in a string */ + @Test public void testOriginalTerminator() { Version v = Version.create("raw:'/'"); assertNotNull(v); @@ -752,257 +765,151 @@ public class RawVersionTest extends VersionTesting { assertEquals(v.getSegment(0), "/"); } + @Test public void testEmptyInput() { - // should parse with exception - try { - Version.create("raw:"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + // should parse with exception + assertThrows(IllegalArgumentException.class, () -> Version.create("raw:")); } + @Test public void testNewLine() { - // should parse with exception - try { - Version.create("raw:1.'\n'.2"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + // should parse with exception + assertThrows(IllegalArgumentException.class, () -> Version.create("raw:1.'\n'.2")); } + @Test public void testSpaceInInt() { - // should parse with exception - try { - Version.create("raw:1 2.2"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + // should parse with exception + assertThrows(IllegalArgumentException.class, () -> Version.create("raw:1 2.2")); } + @Test public void testFloatingPointl() { - // should parse with exception - try { - Version.create("raw:1,2.2"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + // should parse with exception + assertThrows(IllegalArgumentException.class, () -> Version.create("raw:1,2.2")); } + @Test public void testScientific() { - // should parse with exception - try { - Version.create("raw:1E3"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + // should parse with exception + assertThrows(IllegalArgumentException.class, () -> Version.create("raw:1E3")); } + @Test public void testHex() { - // should parse with exception - try { - Version.create("raw:0xABCD"); - fail("Uncaught error: hexadecimal not allowed"); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + // should parse with exception + assertThrows("Uncaught error: hexadecimal not allowed", IllegalArgumentException.class, () ->Version.create("raw:0xABCD")); } + @Test public void testUnbalancedSingleQuoteRight() { - try { - Version.create("raw:'unbalanced"); - fail("Uncaught error: unbalanced sngle quote"); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows("Uncaught error: unbalanced sngle quote", IllegalArgumentException.class, + () -> Version.create("raw:'unbalanced")); } + @Test public void testMixedQuotes1() { - try { - Version.create("raw:1.\"unbalanced'.10"); - fail("Uncaught error: mixed quotes"); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows("Uncaught error: mixed quotes", IllegalArgumentException.class, + () -> Version.create("raw:1.\"unbalanced'.10")); } + @Test public void testMixedQuotes2() { - try { - Version.create("raw:1.'unbalanced\".10"); - fail("Uncaught error: mixed quotes"); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows("Uncaught error: mixed quotes", IllegalArgumentException.class, + () -> Version.create("raw:1.'unbalanced\".10")); } + @Test public void testUnbalancedDoubleQuoteRight() { - try { - Version.create("raw:\"unbalanced"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> Version.create("raw:\"unbalanced")); } + @Test public void testUnbalancedArrayRight() { - try { - Version.create("raw:<1.2.3"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> Version.create("raw:<1.2.3")); } + @Test public void testUnbalancedArrayLeft() { - try { - Version.create("raw:1.2.3>"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> Version.create("raw:1.2.3>")); } + @Test public void testBadDecimalInteger() { - try { - Version.create("raw:12af"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> Version.create("raw:12af")); } public void testUnquotedStringFirstValue() { - try { - Version.create("raw:a"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> Version.create("raw:a")); } + @Test public void testUnquotedStringSecondValue() { - try { - Version.create("raw:1.a"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> Version.create("raw:1.a")); } + @Test public void testSinglePeriod() { - try { - Version.create("raw:."); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> Version.create("raw:.")); } + @Test public void testTwoPeriods() { - try { - Version.create("raw:.."); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> Version.create("raw:..")); } + @Test public void testThreePeriods() { - try { - Version.create("raw:..."); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> Version.create("raw:...")); } + @Test public void testPadNotLast() { - try { - Version.create("raw:p10.10"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } - + assertThrows(IllegalArgumentException.class, () -> Version.create("raw:p10.10")); } + @Test public void testEmptyPad() { - try { - Version.create("raw:10p"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> Version.create("raw:10p")); } + @Test public void testPadWithNull() { - try { - Version.create("raw:10p."); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> Version.create("raw:10p.")); } + @Test public void testWrongPadSeparator() { - try { - Version.create("raw:10.p0"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> Version.create("raw:10.p0")); } + @Test public void testMultiplePadElements() { - try { - Version.create("raw:10p1.2"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> Version.create("raw:10p1.2")); } + @Test public void testUnbalancedPadElementsSQ() { - try { - Version.create("raw:10p'abc"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> Version.create("raw:10p'abc")); } + @Test public void testUnbalancedPadElementsDQ() { - try { - Version.create("raw:10p\"abc"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> Version.create("raw:10p\"abc")); } + @Test public void testUnbalancedPadArrayElementsRight() { - try { - Version.create("raw:10p<10"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> Version.create("raw:10p<10")); } + @Test public void testUnbalancedPadArrayElementsLeft() { - try { - Version.create("raw:10p10>"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> Version.create("raw:10p10>")); } + @Test public void testOrder() { Version v1 = Version.create("raw:1"); Version v2 = Version.create("raw:1.0"); @@ -1016,6 +923,7 @@ public class RawVersionTest extends VersionTesting { assertOrder(v4, v5); } + @Test public void testTypeOrder() { // '' < 'z' < m < [0} < [M] < 0 < M Version v0 = Version.create("raw:-M"); @@ -1036,6 +944,7 @@ public class RawVersionTest extends VersionTesting { assertOrder(v6, v7); } + @Test public void testTypeOrder2() { // '' < 'z' < m < [0] < [M] < 0 < M Version v0 = Version.create("raw:0.-M"); @@ -1056,6 +965,7 @@ public class RawVersionTest extends VersionTesting { assertOrder(v6, v7); } + @Test public void testShorterIsOlder() { Version v1 = Version.create("raw:1.0"); Version v2 = Version.create("raw:1.0.0"); @@ -1079,6 +989,7 @@ public class RawVersionTest extends VersionTesting { assertOrder(v8, v9); } + @Test public void testNumericVersionOrder() { Version v1 = Version.create("1"); Version v2 = Version.create("1.0.1"); diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawWithOriginalTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawWithOriginalTest.java index 3538fb8f4..d5268cdd7 100644 --- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawWithOriginalTest.java +++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawWithOriginalTest.java @@ -14,134 +14,105 @@ package org.eclipse.equinox.p2.tests.omniVersion; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertThrows; + import org.eclipse.equinox.p2.metadata.Version; +import org.junit.Test; /** * Tests inclusion of original version string in the raw format. * The tests in this class does not fully test the various "format(rules)" only that the sequence "raw/format():original" * works, and that errors at the top level are caught. - * + * */ public class RawWithOriginalTest extends VersionTesting { + @Test public void testRawWithUnknownFormat() { Version v = Version.parseVersion("raw:1.0/:silver.moon"); assertNotNull(v); assertEquals(v, Version.parseVersion("raw:1.0")); } + @Test public void testRawWithUnknownFormatToString() { assertEquals("raw:1.0/:silver.moon", Version.parseVersion("raw:1.0/:silver.moon").toString()); } + @Test public void testRawWithUnknownFormatSerialized() { assertSerialized(Version.parseVersion("raw:1.0/:silver.moon")); assertEquals("raw:1.0/:silver.moon", getSerialized(Version.create("raw:1.0/:silver.moon")).toString()); } + @Test public void testRawWithSimpleFormat() { Version v = Version.parseVersion("raw:1.0/format(n.n):1.0"); assertNotNull(v); assertEquals(v, Version.parseVersion("raw:1.0")); } + @Test public void testRawWithSimpleFormatToString() { assertEquals("raw:1.0/format(n.n):1.0", Version.parseVersion("raw:1.0/format(n.n):1.0").toString()); } + @Test public void testRawWithSimpleFormatSerialized() { assertSerialized(Version.parseVersion("raw:1.0/format(n.n):1.0")); assertEquals("raw:1.0/format(n.n):1.0", getSerialized(Version.create("raw:1.0/format(n.n):1.0")).toString()); } + @Test public void testOriginalStatedButMissing() { - try { - Version.parseVersion("raw:1.0/"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("raw:1.0/")); } + @Test public void testOriginalAndUnknownStatedButMissing() { - try { - Version.parseVersion("raw:1.0/:"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("raw:1.0/:")); } + @Test public void testOriginalIllegalFormat() { - try { - Version.parseVersion("raw:1.0/foo:"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("raw:1.0/foo:")); } + @Test public void testOriginalIllegalFormat2() { - try { - Version.parseVersion("raw:1.0/100:"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("raw:1.0/100:")); } + @Test public void testOriginalIllegalFormat3() { - try { - Version.parseVersion("raw:1.0/'format':"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("raw:1.0/'format':")); } + @Test public void testOriginalIllegalFormat4() { - try { - Version.parseVersion("raw:1.0//1.0"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("raw:1.0//1.0")); } + @Test public void testOriginalIllegalFormat5() { - try { - Version.parseVersion("raw:1.0/format:"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("raw:1.0/format:")); } + @Test public void testOriginalFormatUnbalancedLeft() { - try { - Version.parseVersion("raw:1.0/formatn.n):"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("raw:1.0/formatn.n):")); } + @Test public void testOriginalFormatUnbalancedRight() { - try { - Version.parseVersion("raw:1.0/format(n.n:1.0"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("raw:1.0/format(n.n:1.0")); } + @Test public void testOriginalFormatOriginalMissing() { - try { - Version.parseVersion("raw:1.0/format(n.n):"); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + assertThrows(IllegalArgumentException.class, () ->Version.parseVersion("raw:1.0/format(n.n):")); } } diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/VersionTesting.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/VersionTesting.java index b57a36251..d5c9d9594 100644 --- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/VersionTesting.java +++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/VersionTesting.java @@ -14,8 +14,17 @@ package org.eclipse.equinox.p2.tests.omniVersion; -import java.io.*; -import junit.framework.TestCase; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; import org.eclipse.equinox.internal.p2.metadata.VersionVector; import org.eclipse.equinox.p2.metadata.Version; import org.eclipse.equinox.p2.metadata.VersionRange; @@ -24,7 +33,7 @@ import org.eclipse.equinox.p2.metadata.VersionRange; * Base class for version testing. Adds useful assert methods. * */ -public class VersionTesting extends TestCase { +public class VersionTesting { /** * Asserts that the versionString version is included in the range. * @param message |