diff --git a/test-case/src/main/java/pkg/UsingGetStackTrace.java b/test-case/src/main/java/pkg/UsingGetStackTrace.java index e0abafc7..feb0b14a 100644 --- a/test-case/src/main/java/pkg/UsingGetStackTrace.java +++ b/test-case/src/main/java/pkg/UsingGetStackTrace.java @@ -8,6 +8,6 @@ public class UsingGetStackTrace { private final Logger logger = LoggerFactory.getLogger(getClass()); void method(RuntimeException ex) { - logger.error("Failed to determine The Answer to Life, The Universe and Everything; {}", 27, ex.getStackTrace()); + logger.error("Failed to determine The Answer to Life, The Universe and Everything: {}; cause: {}", 27, ex.getStackTrace()); } } diff --git a/test-case/src/test/java/jp/skypencil/findbugs/slf4j/BugInstanceMatcher.java b/test-case/src/test/java/jp/skypencil/findbugs/slf4j/BugInstanceMatcher.java deleted file mode 100644 index e36aa0c0..00000000 --- a/test-case/src/test/java/jp/skypencil/findbugs/slf4j/BugInstanceMatcher.java +++ /dev/null @@ -1,31 +0,0 @@ -package jp.skypencil.findbugs.slf4j; - -import edu.umd.cs.findbugs.BugInstance; -import java.util.function.Predicate; -import org.hamcrest.BaseMatcher; -import org.hamcrest.Description; - -/** - * Hamcrest matcher for FindBugs (now SpotBugs) {@link BugInstance}. - * - * @author Michael Vorburger.ch - */ -public final class BugInstanceMatcher extends BaseMatcher { - - private final Predicate predicate; - - public BugInstanceMatcher(Predicate predicate) { - this.predicate = predicate; - } - - @Override - public final boolean matches(Object item) { - return predicate.test((BugInstance) item); - } - - @Override - public void describeTo(Description description) { - description.appendText("BugInstance must match expected"); - } - -} diff --git a/test-case/src/test/java/jp/skypencil/findbugs/slf4j/UsingGetStackTraceTest.java b/test-case/src/test/java/jp/skypencil/findbugs/slf4j/UsingGetStackTraceTest.java index a3f25361..2d2651dd 100644 --- a/test-case/src/test/java/jp/skypencil/findbugs/slf4j/UsingGetStackTraceTest.java +++ b/test-case/src/test/java/jp/skypencil/findbugs/slf4j/UsingGetStackTraceTest.java @@ -1,10 +1,11 @@ package jp.skypencil.findbugs.slf4j; -import com.youdevise.fbplugins.tdd4fb.DetectorAssert; -import edu.umd.cs.findbugs.BugReporter; -import edu.umd.cs.findbugs.Detector; +import static com.google.common.truth.Truth.assertThat; + +import com.google.common.collect.Multimap; +import java.util.Collections; +import java.util.Map; import org.junit.jupiter.api.Test; -import pkg.UsingGetStackTrace; /** * Test for {@link ManualGetStackTraceDetector}. @@ -15,11 +16,10 @@ public class UsingGetStackTraceTest { @Test public void testExceptionMethods() throws Exception { - BugReporter bugReporter = DetectorAssert.bugReporterForTesting(); - Detector detector = new ManualGetStackTraceDetector(bugReporter); - DetectorAssert.assertNoBugsReported(UsingGetStackTrace.class, detector, bugReporter); - DetectorAssert.assertBugReported(UsingGetStackTrace.class, detector, bugReporter, new BugInstanceMatcher( - bugInstance -> bugInstance.getBugPattern().getAbbrev().equals("SLF4J_GET_STACK_TRACE"))); + Map expected = Collections.singletonMap("SLF4J_GET_STACK_TRACE", 1); + Multimap longMessages = new XmlParser().expect(pkg.UsingGetStackTrace.class, expected); + assertThat(longMessages).containsEntry("SLF4J_GET_STACK_TRACE", + "Do not have use Throwable#getStackTrace. It is enough to provide throwable instance as the last argument, then binding will log its message."); } }