aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/org/zwobble/couscous/tests/frontends
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-03-09 18:11:17 +0000
committerMichael Williamson <mike@zwobble.org>2016-03-09 18:11:17 +0000
commit20dc1e124d606cf4298d5112b6d3c4f6c74e9b68 (patch)
tree47914e8b0356b2f40e3723eae650d3bb6f100dd4 /src/test/java/org/zwobble/couscous/tests/frontends
parent8ac6cb16b727b5e3d28ab89fee1d169a4f74d9a1 (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.java39
-rw-r--r--src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java31
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