From bd1268f4688a8782fce1991c155d945711c30114 Mon Sep 17 00:00:00 2001 From: Ihor Yatsenko Date: Fri, 11 Oct 2019 18:12:18 +0200 Subject: [PATCH] Changed signature of method containsInAnyOrder to allow avoid calling toArray() method or casting to array and build next construction List actual = Arrays.asList("a", "b", "c"); List expected = Arrays.asList("a", "c"); assertThat(list, containsInAnyOrder(expected)) Some results from internet with reccomendations to call toArray(): https://stackoverflow.com/questions/21624592/hamcrest-compare-collections http://haroonzone.github.io/comparing-lists-with-hamcrest/ (ListMatcher2.java) --- hamcrest/src/main/java/org/hamcrest/Matchers.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/hamcrest/src/main/java/org/hamcrest/Matchers.java b/hamcrest/src/main/java/org/hamcrest/Matchers.java index 30064b12d..ac96efd0a 100644 --- a/hamcrest/src/main/java/org/hamcrest/Matchers.java +++ b/hamcrest/src/main/java/org/hamcrest/Matchers.java @@ -1000,11 +1000,11 @@ public static org.hamcrest.Matcher> contains *

For example:

*
assertThat(Arrays.asList("foo", "bar"), containsInAnyOrder(Arrays.asList(equalTo("bar"), equalTo("foo"))))
* - * @param itemMatchers - * a list of matchers, each of which must be satisfied by an item provided by an examined {@link Iterable} + * @param items + * a list of matchers or any objects, each of which must be satisfied by an item provided by an examined {@link Iterable} */ - public static org.hamcrest.Matcher> containsInAnyOrder(java.util.Collection> itemMatchers) { - return org.hamcrest.collection.IsIterableContainingInAnyOrder.containsInAnyOrder(itemMatchers); + public static org.hamcrest.Matcher> containsInAnyOrder(java.util.Collection items) { + return org.hamcrest.collection.IsIterableContainingInAnyOrder.containsInAnyOrder((T[])items.toArray()); } /**