diff options
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()); |