Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Kurtakov2020-02-10 20:19:09 +0000
committerAlexander Kurtakov2020-02-10 20:19:09 +0000
commit92414ec9b8d97154c74e6232cdd6057ec9a059ab (patch)
treebbed34e4308e377a334c4dc7fef646fc32b29187
parent19f0153422b59ea5e2c338c0289f41c15b2e48fa (diff)
downloadrt.equinox.p2-92414ec9b8d97154c74e6232cdd6057ec9a059ab.tar.gz
rt.equinox.p2-92414ec9b8d97154c74e6232cdd6057ec9a059ab.tar.xz
rt.equinox.p2-92414ec9b8d97154c74e6232cdd6057ec9a059ab.zip
Convert p2.tests to JUnit 4.I20200210-1800
Chunk 1. So review can be sane. Change-Id: Id9320886ed89534f013498aa196324a6c70d629c Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/ZipVerifierProcessorTest.java23
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/FoldersRepositoryTest.java26
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/JarURLArtifactRepositoryTest.java36
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/MirrorSelectorTest.java20
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/ProcessingStepTest.java25
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/AggregateQueryTest.java16
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/CompoundQueryableTest.java27
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/QueryTest.java21
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/StringHelperTest.java8
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/IUListFormatterTest.java6
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/DebugHelperTest.java6
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/AllTests.java3
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/ArtifactKeyParsingTest.java35
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/FragmentMethodTest.java37
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/LicenseTest.java9
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/RequirementToString.java10
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/StandaloneSerializationTest.java80
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatATest.java135
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatArrayTest.java28
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatDTest.java50
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatNTest.java60
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatPTest.java9
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatProcessingTest.java211
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatQTest.java259
24 files changed, 466 insertions, 674 deletions
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/ZipVerifierProcessorTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/ZipVerifierProcessorTest.java
index cebdfaed5..dccca576f 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/ZipVerifierProcessorTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/ZipVerifierProcessorTest.java
@@ -13,26 +13,23 @@
*******************************************************************************/
package org.eclipse.equinox.p2.tests.artifact.processors;
-import java.io.*;
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStep;
import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ZipVerifierStep;
import org.eclipse.equinox.p2.tests.TestActivator;
+import org.junit.Test;
import org.osgi.framework.Bundle;
-public class ZipVerifierProcessorTest extends TestCase {
-
- public ZipVerifierProcessorTest(String name) {
- super(name);
- }
-
- public ZipVerifierProcessorTest() {
- super("");
- }
+public class ZipVerifierProcessorTest {
+ @Test
public void testGoodZip() throws IOException {
// Setup the processor
ProcessingStep step = new ZipVerifierStep();
@@ -47,6 +44,7 @@ public class ZipVerifierProcessorTest extends TestCase {
assertEquals(step.getStatus().getSeverity(), IStatus.OK);
}
+ @Test
public void testBogusFile() throws IOException {
// Setup the processor
ProcessingStep step = new ZipVerifierStep();
@@ -61,6 +59,7 @@ public class ZipVerifierProcessorTest extends TestCase {
assertEquals(step.getStatus().getSeverity(), IStatus.ERROR);
}
+ @Test
public void testBogusFile2() throws IOException {
// Setup the processor
ProcessingStep step = new ZipVerifierStep();
@@ -75,6 +74,7 @@ public class ZipVerifierProcessorTest extends TestCase {
assertEquals(step.getStatus().getSeverity(), IStatus.ERROR);
}
+ @Test
public void testBogusFile3() throws IOException {
// Setup the processor
ProcessingStep step = new ZipVerifierStep();
@@ -89,6 +89,7 @@ public class ZipVerifierProcessorTest extends TestCase {
assertEquals(step.getStatus().getSeverity(), IStatus.ERROR);
}
+ @Test
public void testPackGZFile() throws IOException {
// Setup the processor
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/FoldersRepositoryTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/FoldersRepositoryTest.java
index fbc651fb4..7c2963f7f 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/FoldersRepositoryTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/FoldersRepositoryTest.java
@@ -14,10 +14,12 @@
*******************************************************************************/
package org.eclipse.equinox.p2.tests.artifact.repository;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
import java.io.File;
import java.io.FileFilter;
import java.net.URL;
-import junit.framework.TestCase;
import org.eclipse.core.runtime.FileLocator;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.NullProgressMonitor;
@@ -33,33 +35,29 @@ import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager;
import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
import org.eclipse.equinox.p2.tests.TestActivator;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
-public class FoldersRepositoryTest extends TestCase {
+public class FoldersRepositoryTest {
private IArtifactRepositoryManager manager;
private File testRepo;
- public FoldersRepositoryTest(String name) {
- super(name);
- }
-
- public FoldersRepositoryTest() {
- super("");
- }
-
- @Override
- protected void setUp() throws Exception {
+ @Before
+ public void setUp() throws Exception {
IProvisioningAgent agent = ServiceHelper.getService(TestActivator.getContext(), IProvisioningAgent.class);
manager = agent.getService(IArtifactRepositoryManager.class);
}
- @Override
- protected void tearDown() throws Exception {
+ @After
+ public void tearDown() throws Exception {
manager = null;
if (testRepo != null)
AbstractProvisioningTest.delete(testRepo);
}
+ @Test
public void testFolderRepository() throws Exception {
String tempDir = System.getProperty("java.io.tmpdir");
testRepo = new File(tempDir, "testRepo");
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/JarURLArtifactRepositoryTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/JarURLArtifactRepositoryTest.java
index 4c838d1db..35feafb63 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/JarURLArtifactRepositoryTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/JarURLArtifactRepositoryTest.java
@@ -15,11 +15,12 @@
*******************************************************************************/
package org.eclipse.equinox.p2.tests.artifact.repository;
+import static org.junit.Assert.assertTrue;
+
import java.net.MalformedURLException;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
-import junit.framework.TestCase;
import org.eclipse.core.runtime.URIUtil;
import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
@@ -29,40 +30,29 @@ import org.eclipse.equinox.p2.metadata.Version;
import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager;
import org.eclipse.equinox.p2.tests.TestActivator;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
-public class JarURLArtifactRepositoryTest extends TestCase {
+public class JarURLArtifactRepositoryTest {
private IArtifactRepositoryManager manager;
- public JarURLArtifactRepositoryTest(String name) {
- super(name);
- }
-
- public JarURLArtifactRepositoryTest() {
- super("");
- }
-
- @Override
- protected void setUp() throws Exception {
+ @Before
+ public void setUp() throws Exception {
IProvisioningAgent agent = ServiceHelper.getService(TestActivator.getContext(), IProvisioningAgent.class);
manager = agent.getService(IArtifactRepositoryManager.class);
}
- @Override
- protected void tearDown() throws Exception {
+ @After
+ public void tearDown() throws Exception {
manager = null;
}
- public void testJarURLRepository() throws ProvisionException {
+ @Test
+ public void testJarURLRepository() throws ProvisionException, MalformedURLException, URISyntaxException {
URL engineJar = TestActivator.getContext().getBundle().getEntry("/testData/enginerepo.jar");
- URI jarRepoLocation = null;
- try {
- jarRepoLocation = URIUtil.toURI(new URL("jar:" + engineJar.toString() + "!/testData/enginerepo/"));
- } catch (URISyntaxException e) {
- fail(e.getMessage());
- } catch (MalformedURLException e) {
- fail(e.getMessage());
- }
+ URI jarRepoLocation = URIUtil.toURI(new URL("jar:" + engineJar.toString() + "!/testData/enginerepo/"));
IArtifactRepository repo = manager.loadRepository(jarRepoLocation, null);
assertTrue(repo.contains(new ArtifactKey("osgi.bundle", "testdata", Version.create("1.0.0.1"))));
}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/MirrorSelectorTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/MirrorSelectorTest.java
index 6fb560601..527fbc098 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/MirrorSelectorTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/MirrorSelectorTest.java
@@ -14,19 +14,23 @@
*******************************************************************************/
package org.eclipse.equinox.p2.tests.artifact.repository;
-import java.util.*;
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
import org.eclipse.equinox.internal.p2.artifact.repository.MirrorSelector;
import org.eclipse.equinox.internal.p2.artifact.repository.MirrorSelector.MirrorInfo;
+import org.junit.Before;
+import org.junit.Test;
-public class MirrorSelectorTest extends TestCase {
+public class MirrorSelectorTest {
private List<MirrorInfo> originals;
- @Override
- protected void setUp() throws Exception {
- super.setUp();
-
+ @Before
+ public void setUp() throws Exception {
// examples taken from real live.
// This is the expected order of mirrors,
// doesn't matter how often you're resorting ;-)
@@ -257,6 +261,7 @@ public class MirrorSelectorTest extends TestCase {
}
+ @Test
public void testSorting() {
long maxBytesPerSecond = 0;
@@ -295,6 +300,7 @@ public class MirrorSelectorTest extends TestCase {
}
+ @Test
public void testComparatorZeros() {
MirrorSelector.MirrorInfoComparator comparator = new MirrorSelector.MirrorInfoComparator(0, 0, 0);
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/ProcessingStepTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/ProcessingStepTest.java
index d886989a2..2798b6c48 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/ProcessingStepTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/ProcessingStepTest.java
@@ -13,27 +13,36 @@
*******************************************************************************/
package org.eclipse.equinox.p2.tests.artifact.repository.processing;
+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 java.io.IOException;
import java.io.OutputStream;
-import junit.framework.TestCase;
-import org.eclipse.core.runtime.*;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.MultiStatus;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Status;
import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStep;
import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStepHandler;
+import org.junit.Before;
+import org.junit.Test;
-public class ProcessingStepTest extends TestCase {
+public class ProcessingStepTest {
private ProcessingStep ps;
private boolean flushed;
private boolean closed;
- @Override
- protected void setUp() throws Exception {
- super.setUp();
+ @Before
+ public void setUp() throws Exception {
ps = new ProcessingStep() {};
flushed = false;
closed = false;
}
+ @Test
public void testDefaultStatus() {
assertNotNull(ps.getStatus());
assertTrue(ps.getStatus().isOK());
@@ -42,6 +51,7 @@ public class ProcessingStepTest extends TestCase {
assertTrue(ProcessingStepHandler.checkStatus(ps).isOK());
}
+ @Test
public void testGetDeepStatus() {
ProcessingStep ps2 = new ProcessingStep() {};
ps.link(ps2, new NullProgressMonitor());
@@ -68,6 +78,7 @@ public class ProcessingStepTest extends TestCase {
assertEquals(IStatus.CANCEL, ps.getStatus(true).getSeverity());
}
+ @Test
public void testFlush() throws IOException {
OutputStream destination = new OutputStream() {
@@ -85,6 +96,7 @@ public class ProcessingStepTest extends TestCase {
assertTrue(flushed);
}
+ @Test
public void testCloseSimpleOutputStreamAsDestination() throws IOException {
OutputStream destination = new OutputStream() {
@@ -102,6 +114,7 @@ public class ProcessingStepTest extends TestCase {
assertFalse(closed);
}
+ @Test
public void testCloseProcessingStepAsDestination() throws IOException {
OutputStream destination = new ProcessingStep() {
@Override
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/AggregateQueryTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/AggregateQueryTest.java
index 52ef2e45b..ca1049042 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/AggregateQueryTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/AggregateQueryTest.java
@@ -14,24 +14,26 @@
******************************************************************************/
package org.eclipse.equinox.p2.tests.core;
+import static org.junit.Assert.assertEquals;
+
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
-import junit.framework.TestCase;
import org.eclipse.equinox.p2.query.Collector;
import org.eclipse.equinox.p2.query.IQuery;
import org.eclipse.equinox.p2.query.IQueryResult;
import org.eclipse.equinox.p2.query.MatchQuery;
import org.eclipse.equinox.p2.query.QueryUtil;
import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
+import org.junit.Test;
/**
* This tests both Compound and Composite queries
*
*/
-public class AggregateQueryTest extends TestCase {
+public class AggregateQueryTest {
public List<String> getABCDE() {
return Arrays.asList("A", "B", "C", "D", "E");
@@ -41,6 +43,7 @@ public class AggregateQueryTest extends TestCase {
return Arrays.asList("1", "2", "3");
}
+ @Test
public void testEmptyCompositeQuery() {
IQuery<String> query = QueryUtil.createPipeQuery(Collections.emptySet());
query.perform(getABCDE().iterator());
@@ -48,6 +51,7 @@ public class AggregateQueryTest extends TestCase {
// will return in this case
}
+ @Test
public void testSymmetry() {
IQuery getLatest = new ContextQuery() {
@@ -97,9 +101,9 @@ public class AggregateQueryTest extends TestCase {
}
/**
- * The CompositeQuery should not support symmetry.
- * This method tests that
+ * The CompositeQuery should not support symmetry. This method tests that
*/
+ @Test
public void testNonSymmetry() {
IQuery getLatest = new ContextQuery() {
@@ -142,6 +146,7 @@ public class AggregateQueryTest extends TestCase {
}
+ @Test
public void testIntersection() {
IQuery<String> ABC = new MatchQuery<String>() {
@Override
@@ -168,6 +173,7 @@ public class AggregateQueryTest extends TestCase {
AbstractProvisioningTest.assertContains("1.2", result, "C");
}
+ @Test
public void testIntersection2() {
IQuery ABC = new ContextQuery() {
@Override
@@ -202,6 +208,7 @@ public class AggregateQueryTest extends TestCase {
AbstractProvisioningTest.assertContains("1.2", result, "C");
}
+ @Test
public void testUnion() {
IQuery<String> ABC = new MatchQuery<String>() {
@Override
@@ -231,6 +238,7 @@ public class AggregateQueryTest extends TestCase {
AbstractProvisioningTest.assertContains("1.5", result, "E");
}
+ @Test
public void testUnion2() {
IQuery ABC = new ContextQuery() {
@Override
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/CompoundQueryableTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/CompoundQueryableTest.java
index a6a90d87e..8a71e2bdc 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/CompoundQueryableTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/CompoundQueryableTest.java
@@ -14,18 +14,26 @@
******************************************************************************/
package org.eclipse.equinox.p2.tests.core;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
import java.util.Arrays;
import java.util.Iterator;
-import junit.framework.TestCase;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.tests.harness.TestProgressMonitor;
-import org.eclipse.equinox.p2.query.*;
+import org.eclipse.equinox.p2.query.Collector;
+import org.eclipse.equinox.p2.query.IQuery;
+import org.eclipse.equinox.p2.query.IQueryResult;
+import org.eclipse.equinox.p2.query.IQueryable;
+import org.eclipse.equinox.p2.query.MatchQuery;
+import org.eclipse.equinox.p2.query.QueryUtil;
import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
+import org.junit.Test;
/**
* Tests the compound queryable
*/
-public class CompoundQueryableTest extends TestCase {
+public class CompoundQueryableTest {
public static class CompoundQueryTestProgressMonitor extends TestProgressMonitor {
@@ -168,6 +176,7 @@ public class CompoundQueryableTest extends TestCase {
}
};
+ @Test
public void testMatchQuery() {
IQueryable<Integer> cQueryable = QueryUtil.compoundQueryable(queryable1, queryable2);
CompoundQueryTestProgressMonitor monitor = new CompoundQueryTestProgressMonitor();
@@ -181,6 +190,7 @@ public class CompoundQueryableTest extends TestCase {
AbstractProvisioningTest.assertContains("1.6", queryResult, 12);
}
+ @Test
public void testSingleQueryable() {
IQueryable<Integer> cQueryable = QueryUtil.compoundQueryable(Arrays.asList(queryable1));
CompoundQueryTestProgressMonitor monitor = new CompoundQueryTestProgressMonitor();
@@ -190,6 +200,7 @@ public class CompoundQueryableTest extends TestCase {
AbstractProvisioningTest.assertContains("1.2", queryResult, 4);
}
+ @Test
public void testSingleContextQuery() {
IQueryable<Integer> cQueryable = QueryUtil.compoundQueryable(Arrays.asList(queryable1));
CompoundQueryTestProgressMonitor monitor = new CompoundQueryTestProgressMonitor();
@@ -198,6 +209,7 @@ public class CompoundQueryableTest extends TestCase {
AbstractProvisioningTest.assertContains("1.1", queryResult, 5);
}
+ @Test
public void testMultipleContextQueries() {
IQueryable<Integer> cQueryable = QueryUtil.compoundQueryable(queryable1, queryable2);
CompoundQueryTestProgressMonitor monitor = new CompoundQueryTestProgressMonitor();
@@ -206,6 +218,7 @@ public class CompoundQueryableTest extends TestCase {
AbstractProvisioningTest.assertContains("1.1", queryResult, 12);
}
+ @Test
public void testCompoundMatchAndQuery() {
IQueryable<Integer> cQueryable = QueryUtil.compoundQueryable(queryable1, queryable2);
CompoundQueryTestProgressMonitor monitor = new CompoundQueryTestProgressMonitor();
@@ -216,6 +229,7 @@ public class CompoundQueryableTest extends TestCase {
AbstractProvisioningTest.assertContains("1.6", queryResult, 12);
}
+ @Test
public void testCompoundMatchOrQuery() {
IQueryable<Integer> cQueryable = QueryUtil.compoundQueryable(queryable1, queryable2);
CompoundQueryTestProgressMonitor monitor = new CompoundQueryTestProgressMonitor();
@@ -229,6 +243,7 @@ public class CompoundQueryableTest extends TestCase {
AbstractProvisioningTest.assertContains("1.6", queryResult, 12);
}
+ @Test
public void testMatchQueryProgressMonitor() {
IQueryable<Integer> cQueryable = QueryUtil.compoundQueryable(queryable1, queryable2);
CompoundQueryTestProgressMonitor monitor = new CompoundQueryTestProgressMonitor();
@@ -237,6 +252,7 @@ public class CompoundQueryableTest extends TestCase {
assertTrue("1.1", monitor.isWorkDone());
}
+ @Test
public void testSingleQueryableProgressMonitor() {
IQueryable<Integer> cQueryable = QueryUtil.compoundQueryable(Arrays.asList(queryable1));
CompoundQueryTestProgressMonitor monitor = new CompoundQueryTestProgressMonitor();
@@ -245,6 +261,7 @@ public class CompoundQueryableTest extends TestCase {
assertTrue("1.1", monitor.isWorkDone());
}
+ @Test
public void testSingleContextQueryProgressMonitor() {
IQueryable<Integer> cQueryable = QueryUtil.compoundQueryable(Arrays.asList(queryable1));
CompoundQueryTestProgressMonitor monitor = new CompoundQueryTestProgressMonitor();
@@ -253,6 +270,7 @@ public class CompoundQueryableTest extends TestCase {
assertTrue("1.1", monitor.isWorkDone());
}
+ @Test
public void testMultipleContextQueriesProgressMonitor() {
IQueryable<Integer> cQueryable = QueryUtil.compoundQueryable(queryable1, queryable2);
CompoundQueryTestProgressMonitor monitor = new CompoundQueryTestProgressMonitor();
@@ -261,6 +279,7 @@ public class CompoundQueryableTest extends TestCase {
assertTrue("1.1", monitor.isWorkDone());
}
+ @Test
public void testNullProgressMonitor() {
IQueryable<Integer> cQueryable = QueryUtil.compoundQueryable(queryable1, queryable2);
cQueryable.query(greatestNumberQuery, null);
@@ -268,6 +287,7 @@ public class CompoundQueryableTest extends TestCase {
}
+ @Test
public void testDoubleCompoundContextOrQuery() {
IQueryable<Integer> cQueryable1 = QueryUtil.compoundQueryable(queryable3, queryable2);
IQueryable<Integer> cQueryable = QueryUtil.compoundQueryable(cQueryable1, queryable1);
@@ -285,6 +305,7 @@ public class CompoundQueryableTest extends TestCase {
assertTrue("1.1", monitor.isWorkDone());
}
+ @Test
public void testDoubleCompositeQuery() {
IQueryable<Integer> cQueryable1 = QueryUtil.compoundQueryable(queryable3, queryable2);
IQueryable<Integer> cQueryable = QueryUtil.compoundQueryable(cQueryable1, queryable1);
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/QueryTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/QueryTest.java
index af466e65f..0e76aff76 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/QueryTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/QueryTest.java
@@ -13,16 +13,21 @@
*******************************************************************************/
package org.eclipse.equinox.p2.tests.core;
+import static org.junit.Assert.assertEquals;
+
import java.util.Arrays;
import java.util.List;
-import junit.framework.TestCase;
-import org.eclipse.equinox.p2.query.*;
+import org.eclipse.equinox.p2.query.IQuery;
+import org.eclipse.equinox.p2.query.IQueryResult;
+import org.eclipse.equinox.p2.query.MatchQuery;
+import org.eclipse.equinox.p2.query.QueryUtil;
import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
+import org.junit.Test;
/**
* Tests for the {@link org.eclipse.equinox.internal.provisional.p2.query.Query} class.
*/
-public class QueryTest extends TestCase {
+public class QueryTest {
static class AnyStringQuery extends MatchQuery {
@Override
@@ -32,8 +37,9 @@ public class QueryTest extends TestCase {
}
/**
- * Tests a simple perform where all items match.
- */
+ * Tests a simple perform where all items match.
+ */
+ @Test
public void testPerformSimple() {
List<String> items = Arrays.asList("red", "green", "blue");
IQuery query = new AnyStringQuery();
@@ -47,6 +53,7 @@ public class QueryTest extends TestCase {
/**
* Tests a perform where only some items match.
*/
+ @Test
public void testPerformSomeMatches() {
List<Object> items = Arrays.asList(new Object(), "green", new Object());
IQuery query = new AnyStringQuery();
@@ -55,6 +62,7 @@ public class QueryTest extends TestCase {
AbstractProvisioningTest.assertContains("1.1", collector, "green");
}
+ @Test
public void testLimitQuery() {
List<String> items = Arrays.asList("red", "green", "blue");
IQuery query = new AnyStringQuery();
@@ -64,6 +72,7 @@ public class QueryTest extends TestCase {
AbstractProvisioningTest.assertContains("1.1", collector, "red");
}
+ @Test
public void testLimitQuery2() {
List<String> items = Arrays.asList("red", "green", "blue");
IQuery query = new AnyStringQuery();
@@ -74,6 +83,7 @@ public class QueryTest extends TestCase {
AbstractProvisioningTest.assertContains("1.2", collector, "green");
}
+ @Test
public void testLimitQuery3() {
List<String> items = Arrays.asList("red", "green", "blue");
IQuery query = new AnyStringQuery();
@@ -85,6 +95,7 @@ public class QueryTest extends TestCase {
AbstractProvisioningTest.assertContains("1.3", collector, "blue");
}
+ @Test
public void testLimitQuery0() {
List<String> items = Arrays.asList("red", "green", "blue");
IQuery query = new AnyStringQuery();
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/StringHelperTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/StringHelperTest.java
index 2b876b4eb..3a8f59fcb 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/StringHelperTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/StringHelperTest.java
@@ -14,12 +14,15 @@
package org.eclipse.equinox.p2.tests.core;
+import static org.junit.Assert.assertTrue;
+
import java.util.Arrays;
-import junit.framework.TestCase;
import org.eclipse.equinox.internal.p2.core.helpers.StringHelper;
import org.eclipse.equinox.p2.publisher.AbstractPublisherAction;
+import org.junit.Test;
-public class StringHelperTest extends TestCase {
+public class StringHelperTest {
+ @Test
public void testSimilarBehavior() {
String[] a1 = AbstractPublisherAction.getArrayFromString("foo, bar, baz ,,, zaz", ",");
String[] a2 = StringHelper.getArrayFromString("foo, bar, baz ,,, zaz", ',');
@@ -38,6 +41,7 @@ public class StringHelperTest extends TestCase {
assertTrue("1.4", Arrays.equals(a1, a2));
}
+ @Test
public void testPerformance() throws Exception {
String[] strings = new String[5];
StringBuilder inputBld = new StringBuilder();
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/IUListFormatterTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/IUListFormatterTest.java
index 847eaa6c1..5822f7983 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/IUListFormatterTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/IUListFormatterTest.java
@@ -29,15 +29,17 @@ import org.easymock.IAnswer;
import org.eclipse.equinox.internal.p2.director.app.IUListFormatter;
import org.eclipse.equinox.p2.metadata.IInstallableUnit;
import org.eclipse.equinox.p2.metadata.Version;
+import org.junit.Test;
public class IUListFormatterTest extends TestCase {
-
+ @Test
public void testFormat() {
IUListFormatter format = new IUListFormatter("${id}=${id},${version},${org.eclipse.equinox.p2.name}");
String result = format.format(asList(createIU("iu1", "1.0.0", "name", null)));
assertEquals("iu1=iu1,1.0.0,name", result);
}
+ @Test
public void testFormat_MultipleIUs() {
IUListFormatter format = new IUListFormatter("${id}=${version},${org.eclipse.equinox.p2.name}");
String result = format.format(asList(//
@@ -47,12 +49,14 @@ public class IUListFormatterTest extends TestCase {
assertEquals("iu1=1.0.0,name" + System.lineSeparator() + "iu2=2.0.0,name2", result);
}
+ @Test
public void testFormat_UnknownFormatOption() {
IUListFormatter format = new IUListFormatter("${id}${UNKNOWN}");
String result = format.format(asList(createIU("iu1", "1.0.0", "name", null)));
assertEquals("iu1", result);
}
+ @Test
public void testFormat_Malformed() {
IUListFormatter format = new IUListFormatter("${id=${version");
String result = format.format(asList(createIU("iu1", "1.0.0", "name", null)));
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/DebugHelperTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/DebugHelperTest.java
index b8fa368e5..a106298e4 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/DebugHelperTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/DebugHelperTest.java
@@ -14,12 +14,12 @@
package org.eclipse.equinox.p2.tests.engine;
import java.util.HashMap;
-import junit.framework.TestCase;
import org.eclipse.equinox.internal.p2.engine.DebugHelper;
import org.junit.Assert;
+import org.junit.Test;
-public class DebugHelperTest extends TestCase {
-
+public class DebugHelperTest {
+ @Test
public void testFormatParametersContainsNullValue() {
HashMap<String, Object> parameters = new HashMap<>();
parameters.put("key", null);
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/AllTests.java
index 2c3d19300..6a1ef0f13 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/AllTests.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/AllTests.java
@@ -14,7 +14,6 @@
*******************************************************************************/
package org.eclipse.equinox.p2.tests.metadata;
-import junit.framework.TestCase;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@@ -26,6 +25,6 @@ import org.junit.runners.Suite;
InstallableUnitTest.class, InstallableUnitPatchTest.class, IUPersistenceTest.class, LatestIUTest.class,
LicenseTest.class, MultipleIUAndFragmentTest.class, PersistNegation.class, PersistFragment.class,
ProvidedCapabilityTest.class, RequirementToString.class, RequirementParsingTest.class })
-public class AllTests extends TestCase {
+public class AllTests {
//test suite
} \ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/ArtifactKeyParsingTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/ArtifactKeyParsingTest.java
index 404d9d7fd..00e37563d 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/ArtifactKeyParsingTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/ArtifactKeyParsingTest.java
@@ -13,26 +13,31 @@
*******************************************************************************/
package org.eclipse.equinox.p2.tests.metadata;
+import static org.junit.Assert.assertThrows;
+
import junit.framework.TestCase;
import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
import org.eclipse.equinox.p2.metadata.IArtifactKey;
import org.eclipse.equinox.p2.metadata.Version;
+import org.junit.Test;
/**
* Test <code>ArtifactkeyDeSerializer</code>
*/
public class ArtifactKeyParsingTest extends TestCase {
-
+ @Test
public void testSerialize() {
IArtifactKey key = new ArtifactKey("classifier", "identifier", Version.create("1.0"));
assertEquals("classifier,identifier,1.0.0", key.toExternalForm());
}
+ @Test
public void testSerializeEmptyClassifier() {
IArtifactKey key = new ArtifactKey("", "identifier", Version.create("1.0"));
assertEquals(",identifier,1.0.0", key.toExternalForm());
}
+ @Test
public void testDeserialize() {
IArtifactKey key = ArtifactKey.parse("classifier,identifier,1.0.0");
assertNotNull(key);
@@ -41,6 +46,7 @@ public class ArtifactKeyParsingTest extends TestCase {
assertEquals(Version.create("1.0"), key.getVersion());
}
+ @Test
public void testDeserializeEmptyClassifier() {
IArtifactKey key = ArtifactKey.parse(",identifier,1.0.0");
assertNotNull(key);
@@ -49,6 +55,7 @@ public class ArtifactKeyParsingTest extends TestCase {
assertEquals(Version.create("1.0"), key.getVersion());
}
+ @Test
public void testDeserializeEmptyIdentifier() {
IArtifactKey key = ArtifactKey.parse("classifier,,1.0.0");
assertNotNull(key);
@@ -57,6 +64,7 @@ public class ArtifactKeyParsingTest extends TestCase {
assertEquals(Version.create("1.0"), key.getVersion());
}
+ @Test
public void testDeserializeEmptyVersion() {
IArtifactKey key = ArtifactKey.parse("classifier,identifier,");
assertNotNull(key);
@@ -65,6 +73,7 @@ public class ArtifactKeyParsingTest extends TestCase {
assertEquals(Version.create("0.0"), key.getVersion());
}
+ @Test
public void testDeserializeEmptyEverything() {
IArtifactKey key = ArtifactKey.parse(",,");
assertNotNull(key);
@@ -73,30 +82,18 @@ public class ArtifactKeyParsingTest extends TestCase {
assertEquals(Version.create("0.0"), key.getVersion());
}
+ @Test
public void testDeserializeTooFewPartsI() {
- try {
- ArtifactKey.parse("");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
+ assertThrows(IllegalArgumentException.class, () -> ArtifactKey.parse(""));
}
+ @Test
public void testDeserializeTooManyPartsI() {
- try {
- ArtifactKey.parse(",,,,");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
+ assertThrows(IllegalArgumentException.class, () -> ArtifactKey.parse(",,,,"));
}
+ @Test
public void testDeserializeTooFewPartsII() {
- try {
- ArtifactKey.parse("classifier");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
+ assertThrows(IllegalArgumentException.class, () -> ArtifactKey.parse("classifier"));
}
}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/FragmentMethodTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/FragmentMethodTest.java
index 8fbc0b08f..f7f700921 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/FragmentMethodTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/FragmentMethodTest.java
@@ -13,10 +13,13 @@
*******************************************************************************/
package org.eclipse.equinox.p2.tests.metadata;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
import java.util.Collection;
import java.util.HashSet;
-import junit.framework.AssertionFailedError;
-import junit.framework.TestCase;
import org.eclipse.equinox.p2.metadata.IInstallableUnit;
import org.eclipse.equinox.p2.metadata.IProvidedCapability;
import org.eclipse.equinox.p2.metadata.IRequirement;
@@ -26,8 +29,11 @@ import org.eclipse.equinox.p2.metadata.MetadataFactory.InstallableUnitFragmentDe
import org.eclipse.equinox.p2.metadata.Version;
import org.eclipse.equinox.p2.metadata.VersionRange;
import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
-public class FragmentMethodTest extends TestCase {
+public class FragmentMethodTest {
private static final String PROP_FRAG = "propFrag";
private static final String PROP_IU = "propIU";
private static final String TEST_REQUIRED = "testRequired";
@@ -36,9 +42,8 @@ public class FragmentMethodTest extends TestCase {
Collection<IProvidedCapability> iu1Caps;
Collection<IProvidedCapability> iu3Caps;
- @Override
- protected void setUp() throws Exception {
- super.setUp();
+ @Before
+ public void setUp() throws Exception {
iu1 = createIU("iu.test1");
iu3 = createIUFragment("iu.fragment");
iu1Caps = iu1.getProvidedCapabilities();
@@ -55,15 +60,15 @@ public class FragmentMethodTest extends TestCase {
}
}
- @Override
- protected void tearDown() throws Exception {
+ @After
+ public void tearDown() throws Exception {
iu1 = null;
iu3 = null;
iu1Caps = null;
iu3Caps = null;
- super.tearDown();
}
+ @Test
public void testCapabilities() {
Collection<IProvidedCapability> mergedCapabilities = iu1.getProvidedCapabilities();
for (IProvidedCapability capability : mergedCapabilities) {
@@ -85,17 +90,6 @@ public class FragmentMethodTest extends TestCase {
assertEquals("The fragment capabilities should not change", initialFragmentCapabilities, iu3.getProvidedCapabilities());
}
- protected void assertEquals(String message, Object[] expected, Object[] actual) {
- if (expected == null && actual == null)
- return;
- if (expected == null || actual == null)
- fail(message);
- if (expected.length != actual.length)
- fail(message);
- for (int i = 0; i < expected.length; i++)
- assertEquals(message, expected[i], actual[i]);
- }
-
protected void assertEquals(String message, Collection<? extends Object> expected, Collection<? extends Object> actual) {
if (expected == null && actual == null)
return;
@@ -111,9 +105,10 @@ public class FragmentMethodTest extends TestCase {
public static void assertDoesNotContain(Collection<? extends Object> objects, Object searched) {
if (objects.contains(searched))
- throw new AssertionFailedError("The array should not contain the searched element");
+ throw new AssertionError("The array should not contain the searched element");
}
+ @Test
public void testProperties() {
assertNotNull("The property is missing", iu3.getProperty(PROP_FRAG));
assertNotNull("The property is missing", iu1.getProperty(PROP_IU));
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/LicenseTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/LicenseTest.java
index 50b33dad9..fcb53002c 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/LicenseTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/LicenseTest.java
@@ -7,21 +7,24 @@
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
- *
+ *
* Contributors:
* IBM Corporation - initial API and implementation
* EclipseSource - ongoing development
*******************************************************************************/
package org.eclipse.equinox.p2.tests.metadata;
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+
import org.eclipse.equinox.p2.metadata.ILicense;
import org.eclipse.equinox.p2.metadata.MetadataFactory;
+import org.junit.Test;
/**
* Tests for License class
*/
-public class LicenseTest extends TestCase {
+public class LicenseTest {
+ @Test
public void testNormalize() {
ILicense licenseOne = MetadataFactory.createLicense(null, "a b");
ILicense licenseTwo = MetadataFactory.createLicense(null, "a\t\n\r \t\n\r b");
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/RequirementToString.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/RequirementToString.java
index d92f8b66d..1d4c2e2b6 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/RequirementToString.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/RequirementToString.java
@@ -14,33 +14,39 @@
******************************************************************************/
package org.eclipse.equinox.p2.tests.metadata;
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+
import org.eclipse.equinox.p2.metadata.IInstallableUnit;
import org.eclipse.equinox.p2.metadata.IRequirement;
import org.eclipse.equinox.p2.metadata.MetadataFactory;
import org.eclipse.equinox.p2.metadata.VersionRange;
import org.eclipse.equinox.p2.metadata.expression.ExpressionUtil;
import org.eclipse.equinox.p2.metadata.expression.IMatchExpression;
+import org.junit.Test;
//These tests are not here to force the toString of a requirement.
//They are here to ensure that the toString of a requirement does not become unreadable because this ends up being presented in the p2 UI and in the tycho build.
//As such if there are better ways present all this information, by all mean change the test.
-public class RequirementToString extends TestCase {
+public class RequirementToString {
+ @Test
public void testRequirementWithEmptyRange() {
IRequirement req = MetadataFactory.createRequirement("expectedNameSpace", "expectedName", VersionRange.emptyRange, null, false, false);
assertEquals("expectedNameSpace; expectedName 0.0.0", req.toString());
}
+ @Test
public void testStandardRequirement() {
IRequirement req = MetadataFactory.createRequirement("expectedNameSpace", "expectedName", new VersionRange("[1.0.0, 2.0.0)"), null, false, false);
assertEquals("expectedNameSpace; expectedName [1.0.0,2.0.0)", req.toString());
}
+ @Test
public void testPropertiesRequirement() {
IRequirement req = MetadataFactory.createRequirement("expectedNameSpace", "(key=val)", null, 1, 1, true);
assertEquals("expectedNameSpace; (key=val)", req.toString());
}
+ @Test
public void testFancyRequirement() {
Object[] expressionParameters = new Object[] {"expectedId1", "expectedVersion1", "expectedId2", "expectedVersion2"};
IMatchExpression<IInstallableUnit> iuMatcher = ExpressionUtil.getFactory().matchExpression(ExpressionUtil.parse("(id == $0 && version == $1) || (id == $2 && version == $3)"), expressionParameters);
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/StandaloneSerializationTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/StandaloneSerializationTest.java
index fe80063d5..672a06fcc 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/StandaloneSerializationTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/StandaloneSerializationTest.java
@@ -13,6 +13,10 @@
*******************************************************************************/
package org.eclipse.equinox.p2.tests.metadata.repository;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
@@ -24,48 +28,38 @@ import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
-import junit.framework.TestCase;
import org.eclipse.equinox.p2.metadata.IInstallableUnit;
import org.eclipse.equinox.p2.metadata.MetadataFactory;
import org.eclipse.equinox.p2.metadata.Version;
import org.eclipse.equinox.p2.metadata.io.IUDeserializer;
import org.eclipse.equinox.p2.metadata.io.IUSerializer;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TestName;
-public class StandaloneSerializationTest extends TestCase {
- public void testNothingToWrite() {
- try {
- File f = File.createTempFile(getName(), "iu");
- try (OutputStream os = new FileOutputStream(f)) {
- new IUSerializer(os).write(Collections.EMPTY_LIST);
- }
- assertTrue(f.length() > 0);
- f.delete();
- } catch (FileNotFoundException e) {
- fail("problem writing: " + e.getCause().getMessage());
- } catch (UnsupportedEncodingException e) {
- fail("problem writing: " + e.getCause().getMessage());
- } catch (IOException e) {
- fail("problem writing: " + e.getCause().getMessage());
+public class StandaloneSerializationTest {
+ @Rule
+ public TestName name = new TestName();
+
+ @Test
+ public void testNothingToWrite() throws IOException {
+ File f = File.createTempFile(name.getMethodName(), "iu");
+ try (OutputStream os = new FileOutputStream(f)) {
+ new IUSerializer(os).write(Collections.EMPTY_LIST);
}
+ assertTrue(f.length() > 0);
+ f.delete();
}
- public void testNoContent() {
- //Write file w/o content
- File f = null;
- try {
- f = File.createTempFile(getName(), "iu");
- try (OutputStream os = new FileOutputStream(f)) {
- new IUSerializer(os).write(Collections.EMPTY_LIST);
- }
- } catch (FileNotFoundException e) {
- fail("problem writing: " + e.getCause().getMessage());
- } catch (UnsupportedEncodingException e) {
- fail("problem writing: " + e.getCause().getMessage());
- } catch (IOException e) {
- fail("problem writing: " + e.getCause().getMessage());
+ @Test
+ public void testNoContent() throws IOException {
+ // Write file w/o content
+ File f = File.createTempFile(name.getMethodName(), "iu");
+ try (OutputStream os = new FileOutputStream(f)) {
+ new IUSerializer(os).write(Collections.EMPTY_LIST);
}
- //Read file written
+ // Read file written
boolean exceptionRaised = false;
try (InputStream is = new FileInputStream(f)) {
Collection<IInstallableUnit> ius = new IUDeserializer().read(is);
@@ -82,7 +76,8 @@ public class StandaloneSerializationTest extends TestCase {
f.delete();
}
- public void testWritingThenLoading() {
+ @Test
+ public void testWritingThenLoading() throws FileNotFoundException, IOException {
MetadataFactory.InstallableUnitDescription iu = new MetadataFactory.InstallableUnitDescription();
iu.setId("foo");
iu.setVersion(Version.create("1.0.0"));
@@ -94,28 +89,13 @@ public class StandaloneSerializationTest extends TestCase {
ius.add(MetadataFactory.createInstallableUnit(iu));
ius.add(MetadataFactory.createInstallableUnit(iu2));
- File f = null;
- try {
- f = File.createTempFile(getName(), "iu");
- try (OutputStream os = new FileOutputStream(f)) {
- new IUSerializer(os).write(ius);
- }
- } catch (FileNotFoundException e) {
- fail("problem writing: " + e.getCause().getMessage());
- } catch (UnsupportedEncodingException e) {
- fail("problem writing: " + e.getCause().getMessage());
- } catch (IOException e) {
- fail("problem writing: " + e.getCause().getMessage());
+ File f = File.createTempFile(name.getMethodName(), "iu");
+ try (OutputStream os = new FileOutputStream(f)) {
+ new IUSerializer(os).write(ius);
}
try (InputStream is = new FileInputStream(f)) {
assertEquals(2, new IUDeserializer().read(is).size());
- } catch (FileNotFoundException e) {
- fail("problem writing: " + e.getCause().getMessage());
- } catch (UnsupportedEncodingException e) {
- fail("problem writing: " + e.getCause().getMessage());
- } catch (IOException e) {
- fail("problem writing: " + e.getCause().getMessage());
} finally {
f.delete();
}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatATest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatATest.java
index 86bf6ca5d..392e41eb9 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatATest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatATest.java
@@ -14,26 +14,37 @@
package org.eclipse.equinox.p2.tests.omniVersion;
-import junit.framework.TestCase;
-import org.eclipse.equinox.p2.metadata.*;
+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 static org.junit.Assert.fail;
+
+import org.eclipse.equinox.p2.metadata.IVersionFormat;
+import org.eclipse.equinox.p2.metadata.Version;
+import org.eclipse.equinox.p2.metadata.VersionFormatException;
+import org.junit.Test;
/**
* Tests the format(a) rule.
*
*/
-public class FormatATest extends TestCase {
+public class FormatATest {
+ @Test
public void testNumeric() {
Version v = Version.parseVersion("format(a):1");
assertNotNull(v);
assertEquals(Version.parseVersion("raw:1"), v);
}
+ @Test
public void testString() {
Version v = Version.parseVersion("format(a):a");
assertNotNull(v);
assertEquals(Version.parseVersion("raw:'a'"), v);
}
+ @Test
public void testSequenceOfAuto() {
Version v = Version.parseVersion("format(aaaa):123abc456def");
assertNotNull(v);
@@ -43,6 +54,7 @@ public class FormatATest extends TestCase {
/**
* Test that exact delimits a on count and type.
*/
+ @Test
public void testExact() {
Version v = Version.parseVersion("format(a={3};aaa={3};):123abc456def");
assertNotNull(v);
@@ -54,107 +66,73 @@ public class FormatATest extends TestCase {
assertNotNull(v = Version.parseVersion("format(a={2};a):123"));
assertEquals(Version.parseVersion("raw:12.3"), v);
- try {
- // should fail because first segment is delimited after 2 chars
- Version.parseVersion("format(a={4};aaa={3};):12.3abc456def");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- // should fail because first segment is delimited by type change after 3 chars
- Version.parseVersion("format(a={4};aaa={3};):123abc456def");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- // should fail because first segment is delimited by type change after 3 chars
- Version.parseVersion("format(a={4};aaa={3};):xyz123abc456");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
-
+ // should fail because first segment is delimited after 2 chars
+ assertThrows(IllegalArgumentException.class,
+ () -> Version.parseVersion("format(a={4};aaa={3};):12.3abc456def"));
+ // should fail because first segment is delimited by type change after 3 chars
+ assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("format(a={4};aaa={3};):123abc456def"));
+ // should fail because first segment is delimited by type change after 3 chars
+ assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("format(a={4};aaa={3};):xyz123abc456"));
}
/**
* Test that unbound upper range delimits a on change of type.
*/
+ @Test
public void testAtLeast() {
Version v = Version.parseVersion("format(a={2,};aaa={2,};):123abc456def");
assertNotNull(v);
assertEquals(Version.parseVersion("raw:123.'abc'.456.'def'"), v);
- try {
- Version.parseVersion("format(a={2,};aaa={2,};):1abc456def");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- Version.parseVersion("format(a={2,};aaa={2,};):12abc456d");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
+ assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("format(a={2,};aaa={2,};):1abc456def"));
+ assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("format(a={2,};aaa={2,};):12abc456d"));
}
/**
- * test that at-most follows same rules as exact for the min range
+ * test that at-most follows same rules as exact for the min range
*/
+ @Test
public void testAtMost() {
Version v = Version.parseVersion("format(a={1,3};aaa={1,3};):123abc456def");
assertNotNull(v);
assertEquals(Version.parseVersion("raw:123.'abc'.456.'def'"), v);
- // change of type is delimiter
+ // change of type is delimiter
assertNotNull(v = Version.parseVersion("format(a={1,2};aaaa={1,2};a):123abc456def"));
assertEquals(Version.parseVersion("raw:12.3.'abc'.456.'de'.'f'"), v);
- try {
- Version.parseVersion("format(a={2,3};aaa={1,2};):1abc456def");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- Version.parseVersion("format(a={2,3};aaa={2,3};):12abc456d");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- Version.parseVersion("format(a={4,5};aaa={1,4};):123abc456def");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
+ assertThrows(IllegalArgumentException.class,
+ () -> Version.parseVersion("format(a={2,3};aaa={1,2};):1abc456def"));
+ assertThrows(IllegalArgumentException.class,
+ () -> Version.parseVersion("format(a={2,3};aaa={2,3};):12abc456d"));
+ assertThrows(IllegalArgumentException.class,
+ () -> Version.parseVersion("format(a={4,5};aaa={1,4};):123abc456def"));
}
+ @Test
public void testEnum() {
Version v1 = Version.parseVersion("format(aa={alpha,beta,gamma};a):12beta2");
Version v2 = Version.parseVersion("raw:12.{alpha,^beta,gamma}.2");
assertEquals(v1, v2);
}
+ @Test
public void testEnumOptional() {
- // When enum is optional, test that parser falls back to string when enum isn't matched
+ // When enum is optional, test that parser falls back to string when enum isn't
+ // matched
Version v1 = Version.parseVersion("format(aa={alpha,beta,gamma}?;a):12foo2");
Version v2 = Version.parseVersion("raw:12.'foo'.2");
assertEquals(v1, v2);
- try {
- Version.parseVersion("format(aa={alpha,beta,gamma};a):12foo2");
- fail("bad enum was not detected");
- } catch (IllegalArgumentException e) {
- // Expected
- }
+ assertThrows("bad enum was not detected", IllegalArgumentException.class,
+ () -> Version.parseVersion("format(aa={alpha,beta,gamma};a):12foo2"));
}
+ @Test
public void testEnumIgnoreCase() {
- // When enum is optional, test that parser falls back to string when enum isn't matched
+ // When enum is optional, test that parser falls back to string when enum isn't
+ // matched
Version v1 = Version.parseVersion("format(aa={Alpha,Beta,Gamma}i;a):12beta2");
Version v2 = Version.parseVersion("raw:12.{alpha,^beta,gamma}.2");
assertEquals(v1, v2);
@@ -163,15 +141,12 @@ public class FormatATest extends TestCase {
v2 = Version.parseVersion("raw:12.{alpha,^beta,gamma}.2");
assertEquals(v1, v2);
- try {
- Version.parseVersion("format(aa={alpha,beta,gamma};a):12BETA2");
- fail("enum case sensitivity ignored");
- } catch (IllegalArgumentException e) {
- // Expected
- }
+ assertThrows("enum case sensitivity ignored", IllegalArgumentException.class,
+ () -> Version.parseVersion("format(aa={alpha,beta,gamma};a):12BETA2"));
}
+ @Test
public void testEnumBegins() {
// When enum has 'begins', test that parser doesn't go too far
Version v1 = Version.parseVersion("format(aa={alpha,beta,gamma}b;aa):12gammafoo2");
@@ -189,21 +164,13 @@ public class FormatATest extends TestCase {
assertEquals(v1, v2);
// if it's not optional nor begins, it should fail
- try {
- v1 = Version.parseVersion("format(aa={alpha,beta,gamma};a):12gammafoo2");
- fail("Enum begins pattern resolved although begins was not specified");
- } catch (IllegalArgumentException e) {
- // Expected
- }
+ assertThrows(
+ IllegalArgumentException.class,
+ () -> Version.parseVersion("format(aa={alpha,beta,gamma};a):12gammafoo2"));
// this one must fail too even though it's optional because
// it falls back to string and '#' is not a legal string character
- try {
- Version.parseVersion("format(aa={#,$,%}?;aa?):12#foo2");
- fail("Enum fallback to string with illegal string character");
- } catch (IllegalArgumentException e) {
- // Expected
- }
+ assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("format(aa={#,$,%}?;aa?):12#foo2"));
// This however, should work
v1 = Version.parseVersion("format(aa={#,$,%}b;aa):12#foo2");
@@ -211,11 +178,13 @@ public class FormatATest extends TestCase {
assertEquals(v1, v2);
}
+ @Test
public void testEnumFormatToString() {
Version v1 = Version.parseVersion("format(aa={alpha,beta,gamma};a):12beta2");
assertEquals(v1.toString(), "raw:12.{alpha,^beta,gamma}.2/format(aa={alpha,beta,gamma};a):12beta2");
}
+ @Test
public void testPHPVersion() {
IVersionFormat phpFormat = null;
try {
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatArrayTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatArrayTest.java
index f46827c41..b5e76760b 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatArrayTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatArrayTest.java
@@ -14,32 +14,31 @@
package org.eclipse.equinox.p2.tests.omniVersion;
+import static org.junit.Assert.assertThrows;
+
import junit.framework.TestCase;
import org.eclipse.equinox.p2.metadata.Version;
+import org.junit.Test;
/**
* Tests format(<>) - arrays.
- *
+ *
*/
public class FormatArrayTest extends TestCase {
+ @Test
public void testEmptyArray() {
- try {
- Version.parseVersion("format(<>q):''");
- fail("Uncaught error: empty array group is not allowed:");
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
+ assertThrows("Uncaught error: empty array group is not allowed:", IllegalArgumentException.class,
+ () -> Version.parseVersion("format(<>q):''"));
}
+ @Test
public void testEmptyArrayBecauseContentIsOptional() {
- try {
- Version.parseVersion("format(<n?>q):''");
- fail("Uncaught error: produces an empty vector");
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
+ assertThrows("Uncaught error: produces an empty vector",
+ IllegalArgumentException.class,
+ () -> Version.parseVersion("format(<n?>q):''"));
}
+ @Test
public void testOptionalArray() {
Version v = Version.parseVersion("format(<n>?S):abc");
assertNotNull(v);
@@ -50,18 +49,21 @@ public class FormatArrayTest extends TestCase {
}
+ @Test
public void testNumericArray() {
Version v = Version.parseVersion("format(<(n.?)+>):1.2.3.4.5.6.7.8.9");
assertNotNull(v);
assertEquals(Version.parseVersion("raw:<1.2.3.4.5.6.7.8.9>"), v);
}
+ @Test
public void testStringArray() {
Version v = Version.parseVersion("format(<(S=[^.];d?)+>):a.b.c.d.e.f.g.h.i");
assertNotNull(v);
assertEquals(Version.parseVersion("raw:<'a'.'b'.'c'.'d'.'e'.'f'.'g'.'h'.'i'>"), v);
}
+ @Test
public void testNestedArray() {
Version v = Version.parseVersion("format(<n.<n.n>.n>):1.2.3.4");
assertNotNull(v);
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatDTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatDTest.java
index 6266ae999..1774f5de2 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatDTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatDTest.java
@@ -14,19 +14,23 @@
package org.eclipse.equinox.p2.tests.omniVersion;
-import junit.framework.TestCase;
+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 format(d) and explicit delimiter chars and strings.
*/
-public class FormatDTest extends TestCase {
+public class FormatDTest {
/**
* Definition of default set of delimiters
*/
private static char[] s_delim = { //
0x20, // ' '
- 0x21, // !
+ 0x21, // !
0x22, // #
0x23, // "
0x24, // '$'
@@ -45,7 +49,7 @@ public class FormatDTest extends TestCase {
0x3b, // ';'
0x3c, // '<'
0x3d, // '='
- 0x3e, // '>'
+ 0x3e, // '>'
0x3f, // '?'
0x40, // @ <--- TODO: Debatable - is @ a delimiter of part of a string?
0x5b, // [
@@ -59,6 +63,7 @@ public class FormatDTest extends TestCase {
0x7e, // ~
};
+ @Test
public void testNumericWithDefaultSet() {
Version v = null;
String formatString = "format(ndn):";
@@ -77,6 +82,7 @@ public class FormatDTest extends TestCase {
}
}
+ @Test
public void testStringWithDefaultSet() {
Version v = null;
String formatString = "format(sds):";
@@ -95,6 +101,7 @@ public class FormatDTest extends TestCase {
}
}
+ @Test
public void testAccepted() {
Version v = Version.parseVersion("format((d=[A-Z];n){3}):A1B22C333");
assertNotNull(v);
@@ -119,6 +126,7 @@ public class FormatDTest extends TestCase {
assertEquals(Integer.valueOf(333), v.getSegment(2));
}
+ @Test
public void testRejected() {
Version v = null;
assertNotNull(v = Version.parseVersion("format((d=[^.:];S=[a-z0-9];){3}):/a1;b22=c333"));
@@ -127,6 +135,7 @@ public class FormatDTest extends TestCase {
assertEquals("c333", v.getSegment(2));
}
+ @Test
public void testExplicit() {
Version v = null;
assertNotNull(v = Version.parseVersion("format('epoch='n';''major='n';''minor='n';'):epoch=1;major=22;minor=333;"));
@@ -141,6 +150,7 @@ public class FormatDTest extends TestCase {
}
+ @Test
public void testCounted() {
// repeated d, char count d, and counted d are equal
Version v1 = Version.parseVersion("format(dddn):///1");
@@ -153,43 +163,27 @@ public class FormatDTest extends TestCase {
}
+ @Test
public void testIllegalCharCount() {
- try {
- Version.parseVersion("format(d={3};n):///1");
- fail("Uncaught error: char count can not be used with 'd'");
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
+ assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("format(d={3};n):///1"));
}
+ @Test
public void testIllegalAsPad() {
- try {
- Version.parseVersion("format(nd=pm;n):1.0");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
+ assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("format(nd=pm;n):1.0"));
}
+ @Test
public void testIllegalWithDefault() {
- try {
- Version.parseVersion("format(nd='a';n):1.0");
- fail("Uncaught error: 'd' can not have a default value");
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
+ assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("format(nd='a';n):1.0"));
}
/**
* Ignore of d is illegal as d is already ignored.
*/
+ @Test
public void testIllegalIgnore() {
- try {
- Version.parseVersion("format(nd=!;n):1.0");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
+ assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("format(nd=!;n):1.0"));
}
}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatNTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatNTest.java
index 35807c127..83014c0b2 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatNTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatNTest.java
@@ -14,14 +14,18 @@
package org.eclipse.equinox.p2.tests.omniVersion;
+import static org.junit.Assert.assertThrows;
+
import junit.framework.TestCase;
import org.eclipse.equinox.p2.metadata.Version;
+import org.junit.Test;
/**
* Tests format(n) and format(N)
*
*/
public class FormatNTest extends TestCase {
+ @Test
public void testNonNegative() {
Version v = Version.parseVersion("format(n):1");
assertNotNull(v);
@@ -30,14 +34,11 @@ public class FormatNTest extends TestCase {
assertNotNull(v = Version.parseVersion("format(n):0"));
assertEquals(Version.parseVersion("raw:0"), v);
- try {
- Version.parseVersion("format(n):-1");
- fail("Uncaught exception: negative number in 'n' format");
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
+ assertThrows("negative number in 'n' format", IllegalArgumentException.class,
+ () -> Version.parseVersion("format(n):-1"));
}
+ @Test
public void testNegativeValues() {
Version v = Version.parseVersion("format(N):-1");
assertNotNull(v);
@@ -50,6 +51,7 @@ public class FormatNTest extends TestCase {
assertEquals(Version.parseVersion("raw:0"), v);
}
+ @Test
public void testLeadingZeros() {
Version v = Version.parseVersion("format(n):000001");
assertNotNull(v);
@@ -59,6 +61,7 @@ public class FormatNTest extends TestCase {
assertEquals(Version.parseVersion("raw:-1"), v);
}
+ @Test
public void testExact() {
Version v = Version.parseVersion("format(n={2};n={2};):1122");
assertNotNull(v);
@@ -70,56 +73,29 @@ public class FormatNTest extends TestCase {
assertNotNull(v = Version.parseVersion("format(N={4};N={3};):-001234"));
assertEquals(Version.parseVersion("raw:-1.234"), v);
- try {
- v = Version.parseVersion("format(n={2};.;n={2};):1.2");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- v = Version.parseVersion("format(n={2};.;n={2};):111.2222");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
+ assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("format(n={2};.;n={2};):1.2"));
+ assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("format(n={2};.;n={2};):111.2222"));
}
+ @Test
public void testAtLeast() {
Version v = Version.parseVersion("format(n={2,};.n={2,};):111.22222");
assertNotNull(v);
assertEquals(Version.parseVersion("raw:111.22222"), v);
- try {
- v = Version.parseVersion("format(n={2,};.;n={2};):111.2");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
+ assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("format(n={2,};.;n={2};):111.2"));
}
+ @Test
public void testAtMost() {
Version v = Version.parseVersion("format(n={2,3};.n={2,3};):111.22");
assertNotNull(v);
assertEquals(Version.parseVersion("raw:111.22"), v);
- try {
- v = Version.parseVersion("format(n={2,3};.n={2,3};):111.2222");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- v = Version.parseVersion("format(n={2,3};.n={2,3};):1.222");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
+ assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("format(n={2,3};.n={2,3};):111.2222"));
+ assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("format(n={2,3};.n={2,3};):1.222"));
}
+ @Test
public void testNIsGreedy() {
- try {
- Version.parseVersion("format(nn):1010");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
+ assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("format(nn):1010"));
}
}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatPTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatPTest.java
index 017fbf3cc..8e7df4131 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatPTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatPTest.java
@@ -14,16 +14,21 @@
package org.eclipse.equinox.p2.tests.omniVersion;
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
import org.eclipse.equinox.p2.metadata.Version;
+import org.junit.Test;
-public class FormatPTest extends TestCase {
+public class FormatPTest {
+ @Test
public void testPad() {
Version v = Version.parseVersion("format(qp):''pm");
assertNotNull(v);
assertEquals(Version.parseVersion("raw:''pm"), v);
}
+ @Test
public void testArrayPad() {
Version v = Version.parseVersion("format(r):<''pm>");
assertNotNull(v);
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatProcessingTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatProcessingTest.java
index bc3178242..5ba856178 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatProcessingTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatProcessingTest.java
@@ -14,15 +14,21 @@
package org.eclipse.equinox.p2.tests.omniVersion;
-import junit.framework.TestCase;
+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 processing rules not tested elsewhere, and combinations of processing rules.
+ * Tests processing rules not tested elsewhere, and combinations of processing
+ * rules.
*
*/
-public class FormatProcessingTest extends TestCase {
+public class FormatProcessingTest {
+ @Test
public void testIgnore() {
Version v = Version.parseVersion("format(n=!;.n.n):100.1.2");
assertNotNull(v);
@@ -30,6 +36,7 @@ public class FormatProcessingTest extends TestCase {
assertEquals(Integer.valueOf(2), v.getSegment(1));
}
+ @Test
public void testDefaultArrayWithPad() {
Version v = Version.parseVersion("format(s.?<n.n>=<1.0pm>;=p10;?):alpha");
assertNotNull(v);
@@ -39,12 +46,14 @@ public class FormatProcessingTest extends TestCase {
assertEquals(Version.parseVersion("raw:'alpha'.<1.2p10>"), v);
}
+ @Test
public void testDefaultValues() {
Version v = Version.parseVersion("format(n.[n=1;].?[s='foo';].?[a='bar';].?[a=2;]):9.");
assertNotNull(v);
assertEquals(Version.parseVersion("raw:9.1.'foo'.'bar'.2"), v);
}
+ @Test
public void testArrayDefaultValues() {
Version v = null;
assertNotNull(v = Version.parseVersion("format(n.<n.n>=<1.0>;?):9."));
@@ -59,6 +68,7 @@ public class FormatProcessingTest extends TestCase {
assertEquals("individual defaults should not be used", Version.parseVersion("raw:9.<1.0>"), v);
}
+ @Test
public void testOtherTypeAsDefault() {
Version v = null;
assertNotNull(v = Version.parseVersion("format(s=123;?n):1"));
@@ -100,159 +110,84 @@ public class FormatProcessingTest extends TestCase {
}
/**
- * A processing rule can only be applied once to the preceding element.
- * (These tests check if the same processing can be applied twice).
+ * A processing rule can only be applied once to the preceding element. (These
+ * tests check if the same processing can be applied twice).
*/
+ @Test
public void testSameMoreThanOnce() {
- try {
- Version.parseVersion("format(n=!;=!;.n):1.2");
- fail("error not detected:2 x =!;");
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- Version.parseVersion("format(s=[abc];=[123];.n):abc123.2");
- fail("error not detected:2 x =[];");
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- Version.parseVersion("format(nd=[^:];=[^:];n):1.2");
- fail("error not detected:2x [^];");
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- Version.parseVersion("format(n={1,3};={1,3};.n):1.2");
- fail("error not detected:2x ={ };");
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- Version.parseVersion("format(n=0;=1;.n):1.2");
- fail("error not detected:2x =default value");
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- Version.parseVersion("format((n.n)=pm;=pm;):1.2");
- fail("error not detected:2x =pm;");
-
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
+ assertThrows("error detected:2 x =!;", IllegalArgumentException.class,
+ () -> Version.parseVersion("format(n=!;=!;.n):1.2"));
+ assertThrows("error detected:2 x =[];", IllegalArgumentException.class,
+ () -> Version.parseVersion("format(s=[abc];=[123];.n):abc123.2"));
+ assertThrows("error detected:2x [^];", IllegalArgumentException.class,
+ () -> Version.parseVersion("format(nd=[^:];=[^:];n):1.2"));
+ assertThrows("error detected:2x ={ };", IllegalArgumentException.class,
+ () -> Version.parseVersion("format(n={1,3};={1,3};.n):1.2"));
+ assertThrows("error detected:2x =default value", IllegalArgumentException.class,
+ () -> Version.parseVersion("format(n=0;=1;.n):1.2"));
+ assertThrows("error detected:2x =pm;", IllegalArgumentException.class,
+ () -> Version.parseVersion("format((n.n)=pm;=pm;):1.2"));
+
}
/**
* Tests that it is not allowed to have both =[]; and =[^] at the same time.
*/
+ @Test
public void testSetNotSet() {
- try {
- Version.parseVersion("format(nd=[a-z];=[^.:];n):1.2");
- fail("error not detected: =[];=[^];");
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
+ assertThrows("error detected: =[];=[^];", IllegalArgumentException.class,
+ () -> Version.parseVersion("format(nd=[a-z];=[^.:];n):1.2"));
}
/**
* Pad can only be combined with default value.
*/
+ @Test
public void testBadPadCombinations() {
- try {
- Version.parseVersion("format((n.n)=pm;=[abc];):1.2");
- fail("error not detected: =p; =[];");
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- Version.parseVersion("format((n.n)=pm;=[^.:];):1.2");
- fail("error not detected: =p; =[];");
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- Version.parseVersion("format((n.n)=pm;={1,3};):1.2");
- fail("error not detected: =p; ={};");
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- Version.parseVersion("format((n.n)=pm;=!;):1.2");
- fail("error not detected: =p; =!;");
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
+ assertThrows("error detected: =p; =[];", IllegalArgumentException.class,
+ () -> Version.parseVersion("format((n.n)=pm;=[abc];):1.2"));
+ assertThrows("error detected: =p; =[];", IllegalArgumentException.class,
+ () -> Version.parseVersion("format((n.n)=pm;=[^.:];):1.2"));
+ assertThrows("error detected: =p; ={};", IllegalArgumentException.class,
+ () -> Version.parseVersion("format((n.n)=pm;={1,3};):1.2"));
+
+ assertThrows("error detected: =p; =!;", IllegalArgumentException.class,
+ () -> Version.parseVersion("format((n.n)=pm;=!;):1.2"));
}
+ @Test
public void testNonPaddable() {
- try {
- Version.parseVersion("format(n=pm;):1");
- fail("error not detected: n=p;");
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- Version.parseVersion("format(N=pm;):1");
- fail("error not detected: n=p;");
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- Version.parseVersion("format(s=pm;):a");
- fail("error not detected: s=p;");
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- Version.parseVersion("format(S=pm;):a");
- fail("error not detected: S=p;");
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- Version.parseVersion("format(a=pm;):a");
- fail("error not detected: a=p;");
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- Version.parseVersion("format(d=pm;):a");
- fail("error not detected: d=p;");
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- Version.parseVersion("format(q=pm;):a");
- fail("error not detected: q=p;");
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- Version.parseVersion("format(r=pm;):a");
- fail("error not detected: q=p;");
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- Version.parseVersion("format('x'=pm;n):x1");
- fail("error not detected: 'x'=p;");
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- Version.parseVersion("format(.=pm;n):x1");
- fail("error not detected: .=p;");
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- Version.parseVersion("format(p=pm;n):x1");
- fail("error not detected: p=p;");
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
+ assertThrows("error detected: n=p;", IllegalArgumentException.class,
+ () ->Version.parseVersion("format(n=pm;):1"));
+ assertThrows("error detected: n=p;", IllegalArgumentException.class,
+ () ->Version.parseVersion("format(N=pm;):1"));
+
+ assertThrows("error detected: s=p;", IllegalArgumentException.class,
+ () -> Version.parseVersion("format(s=pm;):a"));
+
+ assertThrows("error detected: S=p;", IllegalArgumentException.class,
+ () ->Version.parseVersion("format(S=pm;):a"));
+
+ assertThrows("error detected: a=p;", IllegalArgumentException.class,
+ () ->Version.parseVersion("format(a=pm;):a"));
+
+ assertThrows("error detected: d=p;", IllegalArgumentException.class,
+ () ->Version.parseVersion("format(d=pm;):a"));
+
+ assertThrows("error detected: q=p;", IllegalArgumentException.class,
+ () ->Version.parseVersion("format(q=pm;):a"));
+
+ assertThrows("error detected: q=p;", IllegalArgumentException.class,
+ () ->Version.parseVersion("format(r=pm;):a"));
+
+ assertThrows("error detected: 'x'=p;", IllegalArgumentException.class,
+ () ->Version.parseVersion("format('x'=pm;n):x1"));
+
+ assertThrows("error detected: .=p;", IllegalArgumentException.class,
+ () -> Version.parseVersion("format(.=pm;n):x1"));
+ assertThrows("error detected: p=p;", IllegalArgumentException.class,
+ () -> Version.parseVersion("format(p=pm;n):x1"));
}
}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatQTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatQTest.java
index 6b4d46554..4c4f4e039 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatQTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatQTest.java
@@ -14,19 +14,25 @@
package org.eclipse.equinox.p2.tests.omniVersion;
-import junit.framework.TestCase;
+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 format(q)
- * smart quoted string - matches a quoted alphanumeric string where the quote is determined by the first
- * character of the string segment. The quote must be a non alphanumeric character, and the string
- * must be delimited by the same character except brackets and parenthesises (i.e. (), {}, [], <>) which are
- * handled as pairs, thus 'q' matches "<andrea-doria>" and produces a single string segment with the text 'andrea-doria'.
- * A non-quoted sequence of characters are not matched by 'q'.
- *
+ * Tests format(q) smart quoted string - matches a quoted alphanumeric string
+ * where the quote is determined by the first character of the string segment.
+ * The quote must be a non alphanumeric character, and the string must be
+ * delimited by the same character except brackets and parenthesises (i.e. (),
+ * {}, [], <>) which are handled as pairs, thus 'q' matches "<andrea-doria>" and
+ * produces a single string segment with the text 'andrea-doria'. A non-quoted
+ * sequence of characters are not matched by 'q'.
+ *
*/
-public class FormatQTest extends TestCase {
+public class FormatQTest {
+ @Test
public void testQuoteFormatParsing() {
Version aVer = Version.parseVersion("raw:'a'");
assertNotNull(aVer);
@@ -47,24 +53,17 @@ public class FormatQTest extends TestCase {
}
+ @Test
public void testQUnbalancedQuoteR() {
- try {
- Version.parseVersion("format(q):'a");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
+ assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("format(q):'a"));
}
+ @Test
public void testQUnbalancedQuoteL() {
- try {
- Version.parseVersion("format(q):a'");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
+ assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("format(q):a'"));
}
+ @Test
public void testQuotedFormatPairsParsing() {
Version aVer = Version.parseVersion("raw:'a'");
assertNotNull(aVer);
@@ -79,143 +78,50 @@ public class FormatQTest extends TestCase {
assertEquals(aVer, v);
}
+ @Test
public void testQUnbalancedPair1() {
- try {
- Version.parseVersion("format(q):(a");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- Version.parseVersion("format(q):a)");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- Version.parseVersion("format(q):(a(");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- Version.parseVersion("format(q):)a)");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
+ assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("format(q):(a"));
+ assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("format(q):a)"));
+ assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("format(q):(a("));
+ assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("format(q):)a)"));
}
+ @Test
public void testQUnbalancedPair2() {
- try {
- Version.parseVersion("format(q):[a");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- Version.parseVersion("format(q):a]");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- Version.parseVersion("format(q):[a[");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- Version.parseVersion("format(q):]a]");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
+ assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("format(q):[a"));
+ assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("format(q):a]"));
+ assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("format(q):[a["));
+ assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("format(q):]a]"));
}
+ @Test
public void testQUnbalancedPair3() {
- try {
- Version.parseVersion("format(q):<a");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- Version.parseVersion("format(q):a>");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- Version.parseVersion("format(q):<a<");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- Version.parseVersion("format(q):>a>");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
+ assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("format(q):<a"));
+ assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("format(q):a>"));
+ assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("format(q):<a<"));
+ assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("format(q):>a>"));
}
+ @Test
public void testQUnbalancedPair4() {
- try {
- Version.parseVersion("format(q):{a");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- Version.parseVersion("format(q):a}");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- Version.parseVersion("format(q):{a{");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- Version.parseVersion("format(q):}a}");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
+ assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("format(q):{a"));
+ assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("format(q):a}"));
+ assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("format(q):{a{"));
+ assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("format(q):}a}"));
}
+ @Test
public void testQUnbalancedPair5() {
- // not all erroneous permutations tested - only principle that open and close must be from "matching pair"
+ // not all erroneous permutations tested - only principle that open and close
+ // must be from "matching pair"
// it should be enough to cover a faulty implementation
- try {
- Version.parseVersion("format(q):(a}");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- Version.parseVersion("format(q):[a}");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- Version.parseVersion("format(q):{a]");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- Version.parseVersion("format(q):<a)");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
+ assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("format(q):(a}"));
+ assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("format(q):[a}"));
+ assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("format(q):{a]"));
+ assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("format(q):<a)"));
}
+ @Test
public void testExact() {
Version v = Version.parseVersion("format(q={4};q):<123a>\"bc456'def'\"");
assertNotNull(v);
@@ -233,20 +139,13 @@ public class FormatQTest extends TestCase {
assertNotNull(v = Version.parseVersion("format(q={2};.q={1};qq={3};):<12>.<3>'456'<abc>"));
assertEquals(Version.parseVersion("raw:'12'.'3'.'456'.'abc'"), v);
- try {
- Version.parseVersion("format(q={4};.q):123.(abc456)'def'");
- fail("Uncaught error: quoted string is longer than 4");
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- Version.parseVersion("format(q={4};q):<123>(abc456'def')");
- fail("Uncaught error: quoted string is shorter than 4");
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
+ assertThrows("Error: quoted string is longer than 4", IllegalArgumentException.class,
+ () -> Version.parseVersion("format(q={4};.q):123.(abc456)'def'"));
+ assertThrows("Error: quoted string is shorter than 4", IllegalArgumentException.class,
+ () -> Version.parseVersion("format(q={4};q):<123>(abc456'def')"));
}
+ @Test
public void testAtLeast() {
Version v = Version.parseVersion("format(q={2,};):(123abc456'def')");
assertNotNull(v);
@@ -261,32 +160,17 @@ public class FormatQTest extends TestCase {
assertNotNull(v = Version.parseVersion("format(q={2,};q):<123a>(bc456'def')"));
assertEquals(Version.parseVersion("raw:'123a'.\"bc456'def'\""), v);
- try {
- Version.parseVersion("format(q={2,};.q):1.abc456'def'");
- fail("Uncaught error: first segment is shorter than 2");
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- Version.parseVersion("format(q={2,};q):<1>(abc456'def')");
- fail("Uncaught error: firt segment is shorter than 2");
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- Version.parseVersion("format(q={2,};.q={10,};):(12).(abc456'd')");
- fail("Uncaught error: last segment is shorter than 10");
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- Version.parseVersion("format(q={2,};.q={10,};):<12>.abc456'd'");
- fail("Uncaught error: second segment is not quoted");
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
+ assertThrows("Eror: first segment is shorter than 2", IllegalArgumentException.class,
+ () -> Version.parseVersion("format(q={2,};.q):1.abc456'def'"));
+ assertThrows("Eror: firt segment is shorter than 2", IllegalArgumentException.class,
+ () -> Version.parseVersion("format(q={2,};q):<1>(abc456'def')"));
+ assertThrows("Eror: last segment is shorter than 10", IllegalArgumentException.class,
+ () -> Version.parseVersion("format(q={2,};.q={10,};):(12).(abc456'd')"));
+ assertThrows("Eror: fsecond segment is not quoted", IllegalArgumentException.class,
+ () -> Version.parseVersion("format(q={2,};.q={10,};):<12>.abc456'd'"));
}
+ @Test
public void testAtMost() {
// exact request
Version v = Version.parseVersion("format(q={1,3};q={1,2};q):<123><ab><c456'def'>");
@@ -297,20 +181,11 @@ public class FormatQTest extends TestCase {
assertNotNull(v = Version.parseVersion("format(q={1,4};q={1,4};q):<123><abc4><56'def'>"));
assertEquals(Version.parseVersion("raw:'123'.'abc4'.\"56'def'\""), v);
- try {
- // fails because first segment is shorter
- Version.parseVersion("format(q={2,3};q):<1><abc456'def'>");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- try {
- // fails because there are trailing characters after 'c'
- Version.parseVersion("format(q={2,3};q={2,3};):<12><abc456'd'>");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
+ // fails because first segment is shorter
+ assertThrows(IllegalArgumentException.class, () -> Version.parseVersion("format(q={2,3};q):<1><abc456'def'>"));
+ // fails because there are trailing characters after 'c'
+ assertThrows(IllegalArgumentException.class,
+ () -> Version.parseVersion("format(q={2,3};q={2,3};):<12><abc456'd'>"));
}
}

Back to the top