summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@oath.com>2021-12-19 19:46:50 +0100
committerGitHub <noreply@github.com>2021-12-19 19:46:50 +0100
commit6df122c97a324461194e0ca7d9e71fd1f77f325d (patch)
tree2c4df71208be6b8615961a025e699b8e1734401e
parent3662fb1b96d325fe7ff07a6eb031d7d58b5cc9e2 (diff)
parent4c56b0aedb0284140ef94aa3db0531da7342c628 (diff)
Merge pull request #20581 from vespa-engine/balder/reduce-usage-of-hamcrest-2
Simplify testing by sticking to assertEquals/True/False
-rw-r--r--bundle-plugin-test/integration-test/src/test/java/com/yahoo/container/plugin/BundleTest.java30
-rw-r--r--bundle-plugin-test/integration-test/src/test/java/com/yahoo/container/plugin/ExportPackageVersionTest.java15
-rw-r--r--bundle-plugin/pom.xml9
-rw-r--r--bundle-plugin/src/main/java/com/yahoo/container/plugin/bundle/AnalyzeBundle.java1
-rw-r--r--bundle-plugin/src/main/java/com/yahoo/container/plugin/osgi/ExportPackages.java14
-rw-r--r--bundle-plugin/src/test/java/com/yahoo/container/plugin/bundle/AnalyzeBundleTest.java59
-rw-r--r--bundle-plugin/src/test/java/com/yahoo/container/plugin/classanalysis/AnalyzeClassTest.java93
-rw-r--r--bundle-plugin/src/test/java/com/yahoo/container/plugin/classanalysis/AnalyzeMethodBodyTest.java26
-rw-r--r--bundle-plugin/src/test/java/com/yahoo/container/plugin/classanalysis/PackageTallyTest.java9
-rw-r--r--bundle-plugin/src/test/java/com/yahoo/container/plugin/classanalysis/TestUtilities.java18
-rw-r--r--bundle-plugin/src/test/java/com/yahoo/container/plugin/osgi/ExportPackageParserTest.java85
-rw-r--r--bundle-plugin/src/test/java/com/yahoo/container/plugin/osgi/ImportPackageTest.java69
-rw-r--r--container-disc/src/test/java/com/yahoo/container/jdisc/FilterBindingsProviderTest.java13
-rw-r--r--searchlib/src/test/java/com/yahoo/searchlib/expression/FloatBucketResultNodeTestCase.java5
-rw-r--r--searchlib/src/test/java/com/yahoo/searchlib/expression/IntegerBucketResultNodeTestCase.java8
-rw-r--r--searchlib/src/test/java/com/yahoo/searchlib/expression/IntegerResultNodeTestCase.java67
-rw-r--r--searchlib/src/test/java/com/yahoo/searchlib/expression/NullResultNodeTestCase.java23
-rw-r--r--searchlib/src/test/java/com/yahoo/searchlib/expression/RawBucketResultNodeTestCase.java7
-rw-r--r--searchlib/src/test/java/com/yahoo/searchlib/expression/ResultNodeTest.java5
-rw-r--r--searchlib/src/test/java/com/yahoo/searchlib/expression/ResultNodeVectorTestCase.java37
-rw-r--r--searchlib/src/test/java/com/yahoo/searchlib/expression/StringBucketResultNodeTestCase.java8
21 files changed, 245 insertions, 356 deletions
diff --git a/bundle-plugin-test/integration-test/src/test/java/com/yahoo/container/plugin/BundleTest.java b/bundle-plugin-test/integration-test/src/test/java/com/yahoo/container/plugin/BundleTest.java
index dbfac4e730f..faa33542f5c 100644
--- a/bundle-plugin-test/integration-test/src/test/java/com/yahoo/container/plugin/BundleTest.java
+++ b/bundle-plugin-test/integration-test/src/test/java/com/yahoo/container/plugin/BundleTest.java
@@ -18,10 +18,8 @@ import java.util.jar.Manifest;
import java.util.regex.Pattern;
import java.util.zip.ZipEntry;
-import static org.hamcrest.CoreMatchers.containsString;
-import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
/**
@@ -35,7 +33,7 @@ public class BundleTest {
// If bundle-plugin-test is compiled in a mvn command that also built dependencies, e.g. jrt,
// the artifact is jrt.jar, otherwise the installed and versioned artifact
// is used: jrt-7-SNAPSHOT.jar or e.g. jrt-7.123.45.jar.
- private static String snapshotOrVersionOrNone = "(-\\d+((-SNAPSHOT)|((\\.\\d+(\\.\\d+)?)?))?)?\\.jar";
+ private static final String snapshotOrVersionOrNone = "(-\\d+((-SNAPSHOT)|((\\.\\d+(\\.\\d+)?)?))?)?\\.jar";
private JarFile jarFile;
private Attributes mainAttributes;
@@ -67,12 +65,12 @@ public class BundleTest {
// Because of snapshot builds, we can only verify the major version.
int majorBundleVersion = Integer.valueOf(bundleVersion.substring(0, bundleVersion.indexOf('.')));
- assertThat(majorBundleVersion, is(VespaVersion.major));
+ assertEquals(VespaVersion.major, majorBundleVersion);
}
@Test
public void require_that_bundle_symbolic_name_matches_pom_artifactId() {
- assertThat(mainAttributes.getValue("Bundle-SymbolicName"), is("main"));
+ assertEquals("main", mainAttributes.getValue("Bundle-SymbolicName"));
}
@Test
@@ -80,29 +78,29 @@ public class BundleTest {
String importPackage = mainAttributes.getValue("Import-Package");
// From SimpleSearcher
- assertThat(importPackage, containsString("com.yahoo.prelude.hitfield"));
+ assertTrue(importPackage.contains("com.yahoo.prelude.hitfield"));
// From SimpleSearcher2
- assertThat(importPackage, containsString("com.yahoo.processing"));
- assertThat(importPackage, containsString("com.yahoo.metrics.simple"));
- assertThat(importPackage, containsString("com.google.inject"));
+ assertTrue(importPackage.contains("com.yahoo.processing"));
+ assertTrue(importPackage.contains("com.yahoo.metrics.simple"));
+ assertTrue(importPackage.contains("com.google.inject"));
}
@Test
public void require_that_manifest_contains_manual_imports() {
String importPackage = mainAttributes.getValue("Import-Package");
- assertThat(importPackage, containsString("manualImport.withoutVersion"));
- assertThat(importPackage, containsString("manualImport.withVersion;version=\"12.3.4\""));
+ assertTrue(importPackage.contains("manualImport.withoutVersion"));
+ assertTrue(importPackage.contains("manualImport.withVersion;version=\"12.3.4\""));
for (int i=1; i<=2; ++i)
- assertThat(importPackage, containsString("multiple.packages.with.the.same.version" + i + ";version=\"[1,2)\""));
+ assertTrue(importPackage.contains("multiple.packages.with.the.same.version" + i + ";version=\"[1,2)\""));
}
@Test
public void require_that_manifest_contains_exports() {
String exportPackage = mainAttributes.getValue("Export-Package");
- assertThat(exportPackage, containsString("com.yahoo.test;version=1.2.3.RELEASE"));
+ assertTrue(exportPackage.contains("com.yahoo.test;version=1.2.3.RELEASE"));
}
@Test
@@ -110,7 +108,7 @@ public class BundleTest {
// generated bundle. (It's compile scoped in pom.xml to be added to the bundle-cp.)
public void require_that_manifest_contains_bundle_class_path() {
String bundleClassPath = mainAttributes.getValue("Bundle-ClassPath");
- assertThat(bundleClassPath, containsString(".,"));
+ assertTrue(bundleClassPath.contains(".,"));
Pattern jrtPattern = Pattern.compile("dependencies/jrt" + snapshotOrVersionOrNone);
assertTrue("Bundle class path did not contain jrt.", jrtPattern.matcher(bundleClassPath).find());
@@ -139,7 +137,7 @@ public class BundleTest {
@Test
public void require_that_web_inf_url_is_propagated_to_the_manifest() {
String webInfUrl = mainAttributes.getValue("WebInfUrl");
- assertThat(webInfUrl, containsString("/WEB-INF/web.xml"));
+ assertTrue(webInfUrl.contains("/WEB-INF/web.xml"));
}
}
diff --git a/bundle-plugin-test/integration-test/src/test/java/com/yahoo/container/plugin/ExportPackageVersionTest.java b/bundle-plugin-test/integration-test/src/test/java/com/yahoo/container/plugin/ExportPackageVersionTest.java
index 36d3faba81f..f99f1583324 100644
--- a/bundle-plugin-test/integration-test/src/test/java/com/yahoo/container/plugin/ExportPackageVersionTest.java
+++ b/bundle-plugin-test/integration-test/src/test/java/com/yahoo/container/plugin/ExportPackageVersionTest.java
@@ -10,9 +10,8 @@ import java.util.jar.Attributes;
import java.util.jar.JarFile;
import static com.yahoo.container.plugin.BundleTest.findBundleJar;
-import static org.hamcrest.CoreMatchers.containsString;
-import static org.hamcrest.CoreMatchers.not;
-import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
/**
* Verifies that the 'useArtifactVersionForExportPackages' setting for the bundle-plugin works as intended.
@@ -42,16 +41,16 @@ public class ExportPackageVersionTest {
String expectedExport = "ai.vespa.noversion;version=" + bundleVersion;
String exportPackage = mainAttributes.getValue("Export-Package");
- assertThat(exportPackage, containsString(expectedExport));
+ assertTrue(exportPackage.contains(expectedExport));
// Verify that there is no qualifier
- assertThat(exportPackage, not(containsString(expectedExport + ".")));
+ assertFalse(exportPackage.contains(expectedExport + "."));
}
@Test
public void explicit_version_in_ExportPackage_annotation_overrides_artifact_version() {
String exportPackage = mainAttributes.getValue("Export-Package");
- assertThat(exportPackage, containsString("ai.vespa.explicitversion;version=2.4.6.RELEASE"));
+ assertTrue(exportPackage.contains("ai.vespa.explicitversion;version=2.4.6.RELEASE"));
}
@Test
@@ -60,13 +59,13 @@ public class ExportPackageVersionTest {
// TODO: This test should have checked for a fixed version of the dependency bundle, different than the main bundle version.
// See comment in the dependency bundle's pom.xml for why this is not the case.
- assertThat(exportPackage, containsString("ai.vespa.noversion_dep;version=" + bundleVersion));
+ assertTrue(exportPackage.contains("ai.vespa.noversion_dep;version=" + bundleVersion));
}
@Test
public void explicit_version_in_ExportPackage_annotation_overrides_artifact_version_of_compile_scoped_dependency() {
String exportPackage = mainAttributes.getValue("Export-Package");
- assertThat(exportPackage, containsString("ai.vespa.explicitversion_dep;version=3.6.9.RELEASE"));
+ assertTrue(exportPackage.contains("ai.vespa.explicitversion_dep;version=3.6.9.RELEASE"));
}
}
diff --git a/bundle-plugin/pom.xml b/bundle-plugin/pom.xml
index 07811d23581..9ed4c47c023 100644
--- a/bundle-plugin/pom.xml
+++ b/bundle-plugin/pom.xml
@@ -39,15 +39,6 @@
<scope>test</scope>
</dependency>
<dependency>
- <groupId>org.hamcrest</groupId>
- <artifactId>hamcrest-library</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>com.google.guava</groupId>
- <artifactId>guava</artifactId>
- </dependency>
- <dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
</dependency>
diff --git a/bundle-plugin/src/main/java/com/yahoo/container/plugin/bundle/AnalyzeBundle.java b/bundle-plugin/src/main/java/com/yahoo/container/plugin/bundle/AnalyzeBundle.java
index 2e44e69bac6..2b5941cc5aa 100644
--- a/bundle-plugin/src/main/java/com/yahoo/container/plugin/bundle/AnalyzeBundle.java
+++ b/bundle-plugin/src/main/java/com/yahoo/container/plugin/bundle/AnalyzeBundle.java
@@ -13,7 +13,6 @@ import java.util.List;
import java.util.Optional;
import java.util.Set;
import java.util.jar.Manifest;
-import java.util.stream.Collectors;
/**
* Static utilities for analyzing jar files.
diff --git a/bundle-plugin/src/main/java/com/yahoo/container/plugin/osgi/ExportPackages.java b/bundle-plugin/src/main/java/com/yahoo/container/plugin/osgi/ExportPackages.java
index 3b2aa2369ef..04fa18c9bc5 100644
--- a/bundle-plugin/src/main/java/com/yahoo/container/plugin/osgi/ExportPackages.java
+++ b/bundle-plugin/src/main/java/com/yahoo/container/plugin/osgi/ExportPackages.java
@@ -5,6 +5,7 @@ import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;
@@ -58,6 +59,19 @@ public class ExportPackages {
public String getValue() {
return value;
}
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ Parameter parameter = (Parameter) o;
+ return Objects.equals(name, parameter.name) && Objects.equals(value, parameter.value);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(name, value);
+ }
}
public static Set<String> packageNames(Collection<Export> exports) {
diff --git a/bundle-plugin/src/test/java/com/yahoo/container/plugin/bundle/AnalyzeBundleTest.java b/bundle-plugin/src/test/java/com/yahoo/container/plugin/bundle/AnalyzeBundleTest.java
index 8fba5983049..62ecd780d7e 100644
--- a/bundle-plugin/src/test/java/com/yahoo/container/plugin/bundle/AnalyzeBundleTest.java
+++ b/bundle-plugin/src/test/java/com/yahoo/container/plugin/bundle/AnalyzeBundleTest.java
@@ -3,25 +3,17 @@ package com.yahoo.container.plugin.bundle;
import com.yahoo.container.plugin.osgi.ExportPackages;
import com.yahoo.container.plugin.osgi.ExportPackages.Export;
-import org.hamcrest.Description;
-import org.hamcrest.TypeSafeMatcher;
-import org.junit.Rule;
import org.junit.Test;
-import org.junit.rules.ExpectedException;
import java.io.File;
-import java.util.Arrays;
-import java.util.HashSet;
import java.util.List;
import java.util.Map;
+import java.util.stream.Collectors;
-import static com.yahoo.container.plugin.classanalysis.TestUtilities.throwableMessage;
-import static org.hamcrest.CoreMatchers.containsString;
-import static org.hamcrest.CoreMatchers.hasItem;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.not;
-import static org.hamcrest.Matchers.startsWith;
-import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
/**
* @author Tony Vaagenes
@@ -36,7 +28,7 @@ public class AnalyzeBundleTest {
public AnalyzeBundleTest() {
File notOsgi = new File(jarDir, "notAOsgiBundle.jar");
File simple = new File(jarDir, "simple1.jar");
- exports = AnalyzeBundle.exportedPackagesAggregated(Arrays.asList(notOsgi, simple));
+ exports = AnalyzeBundle.exportedPackagesAggregated(List.of(notOsgi, simple));
exportsByPackageName = ExportPackages.exportsByPackageName(this.exports);
}
@@ -46,45 +38,28 @@ public class AnalyzeBundleTest {
@Test
public void require_that_non_osgi_bundles_are_ignored() {
- assertThat(exportsByPackageName.keySet(), not(hasItem("com.yahoo.sample.exported.package.ignored")));
+ assertFalse(exportsByPackageName.containsKey("com.yahoo.sample.exported.package.ignored"));
}
@Test
public void require_that_exports_are_retrieved_from_manifest_in_jars() {
- assertThat(exportsByPackageName.keySet().size(), is(1));
- assertThat(exportsByPackageName.keySet(), hasItem("com.yahoo.sample.exported.package"));
+ assertEquals(1, exportsByPackageName.keySet().size());
+ assertTrue(exportsByPackageName.containsKey("com.yahoo.sample.exported.package"));
}
@Test
public void exported_class_names_can_be_retrieved() {
- assertThat(ExportPackages.packageNames(exports), is(new HashSet<>(exports.get(0).getPackageNames())));
+ assertEquals(ExportPackages.packageNames(exports), exports.get(0).getPackageNames().stream().collect(Collectors.toSet()));
}
- @Rule
- public ExpectedException exception = ExpectedException.none();
-
@Test
public void require_that_invalid_exports_throws_exception() {
- exception.expect(Exception.class);
-
- exception.expectMessage(containsString("Invalid manifest in bundle"));
- exception.expectMessage(matchesPattern("Invalid manifest in bundle '.*errorExport.jar'"));
- exception.expectCause(throwableMessage(startsWith("Failed parsing Export-Package")));
-
- AnalyzeBundle.exportedPackages(jarFile("errorExport.jar"));
- }
-
- private TypeSafeMatcher<String> matchesPattern(String pattern) {
- return new TypeSafeMatcher<String>() {
- @Override
- protected boolean matchesSafely(String s) {
- return s.matches(pattern);
- }
-
- @Override
- public void describeTo(Description description) {
- description.appendText("expects String that matches the pattern ").appendValue(pattern);
- }
- };
+ try {
+ AnalyzeBundle.exportedPackages(jarFile("errorExport.jar"));
+ fail();
+ } catch (RuntimeException e) {
+ assertTrue(e.getMessage().contains("Invalid manifest in bundle 'src/test/resources/jar/errorExport.jar'"));
+ assertTrue(e.getCause().getMessage(), e.getCause().getMessage().startsWith("Failed parsing Export-Package"));
+ }
}
}
diff --git a/bundle-plugin/src/test/java/com/yahoo/container/plugin/classanalysis/AnalyzeClassTest.java b/bundle-plugin/src/test/java/com/yahoo/container/plugin/classanalysis/AnalyzeClassTest.java
index 44ef26646f0..518f65ded17 100644
--- a/bundle-plugin/src/test/java/com/yahoo/container/plugin/classanalysis/AnalyzeClassTest.java
+++ b/bundle-plugin/src/test/java/com/yahoo/container/plugin/classanalysis/AnalyzeClassTest.java
@@ -12,28 +12,22 @@ import com.yahoo.container.plugin.classanalysis.sampleclasses.MethodAnnotation;
import com.yahoo.container.plugin.classanalysis.sampleclasses.MethodInvocation;
import com.yahoo.osgi.annotation.ExportPackage;
import com.yahoo.osgi.annotation.Version;
-import org.hamcrest.Matcher;
-import org.hamcrest.Matchers;
-import org.junit.Rule;
import org.junit.Test;
-import org.junit.rules.ExpectedException;
import javax.security.auth.login.LoginException;
import java.awt.Image;
import java.awt.image.ImagingOpException;
import java.awt.image.Kernel;
+import java.util.List;
import java.util.Optional;
import static com.yahoo.container.plugin.classanalysis.TestUtilities.analyzeClass;
import static com.yahoo.container.plugin.classanalysis.TestUtilities.classFile;
import static com.yahoo.container.plugin.classanalysis.TestUtilities.name;
-import static com.yahoo.container.plugin.classanalysis.TestUtilities.throwableMessage;
-import static org.hamcrest.Matchers.allOf;
-import static org.hamcrest.Matchers.containsString;
-import static org.hamcrest.Matchers.hasItem;
-import static org.hamcrest.Matchers.is;
-import static org.hamcrest.Matchers.not;
-import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
/**
* Tests that analysis of class files works.
@@ -45,128 +39,127 @@ public class AnalyzeClassTest {
@Test
public void require_that_full_class_name_is_returned() {
- assertThat(analyzeClass(Base.class).getName(), is(name(Base.class)));
+ assertEquals(name(Base.class), analyzeClass(Base.class).getName());
}
@Test
public void require_that_base_class_is_included() {
- assertThat(analyzeClass(Derived.class).getReferencedClasses(), hasItem(name(Base.class)));
+ assertTrue(analyzeClass(Derived.class).getReferencedClasses().contains(name(Base.class)));
}
@Test
public void require_that_implemented_interfaces_are_included() {
- assertThat(analyzeClass(Base.class).getReferencedClasses(),
- allOf(hasItem(name(Interface1.class)), hasItem(name(Interface2.class))));
+ assertTrue(analyzeClass(Base.class).getReferencedClasses().containsAll(
+ List.of(name(Interface1.class), name(Interface2.class))));
}
@Test
public void require_that_interface_can_be_analyzed() {
ClassFileMetaData classMetaData = analyzeClass(Interface1.class);
- assertThat(classMetaData.getName(), is(name(Interface1.class)));
- assertThat(classMetaData.getReferencedClasses(), hasItem(name(Interface2.class)));
+ assertEquals(name(Interface1.class), classMetaData.getName());
+ assertTrue(classMetaData.getReferencedClasses().contains(name(Interface2.class)));
}
@Test
public void require_that_return_type_is_included() {
- assertThat(analyzeClass(Interface1.class).getReferencedClasses(), hasItem(name(Image.class)));
+ assertTrue(analyzeClass(Interface1.class).getReferencedClasses().contains(name(Image.class)));
}
@Test
public void require_that_parameters_are_included() {
- assertThat(analyzeClass(Interface1.class).getReferencedClasses(), hasItem(name(Kernel.class)));
+ assertTrue(analyzeClass(Interface1.class).getReferencedClasses().contains(name(Kernel.class)));
}
@Test
public void require_that_exceptions_are_included() {
- assertThat(analyzeClass(Interface1.class).getReferencedClasses(), hasItem(name(ImagingOpException.class)));
+ assertTrue(analyzeClass(Interface1.class).getReferencedClasses().contains(name(ImagingOpException.class)));
}
@Test
public void require_that_basic_types_ignored() {
- assertThat(analyzeClass(Interface1.class).getReferencedClasses(),
- not(Matchers.<Iterable<? super String>>anyOf(hasItem("int"), hasItem("float"))));
+ List.of("int", "float").forEach(type ->
+ assertFalse(analyzeClass(Interface1.class).getReferencedClasses().contains(type)));
}
@Test
public void require_that_arrays_of_basic_types_ignored() {
- assertThat(analyzeClass(Interface1.class).getReferencedClasses(),
- not(Matchers.<Iterable<? super String>>anyOf(hasItem("int[]"), hasItem("int[][]"))));
+ List.of("int[]", "int[][]").forEach(type ->
+ assertFalse(analyzeClass(Interface1.class).getReferencedClasses().contains(type)));
}
@Test
public void require_that_instance_field_types_are_included() {
- assertThat(analyzeClass(Fields.class).getReferencedClasses(), hasItem(name(String.class)));
+ assertTrue(analyzeClass(Fields.class).getReferencedClasses().contains(name(String.class)));
}
@Test
public void require_that_static_field_types_are_included() {
- assertThat(analyzeClass(Fields.class).getReferencedClasses(), hasItem(name(java.util.List.class)));
+ assertTrue(analyzeClass(Fields.class).getReferencedClasses().contains(name(java.util.List.class)));
}
@Test
public void require_that_field_annotation_is_included() {
- assertThat(analyzeClass(Fields.class).getReferencedClasses(), hasItem(name(DummyAnnotation.class)));
+ assertTrue(analyzeClass(Fields.class).getReferencedClasses().contains(name(DummyAnnotation.class)));
}
@Test
public void require_that_class_annotation_is_included() {
- assertThat(analyzeClass(ClassAnnotation.class).getReferencedClasses(), hasItem(name(DummyAnnotation.class)));
+ assertTrue(analyzeClass(ClassAnnotation.class).getReferencedClasses().contains(name(DummyAnnotation.class)));
}
@Test
public void require_that_method_annotation_is_included() {
- assertThat(analyzeClass(MethodAnnotation.class).getReferencedClasses(), hasItem(name(DummyAnnotation.class)));
+ assertTrue(analyzeClass(MethodAnnotation.class).getReferencedClasses().contains(name(DummyAnnotation.class)));
}
@Test
public void require_that_export_package_annotations_are_ignored() {
- assertThat(Analyze.analyzeClass(classFile("com.yahoo.container.plugin.classanalysis.sampleclasses.package-info"))
- .getReferencedClasses(), not(Matchers.<Iterable<? super String>>anyOf(
- hasItem(name(ExportPackage.class)), hasItem(name(Version.class)))));
+ List.of(ExportPackage.class, Version.class).forEach(type ->
+ assertFalse(Analyze.analyzeClass(classFile("com.yahoo.container.plugin.classanalysis.sampleclasses.package-info"))
+ .getReferencedClasses().contains(type)));
}
@Test
public void require_that_export_annotations_are_processed() {
- assertThat(
- Analyze.analyzeClass(classFile("com.yahoo.container.plugin.classanalysis.sampleclasses.package-info")).getExportPackage(),
- is(Optional.of(new ExportPackageAnnotation(3, 1, 4, "TEST_QUALIFIER-2"))));
+ assertEquals(Optional.of(new ExportPackageAnnotation(3, 1, 4, "TEST_QUALIFIER-2")),
+ Analyze.analyzeClass(classFile("com.yahoo.container.plugin.classanalysis.sampleclasses.package-info")).getExportPackage());
}
- @Rule
- public ExpectedException expectedException = ExpectedException.none();
-
@Test
public void require_that_export_annotations_are_validated() {
- expectedException.expect(RuntimeException.class);
- expectedException.expectMessage(containsString("invalid/package-info"));
- expectedException.expectCause(throwableMessage(containsString("qualifier must follow the format")));
- expectedException.expectCause(throwableMessage(containsString("'EXAMPLE INVALID QUALIFIER'")));
- Analyze.analyzeClass(classFile("com.yahoo.container.plugin.classanalysis.sampleclasses.invalid.package-info"));
+ try {
+ Analyze.analyzeClass(classFile("com.yahoo.container.plugin.classanalysis.sampleclasses.invalid.package-info"));
+ fail();
+ } catch (RuntimeException e) {
+ assertTrue(e.getMessage().contains("invalid/package-info"));
+ assertTrue(e.getCause().getMessage().contains("qualifier must follow the format"));
+ assertTrue(e.getCause().getMessage().contains("'EXAMPLE INVALID QUALIFIER'"));
+ }
}
@Test
public void require_that_catch_clauses_are_included() {
- assertThat(Analyze.analyzeClass(classFile("com.yahoo.container.plugin.classanalysis.sampleclasses.CatchException"))
- .getReferencedClasses(), hasItem(name(LoginException.class)));
+ assertTrue(Analyze.analyzeClass(classFile("com.yahoo.container.plugin.classanalysis.sampleclasses.CatchException"))
+ .getReferencedClasses().contains(name(LoginException.class)));
}
@Test
public void require_that_class_references_are_included() {
- assertThat(Analyze.analyzeClass(classFile("com.yahoo.container.plugin.classanalysis.sampleclasses.ClassReference"))
- .getReferencedClasses(), hasItem(name(Interface1.class)));
+ assertTrue(Analyze.analyzeClass(classFile("com.yahoo.container.plugin.classanalysis.sampleclasses.ClassReference"))
+ .getReferencedClasses().contains(name(Interface1.class)));
}
@Test
public void require_that_return_type_of_method_invocations_are_included() {
- assertThat(analyzeClass(MethodInvocation.class).getReferencedClasses(), hasItem(name(Image.class)));
+ assertTrue(analyzeClass(MethodInvocation.class).getReferencedClasses().contains(name(Image.class)));
}
@Test
public void require_that_attributes_are_included() {
//Uses com/coremedia/iso/Utf8.class from com.googlecode.mp4parser:isoparser:1.0-RC-1
- assertThat(Analyze.analyzeClass(classFile("class/Utf8")).getReferencedClasses(),
- hasItem("org.aspectj.weaver.MethodDeclarationLineNumber"));
+ assertTrue(Analyze.analyzeClass(classFile("class/Utf8")).getReferencedClasses()
+ .contains("org.aspectj.weaver.MethodDeclarationLineNumber"));
}
}
diff --git a/bundle-plugin/src/test/java/com/yahoo/container/plugin/classanalysis/AnalyzeMethodBodyTest.java b/bundle-plugin/src/test/java/com/yahoo/container/plugin/classanalysis/AnalyzeMethodBodyTest.java
index b7565a4dad8..4502f88d158 100644
--- a/bundle-plugin/src/test/java/com/yahoo/container/plugin/classanalysis/AnalyzeMethodBodyTest.java
+++ b/bundle-plugin/src/test/java/com/yahoo/container/plugin/classanalysis/AnalyzeMethodBodyTest.java
@@ -11,13 +11,12 @@ import com.yahoo.container.plugin.classanalysis.sampleclasses.Methods;
import org.junit.Test;
import java.io.PrintStream;
+import java.util.List;
import static com.yahoo.container.plugin.classanalysis.TestUtilities.analyzeClass;
import static com.yahoo.container.plugin.classanalysis.TestUtilities.name;
-import static org.hamcrest.Matchers.allOf;
-import static org.hamcrest.Matchers.hasItem;
-import static org.hamcrest.Matchers.not;
-import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
/**
* Tests that classes used in method bodies are included in the imports list.
@@ -27,47 +26,46 @@ import static org.junit.Assert.assertThat;
public class AnalyzeMethodBodyTest {
@Test
public void require_that_class_of_locals_are_included() {
- assertThat(analyzeClass(Methods.class).getReferencedClasses(), hasItem(name(Base.class)));
+ assertTrue(analyzeClass(Methods.class).getReferencedClasses().contains(name(Base.class)));
}
@Test
public void require_that_class_of_locals_in_static_method_are_included() {
- assertThat(analyzeClass(Methods.class).getReferencedClasses(), hasItem(name(Derived.class)));
+ assertTrue(analyzeClass(Methods.class).getReferencedClasses().contains(name(Derived.class)));
}
@Test
public void require_that_field_references_are_included() {
- assertThat(analyzeClass(Methods.class).getReferencedClasses(),
- allOf(hasItem(name(java.util.List.class)), hasItem(name(Fields.class))));
+ assertTrue(analyzeClass(Methods.class).getReferencedClasses().containsAll(List.of(name(java.util.List.class), name(Fields.class))));
}
@Test
public void require_that_class_owning_field_is_included() {
- assertThat(analyzeClass(Methods.class).getReferencedClasses(), hasItem(name(System.class)));
+ assertTrue(analyzeClass(Methods.class).getReferencedClasses().contains(name(System.class)));
}
@Test
public void require_that_class_containing_method_is_included() {
- assertThat(analyzeClass(Methods.class).getReferencedClasses(), hasItem(name(PrintStream.class)));
+ assertTrue(analyzeClass(Methods.class).getReferencedClasses().contains(name(PrintStream.class)));
}
@Test
public void require_that_element_of_new_multidimensional_array_is_included() {
- assertThat(analyzeClass(Methods.class).getReferencedClasses(), hasItem(name(Interface1.class)));
+ assertTrue(analyzeClass(Methods.class).getReferencedClasses().contains(name(Interface1.class)));
}
@Test
public void require_that_basic_arrays_are_not_included() {
- assertThat(analyzeClass(Methods.class).getReferencedClasses(), not(hasItem("int[]")));
+ assertFalse(analyzeClass(Methods.class).getReferencedClasses().contains("int[]"));
}
@Test
public void require_that_container_generic_parameters_are_included() {
- assertThat(analyzeClass(Methods.class).getReferencedClasses(), hasItem(name(Dummy.class)));
+ assertTrue(analyzeClass(Methods.class).getReferencedClasses().contains(name(Dummy.class)));
}
@Test
public void require_that_class_owning_method_handler_is_included() {
- assertThat(analyzeClass(Methods.class).getReferencedClasses(), hasItem(name(ClassWithMethod.class)));
+ assertTrue(analyzeClass(Methods.class).getReferencedClasses().contains(name(ClassWithMethod.class)));
}
}
diff --git a/bundle-plugin/src/test/java/com/yahoo/container/plugin/classanalysis/PackageTallyTest.java b/bundle-plugin/src/test/java/com/yahoo/container/plugin/classanalysis/PackageTallyTest.java
index cfee980cb91..5bef1457c5f 100644
--- a/bundle-plugin/src/test/java/com/yahoo/container/plugin/classanalysis/PackageTallyTest.java
+++ b/bundle-plugin/src/test/java/com/yahoo/container/plugin/classanalysis/PackageTallyTest.java
@@ -3,11 +3,10 @@ package com.yahoo.container.plugin.classanalysis;
import org.junit.Test;
+import java.util.Map;
import java.util.Set;
-import static java.util.Collections.emptyMap;
-import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertEquals;
/**
* @author gjoranv
@@ -16,9 +15,9 @@ public class PackageTallyTest {
@Test
public void referenced_packages_missing_from_are_detected() {
- PackageTally tally = new PackageTally(emptyMap(), Set.of("p1", "java.util", "com.yahoo.api.annotations", "missing"));
+ PackageTally tally = new PackageTally(Map.of(), Set.of("p1", "java.util", "com.yahoo.api.annotations", "missing"));
Set<String> missingPackages = tally.referencedPackagesMissingFrom(Set.of("p1"));
- assertThat(missingPackages, is(Set.of("missing")));
+ assertEquals(Set.of("missing"), missingPackages);
}
}
diff --git a/bundle-plugin/src/test/java/com/yahoo/container/plugin/classanalysis/TestUtilities.java b/bundle-plugin/src/test/java/com/yahoo/container/plugin/classanalysis/TestUtilities.java
index f0784cf80bc..9eacc0625b5 100644
--- a/bundle-plugin/src/test/java/com/yahoo/container/plugin/classanalysis/TestUtilities.java
+++ b/bundle-plugin/src/test/java/com/yahoo/container/plugin/classanalysis/TestUtilities.java
@@ -1,10 +1,6 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.container.plugin.classanalysis;
-import org.hamcrest.Description;
-import org.hamcrest.Matcher;
-import org.hamcrest.TypeSafeMatcher;
-
import java.io.File;
/**
@@ -23,18 +19,4 @@ public class TestUtilities {
public static String name(Class<?> clazz) {
return clazz.getName();
}
-
- public static TypeSafeMatcher<Throwable> throwableMessage(final Matcher<String> matcher) {
- return new TypeSafeMatcher<Throwable>() {
- @Override
- protected boolean matchesSafely(Throwable throwable) {
- return matcher.matches(throwable.getMessage());
- }
-
- @Override
- public void describeTo(Description description) {
- description.appendText("expects Throwable and a message matching ").appendDescriptionOf(matcher);
- }
- };
- }
}
diff --git a/bundle-plugin/src/test/java/com/yahoo/container/plugin/osgi/ExportPackageParserTest.java b/bundle-plugin/src/test/java/com/yahoo/container/plugin/osgi/ExportPackageParserTest.java
index cb976e46655..2c9b32a325f 100644
--- a/bundle-plugin/src/test/java/com/yahoo/container/plugin/osgi/ExportPackageParserTest.java
+++ b/bundle-plugin/src/test/java/com/yahoo/container/plugin/osgi/ExportPackageParserTest.java
@@ -3,17 +3,13 @@ package com.yahoo.container.plugin.osgi;
import com.yahoo.container.plugin.osgi.ExportPackages.Export;
import com.yahoo.container.plugin.osgi.ExportPackages.Parameter;
-import org.hamcrest.Description;
-import org.hamcrest.TypeSafeMatcher;
import org.junit.Ignore;
import org.junit.Test;
import java.util.List;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.Matchers.contains;
-import static org.hamcrest.Matchers.empty;
-import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.assertEquals;
/**
* @author Tony Vaagenes
@@ -26,41 +22,41 @@ public class ExportPackageParserTest {
public void require_that_package_is_parsed_correctly() {
List<Export> exports = ExportPackageParser.parseExports("sample.exported.package");
- assertThat(exports.size(), is(1));
- assertThat(exports.get(0).getParameters(), empty());
- assertThat(exports.get(0).getPackageNames(), contains("sample.exported.package"));
+ assertEquals(1, exports.size());
+ assertTrue(exports.get(0).getParameters().isEmpty());
+ assertTrue(exports.get(0).getPackageNames().contains("sample.exported.package"));
}
@Test
public void require_that_version_is_parsed_correctly() {
List<Export> exports = ExportPackageParser.parseExports("com.yahoo.sample.exported.package;version=\"1.2.3.sample\"");
- assertThat(exports.size(), is(1));
+ assertEquals(1, exports.size());
Export export = exports.get(0);
- assertThat(export.getPackageNames(), contains("com.yahoo.sample.exported.package"));
- assertThat(export.getParameters(), contains(parameterMatching(versionParameter)));
+ assertTrue(export.getPackageNames().contains("com.yahoo.sample.exported.package"));
+ assertTrue(export.getParameters().contains(versionParameter));
}
@Test
public void require_that_multiple_packages_with_same_parameters_is_parsed_correctly() {
List<Export> exports = ExportPackageParser.parseExports("exported.package1;exported.package2;version=\"1.2.3.sample\"");
- assertThat(exports.size(), is(1));
+ assertEquals(1, exports.size());
Export export = exports.get(0);
- assertThat(export.getPackageNames(), contains("exported.package1", "exported.package2"));
- assertThat(export.getParameters(), contains(parameterMatching(versionParameter)));
+ assertTrue(export.getPackageNames().containsAll(List.of("exported.package1", "exported.package2")));
+ assertTrue(export.getParameters().contains(versionParameter));
}
@Test
public void require_that_spaces_between_separators_are_allowed() {
List<Export> exports = ExportPackageParser.parseExports("exported.package1 , exported.package2 ; version = \"1.2.3.sample\" ");
- assertThat(exports.size(), is(2));
+ assertEquals(2, exports.size());
Export export = exports.get(0);
- assertThat(export.getPackageNames(), contains("exported.package1"));
+ assertTrue(export.getPackageNames().contains("exported.package1"));
export = exports.get(1);
- assertThat(export.getPackageNames(), contains("exported.package2"));
- assertThat(export.getParameters(), contains(parameterMatching(versionParameter)));
+ assertTrue(export.getPackageNames().contains("exported.package2"));
+ assertTrue(export.getParameters().contains(versionParameter));
}
@SuppressWarnings("unchecked")
@@ -68,39 +64,39 @@ public class ExportPackageParserTest {
public void require_that_multiple_parameters_for_a_package_is_parsed_correctly() {
List<Export> exports = ExportPackageParser.parseExports("exported.package;version=\"1.2.3.sample\";param2=true");
- assertThat(exports.size(), is(1));
+ assertEquals(1, exports.size());
Export export = exports.get(0);
- assertThat(export.getParameters(), contains(parameterMatching(versionParameter), parameterMatching("param2", "true")));
+ assertTrue(export.getParameters().containsAll(List.of(versionParameter, new Parameter("param2", "true"))));
}
@Test
public void require_that_multiple_exports_are_parsed_correctly() {
List<Export> exports = ExportPackageParser.parseExports("exported.package1,exported.package2");
- assertThat(exports.size(), is(2));
+ assertEquals(2, exports.size());
Export export = exports.get(0);
- assertThat(export.getPackageNames(), contains("exported.package1"));
- assertThat(export.getParameters(), empty());
+ assertTrue(export.getPackageNames().contains("exported.package1"));
+ assertTrue(export.getParameters().isEmpty());
export = exports.get(1);
- assertThat(export.getPackageNames(), contains("exported.package2"));
- assertThat(export.getParameters(), empty());
+ assertTrue(export.getPackageNames().contains("exported.package2"));
+ assertTrue(export.getParameters().isEmpty());
exports = ExportPackageParser.parseExports("exported.package1;version=\"1.2.3.sample\",exported.package2");
- assertThat(exports.size(), is(2));
+ assertEquals(2, exports.size());
export = exports.get(0);
- assertThat(export.getPackageNames(), contains("exported.package1"));
- assertThat(export.getParameters(), contains(parameterMatching(versionParameter)));
+ assertTrue(export.getPackageNames().contains("exported.package1"));
+ assertTrue(export.getParameters().contains(versionParameter));
export = exports.get(1);
- assertThat(export.getPackageNames(), contains("exported.package2"));
- assertThat(export.getParameters(), empty());
+ assertTrue(export.getPackageNames().contains("exported.package2"));
+ assertTrue(export.getParameters().isEmpty());
exports = ExportPackageParser.parseExports("exported.package1,exported.package2;version=\"1.2.3.sample\"");
- assertThat(exports.size(), is(2));
+ assertEquals(2, exports.size());
export = exports.get(0);
- assertThat(export.getPackageNames(), contains("exported.package1"));
- assertThat(export.getParameters(), empty());
+ assertTrue(export.getPackageNames().contains("exported.package1"));
+ assertTrue(export.getParameters().isEmpty());
export = exports.get(1);
- assertThat(export.getPackageNames(), contains("exported.package2"));
- assertThat(export.getParameters(), contains(parameterMatching(versionParameter)));
+ assertTrue(export.getPackageNames().contains("exported.package2"));
+ assertTrue(export.getParameters().contains(versionParameter));
}
// TODO: MAVEN_OPTS are not propagated by the maven-surefire-plugin. Either try to fix the underlying problem or set -Xss in plugin config.
@@ -278,21 +274,4 @@ public class ExportPackageParserTest {
ExportPackageParser.parseExports(exportHeader);
}
- private static TypeSafeMatcher<Parameter> parameterMatching(final String name, final String value) {
- return new TypeSafeMatcher<Parameter>() {
- @Override
- protected boolean matchesSafely(Parameter parameter) {
- return parameter.getName().equals(name) && parameter.getValue().equals(value);
- }
-
- @Override
- public void describeTo(Description description) {
- description.appendText("Parameter with name ").appendValue(name).appendText(" with value ").appendValue(value);
- }
- };
- }
-
- private static TypeSafeMatcher<Parameter> parameterMatching(final Parameter param) {
- return parameterMatching(param.getName(), param.getValue());
- }
}
diff --git a/bundle-plugin/src/test/java/com/yahoo/container/plugin/osgi/ImportPackageTest.java b/bundle-plugin/src/test/java/com/yahoo/container/plugin/osgi/ImportPackageTest.java
index d6b5b0fe9e0..ee7b6c9c2f1 100644
--- a/bundle-plugin/src/test/java/com/yahoo/container/plugin/osgi/ImportPackageTest.java
+++ b/bundle-plugin/src/test/java/com/yahoo/container/plugin/osgi/ImportPackageTest.java
@@ -4,25 +4,19 @@ package com.yahoo.container.plugin.osgi;
import com.yahoo.container.plugin.osgi.ExportPackages.Export;
import com.yahoo.container.plugin.osgi.ExportPackages.Parameter;
import com.yahoo.container.plugin.osgi.ImportPackages.Import;
-import org.hamcrest.Description;
-import org.hamcrest.TypeSafeMatcher;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
import java.util.Collections;
import java.util.HashSet;
+import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
-import static java.util.Collections.emptyMap;
-import static java.util.Collections.emptySet;
-import static java.util.Collections.singletonList;
-import static org.hamcrest.Matchers.contains;
-import static org.hamcrest.Matchers.empty;
-import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
/**
* @author Tony Vaagenes
@@ -30,58 +24,56 @@ import static org.junit.Assert.assertThat;
*/
public class ImportPackageTest {
private static final String PACKAGE_NAME = "com.yahoo.exported";
- private Set<String> referencedPackages = Collections.singleton(PACKAGE_NAME);
- private Map<String, Export> exports = exportByPackageName(new Export(singletonList(PACKAGE_NAME), Collections.emptyList()));
- private Map<String, Export> exportsWithVersion = exportByPackageName(
- new Export(singletonList(PACKAGE_NAME), singletonList(new Parameter("version", "1.3"))));
+ private final Set<String> referencedPackages = Collections.singleton(PACKAGE_NAME);
+ private final Map<String, Export> exports = exportByPackageName(new Export(List.of(PACKAGE_NAME), Collections.emptyList()));
+ private final Map<String, Export> exportsWithVersion = exportByPackageName(
+ new Export(List.of(PACKAGE_NAME), List.of(new Parameter("version", "1.3"))));
private static Map<String, Export> exportByPackageName(Export export) {
- return ExportPackages.exportsByPackageName(singletonList(export));
+ return ExportPackages.exportsByPackageName(List.of(export));
}
@Test
public void require_that_non_implemented_import_with_matching_export_is_included() {
- Set<Import> imports = calculateImports(referencedPackages, emptySet(), exports);
- assertThat(imports, contains(importMatching(PACKAGE_NAME, "")));
+ Set<Import> imports = calculateImports(referencedPackages, Set.of(), exports);
+ assertEquals(1, imports.stream().filter(imp -> imp.packageName().equals(PACKAGE_NAME) && imp.version().isEmpty()).count());
}
@Test
public void require_that_non_implemented_import_without_matching_export_is_excluded() {
- Set<Import> imports = calculateImports(referencedPackages, emptySet(), emptyMap());
- assertThat(imports, empty());
+ Set<Import> imports = calculateImports(referencedPackages, Set.of(), Map.of());
+ assertTrue(imports.isEmpty());
}
@Test
public void require_that_implemented_import_with_matching_export_is_excluded() {
Set<Import> imports = calculateImports(referencedPackages, referencedPackages, exports);
-
- assertThat(imports, empty());
+ assertTrue(imports.isEmpty());
}
@Test
public void require_that_version_is_included() {
- Set<Import> imports = calculateImports(referencedPackages, emptySet(), exportsWithVersion);
-
- assertThat(imports, contains(importMatching(PACKAGE_NAME, "1.3")));
+ Set<Import> imports = calculateImports(referencedPackages, Set.of(), exportsWithVersion);
+ assertEquals(1, imports.stream().filter(imp -> imp.packageName().equals(PACKAGE_NAME) && imp.version().equals("1.3")).count());
}
@Test
public void require_that_all_versions_up_to_the_next_major_version_is_in_range() {
- assertThat(new Import("foo", Optional.of("1.2")).importVersionRange().get(), is("[1.2,2)"));
+ assertEquals("[1.2,2)", new Import("foo", Optional.of("1.2")).importVersionRange().get());
}
// TODO: Detecting guava packages should be based on bundle-symbolicName, not package name.
@Test
public void require_that_for_guava_all_future_major_versions_are_in_range() {
Optional<String> rangeWithInfiniteUpperLimit = Optional.of("[18.1," + ImportPackages.INFINITE_VERSION + ")");
- assertThat(new Import("com.google.common", Optional.of("18.1")).importVersionRange(), is(rangeWithInfiniteUpperLimit));
- assertThat(new Import("com.google.common.foo", Optional.of("18.1")).importVersionRange(), is(rangeWithInfiniteUpperLimit));
- assertThat(new Import("com.google.commonality", Optional.of("18.1")).importVersionRange(), is(Optional.of("[18.1,19)")));
+ assertEquals(rangeWithInfiniteUpperLimit, new Import("com.google.common", Optional.of("18.1")).importVersionRange());
+ assertEquals(rangeWithInfiniteUpperLimit, new Import("com.google.common.foo", Optional.of("18.1")).importVersionRange());
+ assertEquals(Optional.of("[18.1,19)"), new Import("com.google.commonality", Optional.of("18.1")).importVersionRange());
}
@Test
public void require_that_none_version_gives_non_version_range() {
- assertThat(new Import("foo", Optional.empty()).importVersionRange(), is(Optional.empty()));
+ assertTrue(new Import("foo", Optional.empty()).importVersionRange().isEmpty());
}
@Rule
@@ -95,18 +87,17 @@ public class ImportPackageTest {
@Test
public void require_that_osgi_import_supports_missing_version() {
- assertThat(new Import("com.yahoo.exported", Optional.empty()).asOsgiImport(), is("com.yahoo.exported"));
+ assertEquals("com.yahoo.exported", new Import("com.yahoo.exported", Optional.empty()).asOsgiImport());
}
@Test
public void require_that_osgi_import_version_range_includes_all_versions_from_the_current_up_to_the_next_major_version() {
- assertThat(new Import("com.yahoo.exported", Optional.of("1.2")).asOsgiImport(), is("com.yahoo.exported;version=\"[1.2,2)\""));
+ assertEquals("com.yahoo.exported;version=\"[1.2,2)\"", new Import("com.yahoo.exported", Optional.of("1.2")).asOsgiImport());
}
@Test
public void require_that_osgi_import_version_range_ignores_qualifier() {
- assertThat(new Import("com.yahoo.exported", Optional.of("1.2.3.qualifier")).asOsgiImport(),
- is("com.yahoo.exported;version=\"[1.2.3,2)\""));
+ assertEquals("com.yahoo.exported;version=\"[1.2.3,2)\"", new Import("com.yahoo.exported", Optional.of("1.2.3.qualifier")).asOsgiImport());
}
private static Set<Import> calculateImports(Set<String> referencedPackages,
@@ -114,18 +105,4 @@ public class ImportPackageTest {
Map<String, Export> exportedPackages) {
return new HashSet<>(ImportPackages.calculateImports(referencedPackages, implementedPackages, exportedPackages).values());
}
-
- private static TypeSafeMatcher<Import> importMatching(String packageName, String version) {
- return new TypeSafeMatcher<Import>() {
- @Override
- protected boolean matchesSafely(Import anImport) {
- return anImport.packageName().equals(packageName) && anImport.version().equals(version);
- }
-
- @Override
- public void describeTo(Description description) {
- description.appendText("an Import of package ").appendValue(packageName).appendText(" with version ").appendValue(version);
- }
- };
- }
}
diff --git a/container-disc/src/test/java/com/yahoo/container/jdisc/FilterBindingsProviderTest.java b/container-disc/src/test/java/com/yahoo/container/jdisc/FilterBindingsProviderTest.java
index b45fc037ca8..70e956480ed 100644
--- a/container-disc/src/test/java/com/yahoo/container/jdisc/FilterBindingsProviderTest.java
+++ b/container-disc/src/test/java/com/yahoo/container/jdisc/FilterBindingsProviderTest.java
@@ -11,9 +11,12 @@ import com.yahoo.jdisc.http.filter.ResponseFilter;
import com.yahoo.jdisc.http.server.jetty.FilterBindings;
import org.junit.Test;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
-import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.Assert.fail;
import static org.mockito.Mockito.mock;
@@ -95,10 +98,10 @@ public class FilterBindingsProviderTest {
// Verify.
assertNotNull(filterBindings);
- assertThat(filterBindings.requestFilters())
- .containsExactlyInAnyOrder(requestFilter1Instance, requestFilter2Instance);
- assertThat(filterBindings.responseFilters())
- .containsExactlyInAnyOrder(responseFilter1Instance, responseFilter3Instance);
+ assertEquals(filterBindings.requestFilters().stream().collect(Collectors.toSet()),
+ Set.of(requestFilter1Instance, requestFilter2Instance));
+ assertEquals(filterBindings.responseFilters().stream().collect(Collectors.toSet()),
+ Set.of(responseFilter1Instance, responseFilter3Instance));
}
private interface DualRoleFilter extends RequestFilter, ResponseFilter {}
diff --git a/searchlib/src/test/java/com/yahoo/searchlib/expression/FloatBucketResultNodeTestCase.java b/searchlib/src/test/java/com/yahoo/searchlib/expression/FloatBucketResultNodeTestCase.java
index 1acfb3cdc7e..78db838cefe 100644
--- a/searchlib/src/test/java/com/yahoo/searchlib/expression/FloatBucketResultNodeTestCase.java
+++ b/searchlib/src/test/java/com/yahoo/searchlib/expression/FloatBucketResultNodeTestCase.java
@@ -3,8 +3,9 @@ package com.yahoo.searchlib.expression;
import org.junit.Test;
-import static org.hamcrest.core.Is.is;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
/**
* @author Ulf Lilleengen
diff --git a/searchlib/src/test/java/com/yahoo/searchlib/expression/IntegerBucketResultNodeTestCase.java b/searchlib/src/test/java/com/yahoo/searchlib/expression/IntegerBucketResultNodeTestCase.java
index c038a207ba2..00c0739ed9a 100644
--- a/searchlib/src/test/java/com/yahoo/searchlib/expression/IntegerBucketResultNodeTestCase.java
+++ b/searchlib/src/test/java/com/yahoo/searchlib/expression/IntegerBucketResultNodeTestCase.java
@@ -1,12 +1,10 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.searchlib.expression;
-import com.yahoo.vespa.objects.BufferSerializer;
import org.junit.Test;
-import static org.hamcrest.core.Is.is;
+import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
/**
@@ -25,8 +23,8 @@ public class IntegerBucketResultNodeTestCase extends ResultNodeTest {
@Test
public void testRange() {
IntegerBucketResultNode bucket = new IntegerBucketResultNode(4, 10);
- assertThat(bucket.getFrom(), is(4l));
- assertThat(bucket.getTo(), is(10l));
+ assertEquals(4, bucket.getFrom());
+ assertEquals(10, bucket.getTo());
assertFalse(bucket.empty());
assertTrue(dumpNode(bucket).contains("from: 4"));
assertTrue(dumpNode(bucket).contains("to: 10"));
diff --git a/searchlib/src/test/java/com/yahoo/searchlib/expression/IntegerResultNodeTestCase.java b/searchlib/src/test/java/com/yahoo/searchlib/expression/IntegerResultNodeTestCase.java
index b081506dca8..744df472fb2 100644
--- a/searchlib/src/test/java/com/yahoo/searchlib/expression/IntegerResultNodeTestCase.java
+++ b/searchlib/src/test/java/com/yahoo/searchlib/expression/IntegerResultNodeTestCase.java
@@ -1,17 +1,14 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.searchlib.expression;
-import com.yahoo.vespa.objects.BufferSerializer;
-import com.yahoo.vespa.objects.ObjectDumper;
import org.junit.Test;
import java.lang.reflect.InvocationTargetException;
import java.util.Arrays;
import java.util.List;
-import static org.hamcrest.core.Is.is;
+import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
/**
@@ -29,52 +26,52 @@ public class IntegerResultNodeTestCase extends ResultNodeTest {
@Test
public void testClassId() {
- assertThat(new Int8ResultNode().getClassId(), is(Int8ResultNode.classId));
- assertThat(new Int16ResultNode().getClassId(), is(Int16ResultNode.classId));
- assertThat(new Int32ResultNode().getClassId(), is(Int32ResultNode.classId));
- assertThat(new IntegerResultNode().getClassId(), is(IntegerResultNode.classId));
- assertThat(new BoolResultNode().getClassId(), is(BoolResultNode.classId));
+ assertEquals(Int8ResultNode.classId, new Int8ResultNode().getClassId());
+ assertEquals(Int16ResultNode.classId, new Int16ResultNode().getClassId());
+ assertEquals(Int32ResultNode.classId, new Int32ResultNode().getClassId());
+ assertEquals(IntegerResultNode.classId, new IntegerResultNode().getClassId());
+ assertEquals(BoolResultNode.classId, new BoolResultNode().getClassId());
}
@Test
public void testTypeConversion() {
for (NumericResultNode node : getResultNodes(3)) {
- assertThat(node.getInteger(), is(3l));
- assertEquals(node.getFloat(), 3.0, 0.01);
- assertThat(node.getRaw(), is(new byte[]{0, 0, 0, 0, 0, 0, 0, (byte) 3}));
- assertThat(node.getString(), is("3"));
- assertThat(node.getNumber().toString(), is("3"));
+ assertEquals(3, node.getInteger());
+ assertEquals(3.0, node.getFloat(), 0.01);
+ assertArrayEquals(new byte[]{0, 0, 0, 0, 0, 0, 0, (byte) 3}, node.getRaw());
+ assertEquals("3", node.getString());
+ assertEquals("3", node.getNumber().toString());
}
}
@Test
public void testMath() {
for (NumericResultNode node : getResultNodes(5)) {
- assertThat(node.getInteger(), is(5l));
+ assertEquals(5, node.getInteger());
node.negate();
- assertThat(node.getInteger(), is(-5l));
+ assertEquals(-5, node.getInteger());
node.multiply(new Int32ResultNode(3));
- assertThat(node.getInteger(), is(-15l));
+ assertEquals(-15, node.getInteger());
node.add(new Int32ResultNode(1));
- assertThat(node.getInteger(), is(-14l));
+ assertEquals(-14, node.getInteger());
node.divide(new Int32ResultNode(2));
- assertThat(node.getInteger(), is(-7l));
+ assertEquals(-7, node.getInteger());
node.modulo(new Int32ResultNode(3));
- assertThat(node.getInteger(), is(-1l));
+ assertEquals(-1, node.getInteger());
node.min(new Int32ResultNode(2));
- assertThat(node.getInteger(), is(-1l));
+ assertEquals(-1, node.getInteger());
node.min(new Int32ResultNode(-2));
- assertThat(node.getInteger(), is(-2l));
+ assertEquals(-2, node.getInteger());
node.max(new Int32ResultNode(-4));
- assertThat(node.getInteger(), is(-2l));
+ assertEquals(-2, node.getInteger());
node.max(new Int32ResultNode(4));
- assertThat(node.getInteger(), is(4l));
- assertThat(node.onCmp(new Int32ResultNode(3)), is(1));
- assertThat(node.onCmp(new Int32ResultNode(4)), is(0));
- assertThat(node.onCmp(new Int32ResultNode(5)), is(-1));
+ assertEquals(4, node.getInteger());
+ assertEquals(1, node.onCmp(new Int32ResultNode(3)));
+ assertEquals(0, node.onCmp(new Int32ResultNode(4)));
+ assertEquals(-1, node.onCmp(new Int32ResultNode(5)));
node.set(new Int32ResultNode(8));
- assertThat(node.getInteger(), is(8l));
- assertThat(node.hashCode(), is((int)(8 + node.getClassId())));
+ assertEquals(8, node.getInteger());
+ assertEquals(8 + node.getClassId(), node.hashCode());
assertTrue(dumpNode(node).contains("value: 8"));
}
}
@@ -95,37 +92,37 @@ public class IntegerResultNodeTestCase extends ResultNodeTest {
public void testInt8() {
Int8ResultNode node = new Int8ResultNode();
node.setValue((byte) 5);
- assertThat(node.getInteger(), is(5l));
+ assertEquals(5, node.getInteger());
}
@Test
public void testInt16() {
Int16ResultNode node = new Int16ResultNode();
node.setValue((short)5);
- assertThat(node.getInteger(), is(5l));
+ assertEquals(5, node.getInteger());
}
@Test
public void testInt32() {
Int32ResultNode node = new Int32ResultNode();
node.setValue(5);
- assertThat(node.getInteger(), is(5l));
+ assertEquals(5, node.getInteger());
}
@Test
public void testLong() {
IntegerResultNode node = new IntegerResultNode();
node.setValue(5);
- assertThat(node.getInteger(), is(5l));
+ assertEquals(5, node.getInteger());
}
@Test
public void testSerialization() throws IllegalAccessException, InstantiationException, NoSuchMethodException, InvocationTargetException {
for (NumericResultNode node : getResultNodes(8)) {
- assertThat(node.getInteger(), is(8L));
+ assertEquals(8, node.getInteger());
NumericResultNode out = node.getClass().getConstructor().newInstance();
assertCorrectSerialization(node, out);
- assertThat(out.getInteger(), is(node.getInteger()));
+ assertEquals(out.getInteger(), node.getInteger());
}
}
}
diff --git a/searchlib/src/test/java/com/yahoo/searchlib/expression/NullResultNodeTestCase.java b/searchlib/src/test/java/com/yahoo/searchlib/expression/NullResultNodeTestCase.java
index ff2af418ad4..64c30769f60 100644
--- a/searchlib/src/test/java/com/yahoo/searchlib/expression/NullResultNodeTestCase.java
+++ b/searchlib/src/test/java/com/yahoo/searchlib/expression/NullResultNodeTestCase.java
@@ -3,13 +3,8 @@ package com.yahoo.searchlib.expression;
import com.yahoo.vespa.objects.ObjectDumper;
import org.junit.Test;
-
-import java.util.regex.Pattern;
-
-import static org.hamcrest.core.Is.is;
-import static org.hamcrest.core.IsNot.not;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertTrue;
/**
@@ -20,17 +15,17 @@ public class NullResultNodeTestCase {
@Test
public void testNullResultNode() {
NullResultNode nullRes = new NullResultNode();
- assertThat(nullRes.onGetClassId(), is(NullResultNode.classId));
- assertThat(nullRes.getInteger(), is(0l));
- assertThat(nullRes.getString(), is(""));
- assertThat(nullRes.getRaw(), is(new byte[0]));
- assertEquals(nullRes.getFloat(), 0.0, 0.01);
- assertThat(nullRes.onCmp(new NullResultNode()), is(0));
- assertThat(nullRes.onCmp(new IntegerResultNode(0)), is(not(0)));
+ assertEquals(NullResultNode.classId, nullRes.onGetClassId());
+ assertEquals(0, nullRes.getInteger());
+ assertTrue(nullRes.getString().isEmpty());
+ assertEquals(0, nullRes.getRaw().length);
+ assertEquals(0.0, nullRes.getFloat(), 0.01);
+ assertEquals(0, nullRes.onCmp(new NullResultNode()));
+ assertNotEquals(0, nullRes.onCmp(new IntegerResultNode(0)));
ObjectDumper dumper = new ObjectDumper();
nullRes.visitMembers(dumper);
assertTrue(dumper.toString().contains("result: <NULL>"));
nullRes.set(new IntegerResultNode(3));
- assertThat(nullRes.onCmp(new IntegerResultNode(3)), is(not(0)));
+ assertNotEquals(0, nullRes.onCmp(new IntegerResultNode(3)));
}
}
diff --git a/searchlib/src/test/java/com/yahoo/searchlib/expression/RawBucketResultNodeTestCase.java b/searchlib/src/test/java/com/yahoo/searchlib/expression/RawBucketResultNodeTestCase.java
index eef4f225778..ab9fb2e2e50 100644
--- a/searchlib/src/test/java/com/yahoo/searchlib/expression/RawBucketResultNodeTestCase.java
+++ b/searchlib/src/test/java/com/yahoo/searchlib/expression/RawBucketResultNodeTestCase.java
@@ -3,9 +3,8 @@ package com.yahoo.searchlib.expression;
import org.junit.Test;
-import static org.hamcrest.core.Is.is;
+import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
/**
@@ -24,8 +23,8 @@ public class RawBucketResultNodeTestCase extends ResultNodeTest {
public void testRange() {
RawBucketResultNode bucket = new RawBucketResultNode(new RawResultNode(new byte[]{6, 9}), new RawResultNode(new byte[]{9, 6}));
assertFalse(bucket.empty());
- assertThat(bucket.getFrom(), is(new byte[]{6, 9}));
- assertThat(bucket.getTo(), is(new byte[]{9, 6}));
+ assertArrayEquals(new byte[]{6, 9}, bucket.getFrom());
+ assertArrayEquals(new byte[]{9, 6}, bucket.getTo());
assertCorrectSerialization(bucket, new RawBucketResultNode());
assertTrue(dumpNode(bucket).contains("value: RawData(data = [6, 9])"));
assertTrue(dumpNode(bucket).contains("value: RawData(data = [9, 6])"));
diff --git a/searchlib/src/test/java/com/yahoo/searchlib/expression/ResultNodeTest.java b/searchlib/src/test/java/com/yahoo/searchlib/expression/ResultNodeTest.java
index fb033801352..52be4d422d5 100644
--- a/searchlib/src/test/java/com/yahoo/searchlib/expression/ResultNodeTest.java
+++ b/searchlib/src/test/java/com/yahoo/searchlib/expression/ResultNodeTest.java
@@ -4,8 +4,7 @@ package com.yahoo.searchlib.expression;
import com.yahoo.vespa.objects.BufferSerializer;
import com.yahoo.vespa.objects.ObjectDumper;
-import static org.hamcrest.core.Is.is;
-import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
/**
@@ -24,7 +23,7 @@ public class ResultNodeTest {
from.serialize(buffer);
buffer.flip();
to.deserialize(buffer);
- assertThat(from.onCmp(to), is(0));
+ assertEquals(0, from.onCmp(to));
}
public void assertOrder(ResultNode a, ResultNode b, ResultNode c) {
diff --git a/searchlib/src/test/java/com/yahoo/searchlib/expression/ResultNodeVectorTestCase.java b/searchlib/src/test/java/com/yahoo/searchlib/expression/ResultNodeVectorTestCase.java
index 54f4744897a..614e6bb608a 100644
--- a/searchlib/src/test/java/com/yahoo/searchlib/expression/ResultNodeVectorTestCase.java
+++ b/searchlib/src/test/java/com/yahoo/searchlib/expression/ResultNodeVectorTestCase.java
@@ -1,14 +1,9 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.searchlib.expression;
-import com.yahoo.vespa.objects.BufferSerializer;
import org.junit.Test;
-
-import java.util.List;
-
-import static org.hamcrest.core.Is.is;
-import static org.hamcrest.core.IsNot.not;
-import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertTrue;
/**
@@ -18,12 +13,12 @@ import static org.junit.Assert.assertTrue;
public class ResultNodeVectorTestCase extends ResultNodeTest {
@Test
public void testClassId() {
- assertThat(new IntegerResultNodeVector().getClassId(), is(IntegerResultNodeVector.classId));
- assertThat(new Int32ResultNodeVector().getClassId(), is(Int32ResultNodeVector.classId));
- assertThat(new Int16ResultNodeVector().getClassId(), is(Int16ResultNodeVector.classId));
- assertThat(new Int8ResultNodeVector().getClassId(), is(Int8ResultNodeVector.classId));
- assertThat(new FloatResultNodeVector().getClassId(), is(FloatResultNodeVector.classId));
- assertThat(new BoolResultNodeVector().getClassId(), is(BoolResultNodeVector.classId));
+ assertEquals(IntegerResultNodeVector.classId, new IntegerResultNodeVector().getClassId());
+ assertEquals(Int32ResultNodeVector.classId, new Int32ResultNodeVector().getClassId());
+ assertEquals(Int16ResultNodeVector.classId, new Int16ResultNodeVector().getClassId());
+ assertEquals(Int8ResultNodeVector.classId, new Int8ResultNodeVector().getClassId());
+ assertEquals(FloatResultNodeVector.classId, new FloatResultNodeVector().getClassId());
+ assertEquals(BoolResultNodeVector.classId, new BoolResultNodeVector().getClassId());
}
@Test
@@ -32,37 +27,37 @@ public class ResultNodeVectorTestCase extends ResultNodeTest {
b.add(new BoolResultNode(true));
b.add(new BoolResultNode(false));
b.add((ResultNode)new BoolResultNode(false));
- assertThat(b.getVector().size(), is(3));
+ assertEquals(3, b.getVector().size());
Int8ResultNodeVector i8 = new Int8ResultNodeVector();
i8.add(new Int8ResultNode((byte)9));
i8.add(new Int8ResultNode((byte)2));
i8.add((ResultNode)new Int8ResultNode((byte)5));
- assertThat(i8.getVector().size(), is(3));
+ assertEquals(3, i8.getVector().size());
Int16ResultNodeVector i16 = new Int16ResultNodeVector();
i16.add(new Int16ResultNode((short)9));
i16.add(new Int16ResultNode((short)2));
i16.add((ResultNode)new Int16ResultNode((short)5));
- assertThat(i16.getVector().size(), is(3));
+ assertEquals(3, i16.getVector().size());
Int32ResultNodeVector i32 = new Int32ResultNodeVector();
i32.add(new Int32ResultNode(9));
i32.add(new Int32ResultNode(2));
i32.add((ResultNode)new Int32ResultNode(5));
- assertThat(i32.getVector().size(), is(3));
+ assertEquals(3, i32.getVector().size());
IntegerResultNodeVector ieger = new IntegerResultNodeVector();
ieger.add(new IntegerResultNode(9));
ieger.add(new IntegerResultNode(2));
ieger.add((ResultNode)new IntegerResultNode(5));
- assertThat(ieger.getVector().size(), is(3));
+ assertEquals(3, ieger.getVector().size());
FloatResultNodeVector floatvec = new FloatResultNodeVector();
floatvec.add(new FloatResultNode(3.3));
floatvec.add(new FloatResultNode(3.4));
floatvec.add((ResultNode)new FloatResultNode(3.5));
- assertThat(floatvec.getVector().size(), is(3));
+ assertEquals(3, floatvec.getVector().size());
}
@Test
@@ -155,11 +150,11 @@ public class ResultNodeVectorTestCase extends ResultNodeTest {
}
private void assertVecEqual(ResultNodeVector vec1, ResultNodeVector vec2) {
- assertThat(vec1.onCmp(vec2), is(0));
+ assertEquals(0, vec1.onCmp(vec2));
}
private void assertClassCmp(ResultNodeVector add) {
- assertThat(add.onCmp(new NullResultNode()), is(not(0)));
+ assertNotEquals(0, add.onCmp(new NullResultNode()));
}
@Test
diff --git a/searchlib/src/test/java/com/yahoo/searchlib/expression/StringBucketResultNodeTestCase.java b/searchlib/src/test/java/com/yahoo/searchlib/expression/StringBucketResultNodeTestCase.java
index 15c89b4beb3..fee60c9df7b 100644
--- a/searchlib/src/test/java/com/yahoo/searchlib/expression/StringBucketResultNodeTestCase.java
+++ b/searchlib/src/test/java/com/yahoo/searchlib/expression/StringBucketResultNodeTestCase.java
@@ -2,9 +2,7 @@
package com.yahoo.searchlib.expression;
import org.junit.Test;
-
-import static org.hamcrest.core.Is.is;
-import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
/**
@@ -22,8 +20,8 @@ public class StringBucketResultNodeTestCase extends ResultNodeTest {
@Test
public void testRange() {
StringBucketResultNode bucket = new StringBucketResultNode("a", "d");
- assertThat(bucket.getFrom(), is("a"));
- assertThat(bucket.getTo(), is("d"));
+ assertEquals("a", bucket.getFrom());
+ assertEquals("d", bucket.getTo());
assertTrue(dumpNode(bucket).contains("value: 'a'"));
assertTrue(dumpNode(bucket).contains("value: 'd'"));
assertCorrectSerialization(bucket, new StringBucketResultNode());