diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-03-09 18:11:17 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-03-09 18:11:17 +0000 |
| commit | 20dc1e124d606cf4298d5112b6d3c4f6c74e9b68 (patch) | |
| tree | 47914e8b0356b2f40e3723eae650d3bb6f100dd4 /src/test/java/org/zwobble/couscous/tests/frontends | |
| parent | 8ac6cb16b727b5e3d28ab89fee1d169a4f74d9a1 (diff) | |
Introduce Type interface
Diffstat (limited to 'src/test/java/org/zwobble/couscous/tests/frontends')
| -rw-r--r-- | src/test/java/org/zwobble/couscous/tests/frontends/java/ExpressionReadingTests.java | 39 | ||||
| -rw-r--r-- | src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java | 31 |
2 files changed, 36 insertions, 34 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 2f59e57..e73b63b 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 @@ -2,6 +2,7 @@ package org.zwobble.couscous.tests.frontends.java; import org.junit.Test; import org.zwobble.couscous.ast.*; +import org.zwobble.couscous.ast.types.ScalarType; import org.zwobble.couscous.values.BooleanValue; import org.zwobble.couscous.values.IntegerValue; import org.zwobble.couscous.values.ObjectValues; @@ -43,7 +44,7 @@ public class ExpressionReadingTests { @Test public void canReadThisReference() { assertEquals( - thisReference(TypeName.of("com.example.Example")), + thisReference(ScalarType.of("com.example.Example")), readExpressionInInstanceMethod("com.example.Example", "this")); } @@ -59,7 +60,7 @@ public class ExpressionReadingTests { "private String name;"); assertEquals( - list(field("name", TypeName.of("java.lang.String"))), + list(field("name", ScalarType.of("java.lang.String"))), classNode.getFields()); } @@ -69,7 +70,7 @@ public class ExpressionReadingTests { "private static String name;"); assertEquals( - list(staticField("name", TypeName.of("java.lang.String"))), + list(staticField("name", ScalarType.of("java.lang.String"))), classNode.getFields()); } @@ -93,7 +94,7 @@ public class ExpressionReadingTests { ReturnNode returnNode = (ReturnNode) classNode.getMethods().get(0).getBody().get().get(0); assertEquals( fieldAccess( - thisReference(TypeName.of("com.example.Example")), + thisReference(ScalarType.of("com.example.Example")), "name", StringValue.REF), returnNode.getValue()); @@ -119,7 +120,7 @@ public class ExpressionReadingTests { ReturnNode returnNode = (ReturnNode) classNode.getMethods().get(0).getBody().get().get(0); assertEquals( fieldAccess( - TypeName.of("com.example.Example"), + ScalarType.of("com.example.Example"), "name", StringValue.REF), returnNode.getValue()); @@ -149,7 +150,7 @@ public class ExpressionReadingTests { assertEquals( methodCall( - ThisReferenceNode.thisReference(TypeName.of("com.example.Example")), + ThisReferenceNode.thisReference(ScalarType.of("com.example.Example")), "loop", list(), StringValue.REF), @@ -160,7 +161,7 @@ public class ExpressionReadingTests { public void canReadStaticMethodCalls() { assertEquals( staticMethodCall( - TypeName.of("java.lang.Integer"), + ScalarType.of("java.lang.Integer"), "parseInt", list(literal("42")), IntegerValue.REF), @@ -177,7 +178,7 @@ public class ExpressionReadingTests { assertEquals( staticMethodCall( - TypeName.of("com.example.Example"), + ScalarType.of("com.example.Example"), "loop", list(), StringValue.REF), @@ -187,7 +188,7 @@ public class ExpressionReadingTests { @Test public void canReadConstructorCalls() { assertEquals( - constructorCall(TypeName.of("java.lang.String"), list(literal("_"))), + constructorCall(ScalarType.of("java.lang.String"), list(literal("_"))), readExpression("String", "new String(\"_\")")); } @@ -205,14 +206,14 @@ public class ExpressionReadingTests { public void canUseOperatorsOnReferences() { assertEquals( same( - constructorCall(TypeName.of("java.lang.Object"), emptyList()), - constructorCall(TypeName.of("java.lang.Object"), emptyList())), + constructorCall(ScalarType.of("java.lang.Object"), emptyList()), + constructorCall(ScalarType.of("java.lang.Object"), emptyList())), readBooleanExpression("new Object() == new Object()")); assertEquals( not(same( - constructorCall(TypeName.of("java.lang.Object"), emptyList()), - constructorCall(TypeName.of("java.lang.Object"), emptyList()))), + constructorCall(ScalarType.of("java.lang.Object"), emptyList()), + constructorCall(ScalarType.of("java.lang.Object"), emptyList()))), readBooleanExpression("new Object() != new Object()")); } @@ -270,13 +271,13 @@ public class ExpressionReadingTests { assertEquals( equal( literal(1), - unboxInt(constructorCall(TypeName.of("java.lang.Integer"), list(literal(1))))), + unboxInt(constructorCall(ScalarType.of("java.lang.Integer"), list(literal(1))))), readBooleanExpression("1 == new Integer(1)")); assertEquals( notEqual( literal(1), - unboxInt(constructorCall(TypeName.of("java.lang.Integer"), list(literal(1))))), + unboxInt(constructorCall(ScalarType.of("java.lang.Integer"), list(literal(1))))), readBooleanExpression("1 != new Integer(1)")); } @@ -299,8 +300,8 @@ public class ExpressionReadingTests { public void integerOperatorUnboxesWhenBothOperandsAreBoxed() { assertEquals( integerAdd( - unboxInt(constructorCall(TypeName.of("java.lang.Integer"), list(literal(1)))), - unboxInt(constructorCall(TypeName.of("java.lang.Integer"), list(literal(2))))), + unboxInt(constructorCall(ScalarType.of("java.lang.Integer"), list(literal(1)))), + unboxInt(constructorCall(ScalarType.of("java.lang.Integer"), list(literal(2))))), readIntExpression("new Integer(1) + new Integer(2)")); } @@ -323,7 +324,7 @@ public class ExpressionReadingTests { assertEquals( assign( fieldAccess( - thisReference(TypeName.of("com.example.Example")), + thisReference(ScalarType.of("com.example.Example")), "name", StringValue.REF), literal("blah")), @@ -342,7 +343,7 @@ public class ExpressionReadingTests { assertEquals( assign( fieldAccess( - thisReference(TypeName.of("com.example.Example")), + thisReference(ScalarType.of("com.example.Example")), "value", ObjectValues.OBJECT), typeCoercion(literal(4), ObjectValues.OBJECT)), 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 4694f85..5745adb 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 @@ -2,6 +2,7 @@ package org.zwobble.couscous.tests.frontends.java; import org.junit.Test; import org.zwobble.couscous.ast.*; +import org.zwobble.couscous.ast.types.ScalarType; import org.zwobble.couscous.values.IntegerValue; import org.zwobble.couscous.values.ObjectValues; import org.zwobble.couscous.values.StringValue; @@ -77,7 +78,7 @@ public class JavaReaderTests { MethodNode method = classNode.getMethods().get(0); FormalArgumentNode argument = method.getArguments().get(0); assertEquals("value", argument.getName()); - assertEquals(TypeName.of("int"), argument.getType()); + assertEquals(ScalarType.of("int"), argument.getType()); assertEquals(1, method.getArguments().size()); ReturnNode returnNode = (ReturnNode)method.getBody().get().get(0); @@ -89,7 +90,7 @@ public class JavaReaderTests { assertEquals( expressionStatement( staticMethodCall( - TypeName.of("java.lang.Integer"), + ScalarType.of("java.lang.Integer"), "parseInt", list(literal("42")), IntegerValue.REF)), @@ -179,7 +180,7 @@ public class JavaReaderTests { assertEquals( list(assignStatement( fieldAccess( - thisReference(TypeName.of("com.example.Example")), + thisReference(ScalarType.of("com.example.Example")), "name", StringValue.REF), literal("Flaws"))), @@ -202,13 +203,13 @@ public class JavaReaderTests { list( assignStatement( fieldAccess( - thisReference(TypeName.of("com.example.Example")), + thisReference(ScalarType.of("com.example.Example")), "year", IntegerValue.REF), literal(2013)), assignStatement( fieldAccess( - thisReference(TypeName.of("com.example.Example")), + thisReference(ScalarType.of("com.example.Example")), "name", StringValue.REF), literal("Flaws"))), @@ -230,13 +231,13 @@ public class JavaReaderTests { list( assignStatement( fieldAccess( - thisReference(TypeName.of("com.example.Example")), + thisReference(ScalarType.of("com.example.Example")), "year", IntegerValue.REF), literal(2013)), assignStatement( fieldAccess( - thisReference(TypeName.of("com.example.Example")), + thisReference(ScalarType.of("com.example.Example")), "name", StringValue.REF), literal("Flaws"))), @@ -256,7 +257,7 @@ public class JavaReaderTests { assertEquals( list(assignStatement( fieldAccess( - TypeName.of("com.example.Example"), + ScalarType.of("com.example.Example"), "name", StringValue.REF), literal("Flaws"))), @@ -273,7 +274,7 @@ public class JavaReaderTests { assertEquals( list(assignStatement( fieldAccess( - TypeName.of("com.example.Example"), + ScalarType.of("com.example.Example"), "name", StringValue.REF), literal("Flaws"))), @@ -287,7 +288,7 @@ public class JavaReaderTests { MethodNode method = classNode.getMethods().get(0); assertEquals( - list(annotation(TypeName.of("java.lang.Deprecated"))), + list(annotation(ScalarType.of("java.lang.Deprecated"))), method.getAnnotations()); } @@ -309,7 +310,7 @@ public class JavaReaderTests { List<TypeNode> classes = readSource("com/example/Example.java", source); assertThat(classes, hasSize(1)); InterfaceNode classNode = (InterfaceNode) classes.get(0); - assertEquals(TypeName.of("com.example.Example"), classNode.getName()); + assertEquals(ScalarType.of("com.example.Example"), classNode.getName()); assertEquals(list(), classNode.getMethods()); assertEquals(set(), classNode.getSuperTypes()); assertEquals(list(), classNode.getTypeParameters()); @@ -322,7 +323,7 @@ public class JavaReaderTests { List<TypeNode> classes = readSource("com/example/Example.java", source); assertThat(classes, hasSize(1)); ClassNode classNode = (ClassNode) classes.get(0); - assertEquals(TypeName.of("com.example.Example"), classNode.getName()); + assertEquals(ScalarType.of("com.example.Example"), classNode.getName()); assertEquals(list(formalTypeParameter("T")), classNode.getTypeParameters()); } @@ -333,7 +334,7 @@ public class JavaReaderTests { List<TypeNode> classes = readSource("com/example/Example.java", source); assertThat(classes, hasSize(1)); InterfaceNode classNode = (InterfaceNode) classes.get(0); - assertEquals(TypeName.of("com.example.Example"), classNode.getName()); + assertEquals(ScalarType.of("com.example.Example"), classNode.getName()); assertEquals(list(formalTypeParameter("T")), classNode.getTypeParameters()); } @@ -344,9 +345,9 @@ public class JavaReaderTests { List<TypeNode> classes = readSource("com/example/Example.java", source); assertThat(classes, hasSize(1)); InterfaceNode classNode = (InterfaceNode) classes.get(0); - assertEquals(TypeName.of("com.example.Example"), classNode.getName()); + assertEquals(ScalarType.of("com.example.Example"), classNode.getName()); assertEquals(list(), classNode.getMethods()); - assertThat(classNode.getSuperTypes(), contains(TypeName.of("java.util.function.IntSupplier"))); + assertThat(classNode.getSuperTypes(), contains(ScalarType.of("java.util.function.IntSupplier"))); } @Test |
