aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/org/zwobble
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/org/zwobble')
-rw-r--r--src/test/java/org/zwobble/couscous/tests/BackendMethodTests.java8
-rw-r--r--src/test/java/org/zwobble/couscous/tests/TestIds.java8
-rw-r--r--src/test/java/org/zwobble/couscous/tests/ValueObjectTests.java7
-rw-r--r--src/test/java/org/zwobble/couscous/tests/frontends/java/FreeVariablesTests.java7
-rw-r--r--src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java1
5 files changed, 22 insertions, 9 deletions
diff --git a/src/test/java/org/zwobble/couscous/tests/BackendMethodTests.java b/src/test/java/org/zwobble/couscous/tests/BackendMethodTests.java
index a325dcb..a5a8d2c 100644
--- a/src/test/java/org/zwobble/couscous/tests/BackendMethodTests.java
+++ b/src/test/java/org/zwobble/couscous/tests/BackendMethodTests.java
@@ -114,8 +114,8 @@ public abstract class BackendMethodTests {
@Test
public void whileLoopIsExecutedWhileConditionIsTrue() {
- LocalVariableDeclarationNode x = localVariableDeclaration("x", "x", IntegerValue.REF, literal(0));
- LocalVariableDeclarationNode y = localVariableDeclaration("y", "y", IntegerValue.REF, literal(2));
+ LocalVariableDeclarationNode x = localVariableDeclaration(TestIds.id("x"), "x", IntegerValue.REF, literal(0));
+ LocalVariableDeclarationNode y = localVariableDeclaration(TestIds.id("y"), "y", IntegerValue.REF, literal(2));
MethodNode.Builder method = staticMethod("hello")
.statement(x)
.statement(y)
@@ -128,8 +128,8 @@ public abstract class BackendMethodTests {
@Test
public void returnWillExitWhileLoopEarly() {
- LocalVariableDeclarationNode x = localVariableDeclaration("x", "x", IntegerValue.REF, literal(0));
- LocalVariableDeclarationNode y = localVariableDeclaration("y", "y", IntegerValue.REF, literal(2));
+ LocalVariableDeclarationNode x = localVariableDeclaration(TestIds.id("x"), "x", IntegerValue.REF, literal(0));
+ LocalVariableDeclarationNode y = localVariableDeclaration(TestIds.id("y"), "y", IntegerValue.REF, literal(2));
MethodNode.Builder method = staticMethod("hello")
.statement(x)
.statement(y)
diff --git a/src/test/java/org/zwobble/couscous/tests/TestIds.java b/src/test/java/org/zwobble/couscous/tests/TestIds.java
index 50f0ad9..b32cf84 100644
--- a/src/test/java/org/zwobble/couscous/tests/TestIds.java
+++ b/src/test/java/org/zwobble/couscous/tests/TestIds.java
@@ -1,5 +1,11 @@
package org.zwobble.couscous.tests;
+import org.zwobble.couscous.ast.identifiers.Identifier;
+
public class TestIds {
- public static final String ANY_ID = "[id]";
+ public static final Identifier ANY_ID = Identifier.TOP.extend("[any id]");
+
+ public static Identifier id(String name) {
+ return ANY_ID.extend(name);
+ }
}
diff --git a/src/test/java/org/zwobble/couscous/tests/ValueObjectTests.java b/src/test/java/org/zwobble/couscous/tests/ValueObjectTests.java
index 022e7ed..b9ca169 100644
--- a/src/test/java/org/zwobble/couscous/tests/ValueObjectTests.java
+++ b/src/test/java/org/zwobble/couscous/tests/ValueObjectTests.java
@@ -15,6 +15,7 @@ import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
import org.zwobble.couscous.ast.*;
+import org.zwobble.couscous.ast.identifiers.Identifier;
import org.zwobble.couscous.util.ExtraArrays;
import org.zwobble.couscous.values.PrimitiveValue;
import org.zwobble.couscous.values.StringValue;
@@ -131,6 +132,8 @@ public class ValueObjectTests {
return asList("[list 1]");
} else if (type.equals(Set.class)) {
return Collections.singleton("[set 1]");
+ } else if (type.equals(Identifier.class)) {
+ return TestIds.id((String)generateFirstInstance(String.class));
} else if (type.equals(PrimitiveValue.class)) {
return generateFirstInstance(StringValue.class);
} else if (type.equals(ExpressionNode.class)) {
@@ -151,6 +154,8 @@ public class ValueObjectTests {
return asList("[list 2]");
} else if (type.equals(Set.class)) {
return Collections.singleton("[set 2]");
+ } else if (type.equals(Identifier.class)) {
+ return TestIds.id((String)generateSecondInstance(String.class));
} else if (type.equals(PrimitiveValue.class)) {
return generateSecondInstance(StringValue.class);
} else if (type.equals(ExpressionNode.class)) {
@@ -171,6 +176,8 @@ public class ValueObjectTests {
return asList("[list]");
} else if (type.equals(Set.class)) {
return Collections.singleton("[set]");
+ } else if (type.equals(Identifier.class)) {
+ return TestIds.id((String)generateInstance(String.class));
} else if (type.equals(PrimitiveValue.class)) {
return generateInstance(StringValue.class);
} else if (type.equals(ExpressionNode.class)) {
diff --git a/src/test/java/org/zwobble/couscous/tests/frontends/java/FreeVariablesTests.java b/src/test/java/org/zwobble/couscous/tests/frontends/java/FreeVariablesTests.java
index bd860f7..afded63 100644
--- a/src/test/java/org/zwobble/couscous/tests/frontends/java/FreeVariablesTests.java
+++ b/src/test/java/org/zwobble/couscous/tests/frontends/java/FreeVariablesTests.java
@@ -2,6 +2,7 @@ package org.zwobble.couscous.tests.frontends.java;
import org.junit.Test;
import org.zwobble.couscous.ast.VariableDeclaration;
+import org.zwobble.couscous.tests.TestIds;
import org.zwobble.couscous.values.StringValue;
import java.util.List;
@@ -19,14 +20,14 @@ import static org.zwobble.couscous.frontends.java.FreeVariables.findFreeVariable
public class FreeVariablesTests {
@Test
public void referenceIsFreeIfThereIsNoAssociatedDeclaration() {
- VariableDeclaration declaration = var("[id]", "[name]", StringValue.REF);
+ VariableDeclaration declaration = var(TestIds.ANY_ID, "[name]", StringValue.REF);
List<VariableDeclaration> freeVariables = findFreeVariables(asList(reference(declaration)));
assertEquals(asList(declaration), freeVariables);
}
@Test
public void referenceIsNotFreeIfIsDeclaredAsArgument() {
- VariableDeclaration declaration = var("[id]", "[name]", StringValue.REF);
+ VariableDeclaration declaration = var(TestIds.ANY_ID, "[name]", StringValue.REF);
List<VariableDeclaration> freeVariables = findFreeVariables(
asList(formalArg(declaration), reference(declaration)));
assertEquals(emptyList(), freeVariables);
@@ -34,7 +35,7 @@ public class FreeVariablesTests {
@Test
public void referenceIsNotFreeIfIsReferenceToLocalDefinedInBody() {
- VariableDeclaration declaration = var("[id]", "[name]", StringValue.REF);
+ VariableDeclaration declaration = var(TestIds.ANY_ID, "[name]", StringValue.REF);
List<VariableDeclaration> freeVariables = findFreeVariables(
asList(
localVariableDeclaration(declaration, literal("[value]")),
diff --git a/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java b/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java
index 3aab776..15404a4 100644
--- a/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java
+++ b/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java
@@ -186,7 +186,6 @@ public class JavaReaderTests {
"java.util.function.Function<Integer, Integer> function = (Integer x) -> x;")));
}
- @Ignore("This works except for making the IDs match up")
@Test
public void expressionMethodReferenceIsReadAsLambda() {
assertEquals(