diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-03-21 08:13:45 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-03-21 08:13:45 +0000 |
| commit | fe113241971cfe87b163a9eb4dc51e9d5e32410e (patch) | |
| tree | f9e435c44020ffbbb9231df79719a4d407ea8000 /src/test/java/org/zwobble/couscous/tests/frontends | |
| parent | 22f5765125eea28ae158bab4d9e96ae6472b73d4 (diff) | |
Move standard type definitions into a Types class
Diffstat (limited to 'src/test/java/org/zwobble/couscous/tests/frontends')
3 files changed, 35 insertions, 41 deletions
diff --git a/src/test/java/org/zwobble/couscous/tests/frontends/java/ExpressionReadingTests.java b/src/test/java/org/zwobble/couscous/tests/frontends/java/ExpressionReadingTests.java index cc36c20..3ad255b 100644 --- a/src/test/java/org/zwobble/couscous/tests/frontends/java/ExpressionReadingTests.java +++ b/src/test/java/org/zwobble/couscous/tests/frontends/java/ExpressionReadingTests.java @@ -3,10 +3,7 @@ package org.zwobble.couscous.tests.frontends.java; import org.junit.Test; import org.zwobble.couscous.ast.*; import org.zwobble.couscous.types.ScalarType; -import org.zwobble.couscous.values.BooleanValue; -import org.zwobble.couscous.values.IntegerValue; -import org.zwobble.couscous.values.ObjectValues; -import org.zwobble.couscous.values.StringValue; +import org.zwobble.couscous.types.Types; import java.util.List; @@ -38,7 +35,7 @@ public class ExpressionReadingTests { assertEquals(literal(false), readBooleanExpression("false")); assertEquals(literal(42), readIntExpression("42")); assertEquals(literal('h'), readIntExpression("'h'")); - assertEquals(literal(StringValue.REF), readExpression("Class<String>", "String.class")); + assertEquals(literal(Types.STRING), readExpression("Class<String>", "String.class")); } @Test @@ -51,7 +48,7 @@ public class ExpressionReadingTests { @Test public void canReadCasts() { assertEquals( - cast(literal(42), ObjectValues.OBJECT), + cast(literal(42), Types.OBJECT), readExpression("Object", "(Object)42")); } @Test @@ -96,7 +93,7 @@ public class ExpressionReadingTests { fieldAccess( thisReference(ScalarType.of("com.example.Example")), "name", - StringValue.REF), + Types.STRING), returnNode.getValue()); } @@ -122,21 +119,21 @@ public class ExpressionReadingTests { fieldAccess( ScalarType.of("com.example.Example"), "name", - StringValue.REF), + Types.STRING), returnNode.getValue()); } @Test public void canReadInstanceMethodCalls() { assertEquals( - methodCall(literal("hello"), "startsWith", list(literal("h")), BooleanValue.REF), + methodCall(literal("hello"), "startsWith", list(literal("h")), Types.BOOLEAN), readBooleanExpression("\"hello\".startsWith(\"h\")")); List<StatementNode> statements = readStatements("int", "Object x = 1; return x.hashCode();"); LocalVariableDeclarationNode declaration = (LocalVariableDeclarationNode) statements.get(0); ReturnNode returnNode = (ReturnNode) statements.get(1); assertEquals( - methodCall(reference(declaration), "hashCode", list(), IntegerValue.REF), + methodCall(reference(declaration), "hashCode", list(), Types.INT), returnNode.getValue()); } @@ -153,7 +150,7 @@ public class ExpressionReadingTests { ThisReferenceNode.thisReference(ScalarType.of("com.example.Example")), "loop", list(), - StringValue.REF), + Types.STRING), returnNode.getValue()); } @@ -164,7 +161,7 @@ public class ExpressionReadingTests { ScalarType.of("java.lang.Integer"), "parseInt", list(literal("42")), - IntegerValue.REF), + Types.INT), readIntExpression("Integer.parseInt(\"42\")")); } @@ -181,7 +178,7 @@ public class ExpressionReadingTests { ScalarType.of("com.example.Example"), "loop", list(), - StringValue.REF), + Types.STRING), returnNode.getValue()); } @@ -198,7 +195,7 @@ public class ExpressionReadingTests { "String", "java.util.Objects.toString(42)"); assertEquals( - typeCoercion(literal(42), ObjectValues.OBJECT), + typeCoercion(literal(42), Types.OBJECT), expression.getArguments().get(0)); } @@ -285,14 +282,14 @@ public class ExpressionReadingTests { public void equalityOperatorDoesNotUnboxIfBothOperandsAreBoxed() { assertEquals( same( - typeCoercion(constructorCall(ObjectValues.BOXED_INT, list(literal(1))), ObjectValues.OBJECT), - typeCoercion(constructorCall(ObjectValues.BOXED_INT, list(literal(2))), ObjectValues.OBJECT)), + typeCoercion(constructorCall(Types.BOXED_INT, list(literal(1))), Types.OBJECT), + typeCoercion(constructorCall(Types.BOXED_INT, list(literal(2))), Types.OBJECT)), readBooleanExpression("new Integer(1) == new Integer(2)")); assertEquals( not(same( - typeCoercion(constructorCall(ObjectValues.BOXED_INT, list(literal(1))), ObjectValues.OBJECT), - typeCoercion(constructorCall(ObjectValues.BOXED_INT, list(literal(2))), ObjectValues.OBJECT))), + typeCoercion(constructorCall(Types.BOXED_INT, list(literal(1))), Types.OBJECT), + typeCoercion(constructorCall(Types.BOXED_INT, list(literal(2))), Types.OBJECT))), readBooleanExpression("new Integer(1) != new Integer(2)")); } @@ -326,7 +323,7 @@ public class ExpressionReadingTests { fieldAccess( thisReference(ScalarType.of("com.example.Example")), "name", - StringValue.REF), + Types.STRING), literal("blah")), returnNode.getValue()); } @@ -345,8 +342,8 @@ public class ExpressionReadingTests { fieldAccess( thisReference(ScalarType.of("com.example.Example")), "value", - ObjectValues.OBJECT), - typeCoercion(literal(4), ObjectValues.OBJECT)), + Types.OBJECT), + typeCoercion(literal(4), Types.OBJECT)), returnNode.getValue()); } 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 84e9508..8bcf38d 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 @@ -4,11 +4,10 @@ import org.junit.Test; import org.zwobble.couscous.ast.ReferenceNode; import org.zwobble.couscous.ast.VariableDeclaration; import org.zwobble.couscous.tests.TestIds; -import org.zwobble.couscous.values.StringValue; +import org.zwobble.couscous.types.Types; import java.util.List; -import static java.util.Arrays.asList; import static java.util.Collections.emptyList; import static org.junit.Assert.assertEquals; import static org.zwobble.couscous.ast.FormalArgumentNode.formalArg; @@ -22,14 +21,14 @@ import static org.zwobble.couscous.util.ExtraLists.list; public class FreeVariablesTests { @Test public void referenceIsFreeIfThereIsNoAssociatedDeclaration() { - VariableDeclaration declaration = var(TestIds.ANY_ID, "[name]", StringValue.REF); + VariableDeclaration declaration = var(TestIds.ANY_ID, "[name]", Types.STRING); List<ReferenceNode> freeVariables = findFreeVariables(list(reference(declaration))); assertEquals(list(reference(declaration)), freeVariables); } @Test public void referenceIsNotFreeIfIsDeclaredAsArgument() { - VariableDeclaration declaration = var(TestIds.ANY_ID, "[name]", StringValue.REF); + VariableDeclaration declaration = var(TestIds.ANY_ID, "[name]", Types.STRING); List<ReferenceNode> freeVariables = findFreeVariables( list(formalArg(declaration), reference(declaration))); assertEquals(emptyList(), freeVariables); @@ -37,7 +36,7 @@ public class FreeVariablesTests { @Test public void referenceIsNotFreeIfIsReferenceToLocalDefinedInBody() { - VariableDeclaration declaration = var(TestIds.ANY_ID, "[name]", StringValue.REF); + VariableDeclaration declaration = var(TestIds.ANY_ID, "[name]", Types.STRING); List<ReferenceNode> freeVariables = findFreeVariables( list( 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 c3b83a0..97b8b66 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 @@ -3,9 +3,7 @@ package org.zwobble.couscous.tests.frontends.java; import org.junit.Test; import org.zwobble.couscous.ast.*; import org.zwobble.couscous.types.ScalarType; -import org.zwobble.couscous.values.IntegerValue; -import org.zwobble.couscous.values.ObjectValues; -import org.zwobble.couscous.values.StringValue; +import org.zwobble.couscous.types.Types; import java.util.List; @@ -41,7 +39,7 @@ public class JavaReaderTests { LocalVariableDeclarationNode declaration = (LocalVariableDeclarationNode) statements.get(0); assertEquals("x", declaration.getName()); - assertEquals(IntegerValue.REF, declaration.getType()); + assertEquals(Types.INT, declaration.getType()); assertEquals(literal(4), declaration.getInitialValue()); ReturnNode returnNode = (ReturnNode) statements.get(1); assertEquals( @@ -54,7 +52,7 @@ public class JavaReaderTests { StatementNode statement = readStatement("void", "Object x = 4;"); LocalVariableDeclarationNode declaration = (LocalVariableDeclarationNode) statement; - assertEquals(typeCoercion(literal(4), ObjectValues.OBJECT), declaration.getInitialValue()); + assertEquals(typeCoercion(literal(4), Types.OBJECT), declaration.getInitialValue()); } @Test @@ -65,7 +63,7 @@ public class JavaReaderTests { "}"); MethodNode method = classNode.getMethods().get(0); - assertEquals(IntegerValue.REF, method.getReturnType()); + assertEquals(Types.INT, method.getReturnType()); } @Test @@ -93,7 +91,7 @@ public class JavaReaderTests { ScalarType.of("java.lang.Integer"), "parseInt", list(literal("42")), - IntegerValue.REF)), + Types.INT)), readStatement("void", "Integer.parseInt(\"42\");")); } @@ -182,7 +180,7 @@ public class JavaReaderTests { fieldAccess( thisReference(ScalarType.of("com.example.Example")), "name", - StringValue.REF), + Types.STRING), literal("Flaws"))), constructor.getBody()); } @@ -205,13 +203,13 @@ public class JavaReaderTests { fieldAccess( thisReference(ScalarType.of("com.example.Example")), "year", - IntegerValue.REF), + Types.INT), literal(2013)), assignStatement( fieldAccess( thisReference(ScalarType.of("com.example.Example")), "name", - StringValue.REF), + Types.STRING), literal("Flaws"))), constructor.getBody()); } @@ -233,13 +231,13 @@ public class JavaReaderTests { fieldAccess( thisReference(ScalarType.of("com.example.Example")), "year", - IntegerValue.REF), + Types.INT), literal(2013)), assignStatement( fieldAccess( thisReference(ScalarType.of("com.example.Example")), "name", - StringValue.REF), + Types.STRING), literal("Flaws"))), constructor.getBody()); } @@ -259,7 +257,7 @@ public class JavaReaderTests { fieldAccess( ScalarType.of("com.example.Example"), "name", - StringValue.REF), + Types.STRING), literal("Flaws"))), staticConstructor); } @@ -276,7 +274,7 @@ public class JavaReaderTests { fieldAccess( ScalarType.of("com.example.Example"), "name", - StringValue.REF), + Types.STRING), literal("Flaws"))), staticConstructor); } @@ -362,7 +360,7 @@ public class JavaReaderTests { MethodNode expectedMethod = MethodNode.builder("get") .isAbstract() - .returns(IntegerValue.REF) + .returns(Types.INT) .build(); assertEquals(list(expectedMethod), classNode.getMethods()); } |
