Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Kurtakov2020-02-11 08:40:59 +0000
committerAlexander Kurtakov2020-02-11 08:40:59 +0000
commit38a3e8cce8d95375b12caaea5d0a9c49701eb422 (patch)
tree35912d16cef24b27a8045c34137ac16062caae4e
parente4f3868ae8573bb929302ccdab51c05aa8646476 (diff)
downloadrt.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>
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/CommonPatternsTest.java16
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatRangeTest.java25
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/OSGiRangeTest.java28
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/OSGiVersionTest.java105
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawRangeTest.java36
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawRangeWithOriginalTest.java103
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawVersionTest.java365
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawWithOriginalTest.java93
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/VersionTesting.java15
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

Back to the top