From 6bb8fe3f983cd0a2be76239df2124af633f0e05c Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Thu, 31 Mar 2016 12:08:02 +0100 Subject: Add evaluation of arrays to interpreter --- .../zwobble/couscous/tests/util/ExtraMatchers.java | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) (limited to 'src/test/java/org/zwobble/couscous/tests/util/ExtraMatchers.java') diff --git a/src/test/java/org/zwobble/couscous/tests/util/ExtraMatchers.java b/src/test/java/org/zwobble/couscous/tests/util/ExtraMatchers.java index d79cb05..074e449 100644 --- a/src/test/java/org/zwobble/couscous/tests/util/ExtraMatchers.java +++ b/src/test/java/org/zwobble/couscous/tests/util/ExtraMatchers.java @@ -1,12 +1,13 @@ package org.zwobble.couscous.tests.util; -import org.hamcrest.Description; -import org.hamcrest.DiagnosingMatcher; -import org.hamcrest.FeatureMatcher; -import org.hamcrest.Matcher; +import org.hamcrest.*; +import java.util.List; import java.util.function.Function; +import static org.hamcrest.Matchers.equalTo; +import static org.zwobble.couscous.util.ExtraLists.eagerMap; + public class ExtraMatchers { public static Matcher isInstance(Class type, Matcher downcastMatcher) { return new DiagnosingMatcher() { @@ -51,4 +52,16 @@ public class ExtraMatchers { } }; } + + public static Matcher> containsExactly(List> matchers) { + if (matchers.isEmpty()) { + return Matchers.emptyIterable(); + } else { + return Matchers.contains(matchers); + } + } + + public static Matcher> containsExactElements(List values) { + return containsExactly(eagerMap(values, value -> equalTo(value))); + } } -- cgit v1.2.3