From fa0865b2083c34c72d5741c80bd32bf38bc6ab51 Mon Sep 17 00:00:00 2001 From: Liam Newman Date: Mon, 26 Apr 2021 14:27:28 -0700 Subject: [PATCH] Fix assertThat arch test --- .../java/org/kohsuke/github/ArchTests.java | 26 ++++++++++++------- .../kohsuke/github/GHPullRequestMockTest.java | 4 +-- .../github/internal/EnumUtilsTest.java | 21 +++++++++------ 3 files changed, 32 insertions(+), 19 deletions(-) diff --git a/src/test/java/org/kohsuke/github/ArchTests.java b/src/test/java/org/kohsuke/github/ArchTests.java index 7c554d9d6..f1852fa88 100644 --- a/src/test/java/org/kohsuke/github/ArchTests.java +++ b/src/test/java/org/kohsuke/github/ArchTests.java @@ -3,17 +3,22 @@ package org.kohsuke.github; import com.tngtech.archunit.base.DescribedPredicate; import com.tngtech.archunit.core.domain.JavaAnnotation; import com.tngtech.archunit.core.domain.JavaClasses; +import com.tngtech.archunit.core.domain.properties.HasName; import com.tngtech.archunit.core.importer.ClassFileImporter; import com.tngtech.archunit.core.importer.ImportOption; import com.tngtech.archunit.lang.ArchRule; import org.junit.BeforeClass; import org.junit.Test; +import static com.tngtech.archunit.core.domain.JavaCall.Predicates.target; +import static com.tngtech.archunit.core.domain.properties.HasName.Predicates.name; +import static com.tngtech.archunit.core.domain.properties.HasName.Predicates.nameContaining; import static com.tngtech.archunit.lang.conditions.ArchConditions.*; import static com.tngtech.archunit.lang.syntax.ArchRuleDefinition.classes; import static com.tngtech.archunit.lang.syntax.ArchRuleDefinition.fields; import static com.tngtech.archunit.lang.syntax.ArchRuleDefinition.methods; -import static org.junit.Assert.assertTrue; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.greaterThan; public class ArchTests { @@ -22,7 +27,9 @@ public class ArchTests { .withImportOption(new ImportOption.DoNotIncludeJars()) .importPackages("org.kohsuke.github"); - private static final JavaClasses tesetClassFiles = new ClassFileImporter() + private static final JavaClasses apacheCommons = new ClassFileImporter().importPackages("org.apache.commons.lang3"); + + private static final JavaClasses testClassFiles = new ClassFileImporter() .withImportOption(new ImportOption.OnlyIncludeTests()) .withImportOption(new ImportOption.DoNotIncludeJars()) .importPackages("org.kohsuke.github"); @@ -40,7 +47,7 @@ public class ArchTests { @BeforeClass public static void beforeClass() { - assertTrue(classFiles.size() > 0); + assertThat(classFiles.size(), greaterThan(0)); } @Test @@ -113,14 +120,15 @@ public class ArchTests { @Test public void testRequireUseOfAssertThat() { - String reason = "This project uses `assertThat(...)` instead of other assert*() methods."; + final String reason = "This project uses `assertThat(...)` instead of other `assert*()` methods."; - ArchRule onlyAssertThatRule = methods().that() - .haveNameContaining("assert") - .should() - .haveName("assertThat") + final DescribedPredicate assertMethodOtherThanAssertThat = nameContaining("assert") + .and(DescribedPredicate.not(name("assertThat"))); + + final ArchRule onlyAssertThatRule = classes() + .should(not(callMethodWhere(target(assertMethodOtherThanAssertThat)))) .because(reason); - onlyAssertThatRule.check(tesetClassFiles); + onlyAssertThatRule.check(testClassFiles); } } diff --git a/src/test/java/org/kohsuke/github/GHPullRequestMockTest.java b/src/test/java/org/kohsuke/github/GHPullRequestMockTest.java index fa40b5506..cbb84c4d4 100644 --- a/src/test/java/org/kohsuke/github/GHPullRequestMockTest.java +++ b/src/test/java/org/kohsuke/github/GHPullRequestMockTest.java @@ -4,7 +4,7 @@ import org.junit.Test; import java.io.IOException; -import static org.junit.Assert.assertTrue; +import static org.hamcrest.MatcherAssert.assertThat; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @@ -15,7 +15,7 @@ public class GHPullRequestMockTest { GHPullRequest pullRequest = mock(GHPullRequest.class); when(pullRequest.isDraft()).thenReturn(true); - assertTrue("Mock should return true", pullRequest.isDraft()); + assertThat("Mock should return true", pullRequest.isDraft()); } } diff --git a/src/test/java/org/kohsuke/github/internal/EnumUtilsTest.java b/src/test/java/org/kohsuke/github/internal/EnumUtilsTest.java index 6e3982584..00d79fd2a 100644 --- a/src/test/java/org/kohsuke/github/internal/EnumUtilsTest.java +++ b/src/test/java/org/kohsuke/github/internal/EnumUtilsTest.java @@ -2,19 +2,24 @@ package org.kohsuke.github.internal; import org.junit.Test; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.*; public class EnumUtilsTest { @Test public void testGetEnum() { - assertNull(EnumUtils.getNullableEnumOrDefault(TestEnum.class, null, TestEnum.UNKNOWN)); - assertEquals(TestEnum.UNKNOWN, EnumUtils.getNullableEnumOrDefault(TestEnum.class, "foobar", TestEnum.UNKNOWN)); - assertEquals(TestEnum.VALUE_1, EnumUtils.getNullableEnumOrDefault(TestEnum.class, "VALUE_1", TestEnum.UNKNOWN)); - assertEquals(TestEnum.VALUE_1, EnumUtils.getNullableEnumOrDefault(TestEnum.class, "value_1", TestEnum.UNKNOWN)); - assertEquals(TestEnum.VALUE_2, EnumUtils.getNullableEnumOrDefault(TestEnum.class, "VALUE_2", TestEnum.UNKNOWN)); - assertEquals(TestEnum.VALUE_2, EnumUtils.getNullableEnumOrDefault(TestEnum.class, "value_2", TestEnum.UNKNOWN)); + assertThat(EnumUtils.getNullableEnumOrDefault(TestEnum.class, null, TestEnum.UNKNOWN), nullValue()); + assertThat(EnumUtils.getNullableEnumOrDefault(TestEnum.class, "foobar", TestEnum.UNKNOWN), + equalTo(TestEnum.UNKNOWN)); + assertThat(EnumUtils.getNullableEnumOrDefault(TestEnum.class, "VALUE_1", TestEnum.UNKNOWN), + equalTo(TestEnum.VALUE_1)); + assertThat(EnumUtils.getNullableEnumOrDefault(TestEnum.class, "value_1", TestEnum.UNKNOWN), + equalTo(TestEnum.VALUE_1)); + assertThat(EnumUtils.getNullableEnumOrDefault(TestEnum.class, "VALUE_2", TestEnum.UNKNOWN), + equalTo(TestEnum.VALUE_2)); + assertThat(EnumUtils.getNullableEnumOrDefault(TestEnum.class, "vAlUe_2 ", TestEnum.UNKNOWN), + equalTo(TestEnum.VALUE_2)); } private enum TestEnum {