aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-03-31 11:44:39 +0100
committerMichael Williamson <mike@zwobble.org>2016-03-31 11:44:39 +0100
commit3368f70469871921c12df73273c9a3a06709e4ed (patch)
tree3d46a225a4b822ef450860c0919517997d5bdd9c /src
parent04c3c57ca6b0f7e2985425d07faa9a72bc1817fa (diff)
Move hasFeature to ExtraMatchers
Diffstat (limited to 'src')
-rw-r--r--src/test/java/org/zwobble/couscous/tests/backends/python/PythonCodeGeneratorTests.java21
-rw-r--r--src/test/java/org/zwobble/couscous/tests/util/ExtraMatchers.java15
2 files changed, 20 insertions, 16 deletions
diff --git a/src/test/java/org/zwobble/couscous/tests/backends/python/PythonCodeGeneratorTests.java b/src/test/java/org/zwobble/couscous/tests/backends/python/PythonCodeGeneratorTests.java
index 7557f92..b734782 100644
--- a/src/test/java/org/zwobble/couscous/tests/backends/python/PythonCodeGeneratorTests.java
+++ b/src/test/java/org/zwobble/couscous/tests/backends/python/PythonCodeGeneratorTests.java
@@ -1,20 +1,21 @@
package org.zwobble.couscous.tests.backends.python;
-import org.hamcrest.*;
+import org.hamcrest.Matcher;
import org.junit.Test;
import org.zwobble.couscous.backends.python.PythonCodeGenerator;
-import org.zwobble.couscous.backends.python.ast.PythonListNode;
import org.zwobble.couscous.backends.python.ast.PythonExpressionNode;
+import org.zwobble.couscous.backends.python.ast.PythonListNode;
import org.zwobble.couscous.backends.python.ast.PythonStringLiteralNode;
import org.zwobble.couscous.types.Types;
import java.util.List;
-import java.util.function.Function;
import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.Matchers.*;
+import static org.hamcrest.Matchers.contains;
+import static org.hamcrest.Matchers.equalTo;
import static org.zwobble.couscous.ast.ArrayNode.array;
import static org.zwobble.couscous.ast.LiteralNode.literal;
+import static org.zwobble.couscous.tests.util.ExtraMatchers.hasFeature;
import static org.zwobble.couscous.tests.util.ExtraMatchers.isInstance;
import static org.zwobble.couscous.util.ExtraLists.list;
@@ -43,16 +44,4 @@ public class PythonCodeGeneratorTests {
list -> list.getElements(),
contains(expectedElements)));
}
-
- private static <T, U> Matcher<T> hasFeature(
- String name,
- Function<? super T, U> extract,
- Matcher<? super U> subMatcher) {
- return new FeatureMatcher<T, U>(subMatcher, name, name) {
- @Override
- protected U featureValueOf(T actual) {
- return extract.apply(actual);
- }
- };
- }
}
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 3107d53..d79cb05 100644
--- a/src/test/java/org/zwobble/couscous/tests/util/ExtraMatchers.java
+++ b/src/test/java/org/zwobble/couscous/tests/util/ExtraMatchers.java
@@ -2,8 +2,11 @@ package org.zwobble.couscous.tests.util;
import org.hamcrest.Description;
import org.hamcrest.DiagnosingMatcher;
+import org.hamcrest.FeatureMatcher;
import org.hamcrest.Matcher;
+import java.util.function.Function;
+
public class ExtraMatchers {
public static <T, U> Matcher<T> isInstance(Class<U> type, Matcher<? super U> downcastMatcher) {
return new DiagnosingMatcher<T>() {
@@ -36,4 +39,16 @@ public class ExtraMatchers {
}
};
}
+
+ public static <T, U> Matcher<T> hasFeature(
+ String name,
+ Function<? super T, U> extract,
+ Matcher<? super U> subMatcher) {
+ return new FeatureMatcher<T, U>(subMatcher, name, name) {
+ @Override
+ protected U featureValueOf(T actual) {
+ return extract.apply(actual);
+ }
+ };
+ }
}