diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-01-01 20:00:02 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-01-01 20:01:19 +0000 |
| commit | d5a4fb60e3b62f4dc1b67c83cd62c1a264bb4a12 (patch) | |
| tree | cc5e2dfaf6468370a841e41dd91285b76e6cfd2f /src/test/java | |
| parent | 4fd8b4132fd8f49b5368b86ebdbcdb84a0bdf7d0 (diff) | |
Generate variable IDs without Eclipse keys
Diffstat (limited to 'src/test/java')
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( |
