Skip to content

Commit f8c2286

Browse files
committed
Removed IsArrayContainingInAnyOrderClass
1 parent 8fba4a2 commit f8c2286

File tree

3 files changed

+52
-39
lines changed

3 files changed

+52
-39
lines changed
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
package org.hamcrest.collection;
2+
3+
import org.hamcrest.Description;
4+
import org.hamcrest.Matcher;
5+
import org.hamcrest.TypeSafeDiagnosingMatcher;
6+
import org.hamcrest.TypeSafeMatcher;
7+
8+
import java.util.Collection;
9+
10+
import static java.util.Arrays.asList;
11+
12+
/**
13+
* @author Steve Freeman 2016 http://www.hamcrest.com
14+
*/
15+
public class ArrayMatcher<E> extends TypeSafeMatcher<E[]> {
16+
protected final TypeSafeDiagnosingMatcher<Iterable<? extends E>> iterableMatcher;
17+
private final String message;
18+
protected final Collection<Matcher<? super E>> matchers;
19+
20+
public ArrayMatcher(
21+
TypeSafeDiagnosingMatcher<Iterable<? extends E>> iterableMatcher,
22+
Collection<Matcher<? super E>> matchers,
23+
String message)
24+
{
25+
this.matchers = matchers;
26+
this.iterableMatcher = iterableMatcher;
27+
this.message = message;
28+
}
29+
30+
@Override
31+
public boolean matchesSafely(E[] item) {
32+
return iterableMatcher.matches(asList(item));
33+
}
34+
35+
@Override
36+
public void describeMismatchSafely(E[] item, Description mismatchDescription) {
37+
iterableMatcher.describeMismatch(asList(item), mismatchDescription);
38+
}
39+
40+
@Override
41+
public void describeTo(Description description) {
42+
description.appendList("[", ", ", "]", matchers)
43+
.appendText(" ").appendText(message);
44+
}
45+
}

hamcrest-library/src/main/java/org/hamcrest/collection/ArrayMatching.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ public static <E> Matcher<E[]> arrayContainingInAnyOrder(Matcher<? super E>... i
9292
* a list of matchers, each of which must be satisfied by an item provided by an examined array
9393
*/
9494
public static <E> Matcher<E[]> arrayContainingInAnyOrder(Collection<Matcher<? super E>> itemMatchers) {
95-
return new IsArrayContainingInAnyOrder<>(itemMatchers);
95+
return isArrayContainingInAnyOrder(itemMatchers);
9696
}
9797

9898
/**
@@ -115,11 +115,11 @@ public static <E> Matcher<E[]> arrayContainingInAnyOrder(Collection<Matcher<? su
115115
*/
116116
@SafeVarargs
117117
public static <E> Matcher<E[]> arrayContainingInAnyOrder(E... items) {
118-
List<Matcher<? super E>> matchers = new ArrayList<>();
118+
final List<Matcher<? super E>> matchers = new ArrayList<>();
119119
for (E item : items) {
120120
matchers.add(equalTo(item));
121121
}
122-
return new IsArrayContainingInAnyOrder<>(matchers);
122+
return arrayContainingInAnyOrder(matchers);
123123
}
124124

125125
/**
@@ -173,4 +173,8 @@ public static <E> Matcher<E[]> arrayContaining(Matcher<? super E>... itemMatcher
173173
public static <E> Matcher<E[]> arrayContaining(List<Matcher<? super E>> itemMatchers) {
174174
return new IsArrayContainingInOrder<>(itemMatchers);
175175
}
176+
177+
private static <E> ArrayMatcher<E> isArrayContainingInAnyOrder(Collection<Matcher<? super E>> matchers) {
178+
return new ArrayMatcher<>(new IsIterableContainingInAnyOrder<>(matchers), matchers, "in any order");
179+
}
176180
}

hamcrest-library/src/main/java/org/hamcrest/collection/IsArrayContainingInAnyOrder.java

Lines changed: 0 additions & 36 deletions
This file was deleted.

0 commit comments

Comments
 (0)