Skip to content

Commit 69e8a8a

Browse files
committed
avoid depending on hamcrest-library
also improve unit tests
1 parent 9f5dfd8 commit 69e8a8a

File tree

3 files changed

+18
-11
lines changed

3 files changed

+18
-11
lines changed

pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@
110110
<dependencies>
111111
<dependency>
112112
<groupId>org.hamcrest</groupId>
113-
<artifactId>hamcrest-library</artifactId>
113+
<artifactId>hamcrest-core</artifactId>
114114
<version>1.3</version>
115115
</dependency>
116116
</dependencies>

src/main/java/org/junit/experimental/results/ResultMatchers.java

+4-5
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@
55
import org.hamcrest.Matcher;
66
import org.hamcrest.TypeSafeMatcher;
77

8-
import static org.hamcrest.Matchers.equalTo;
9-
import static org.hamcrest.Matchers.greaterThan;
8+
import static org.hamcrest.CoreMatchers.equalTo;
109

1110
/**
1211
* Matchers on a PrintableResult, to enable JUnit self-tests.
@@ -76,9 +75,9 @@ public void describeTo(Description description) {
7675
* contains {@code string}
7776
*/
7877
public static Matcher<PrintableResult> hasFailureContaining(final String string) {
79-
return new BaseMatcher<PrintableResult>() {
80-
public boolean matches(Object item) {
81-
return failureCount(greaterThan(0)).matches(item) && item.toString().contains(string);
78+
return new TypeSafeMatcher<PrintableResult>() {
79+
public boolean matchesSafely(PrintableResult item) {
80+
return item.failureCount() > 0 && item.toString().contains(string);
8281
}
8382

8483
public void describeTo(Description description) {

src/test/java/org/junit/tests/experimental/results/ResultMatchersTest.java

+13-5
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,15 @@
44
import org.junit.experimental.results.PrintableResult;
55
import org.junit.experimental.results.ResultMatchers;
66
import org.junit.experimental.theories.Theory;
7+
import org.junit.runner.Description;
78
import org.junit.runner.notification.Failure;
89

910
import java.util.ArrayList;
11+
import java.util.Collections;
1012

11-
import static org.hamcrest.Matchers.*;
13+
import static org.hamcrest.CoreMatchers.containsString;
14+
import static org.hamcrest.CoreMatchers.equalTo;
15+
import static org.hamcrest.CoreMatchers.is;
1216
import static org.junit.Assert.assertThat;
1317

1418
public class ResultMatchersTest {
@@ -26,14 +30,18 @@ public void hasFailuresDescriptionReflectsInput(int i) {
2630
}
2731

2832
@Test
29-
public void hasFailureContaining_givenNonMatchingScenario() {
33+
public void hasFailureContaining_givenResultWithNoFailures() {
3034
PrintableResult resultWithNoFailures = new PrintableResult(new ArrayList<Failure>());
35+
3136
assertThat(ResultMatchers.hasFailureContaining("").matches(resultWithNoFailures), is(false));
3237
}
3338

3439
@Test
35-
public void failureCount_nonMatchingScenario() {
36-
PrintableResult resultWithNoFailures = new PrintableResult(new ArrayList<Failure>());
37-
assertThat(ResultMatchers.failureCount(greaterThanOrEqualTo(3)).matches(resultWithNoFailures), is(false));
40+
public void testFailureCount() {
41+
PrintableResult resultWithOneFailure = new PrintableResult(Collections.singletonList(
42+
new Failure(Description.EMPTY, new RuntimeException("failure 1"))));
43+
44+
assertThat(ResultMatchers.failureCount(equalTo(3)).matches(resultWithOneFailure), is(false));
45+
assertThat(ResultMatchers.failureCount(equalTo(1)).matches(resultWithOneFailure), is(true));
3846
}
3947
}

0 commit comments

Comments
 (0)