aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/org/zwobble
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-04-10 20:50:37 +0100
committerMichael Williamson <mike@zwobble.org>2016-04-10 20:50:37 +0100
commit58de7ebb1744bc77f48c1f64645e3a611d1280ac (patch)
treeca0d412cb6be27d4055e16e009f882e8bae61b88 /src/test/java/org/zwobble
parent0dde3d8022966762c090687b6945c496eb8a168c (diff)
Write type parameters for interface methods
Diffstat (limited to 'src/test/java/org/zwobble')
-rw-r--r--src/test/java/org/zwobble/couscous/tests/backends/csharp/CsharpSerializerTests.java17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/test/java/org/zwobble/couscous/tests/backends/csharp/CsharpSerializerTests.java b/src/test/java/org/zwobble/couscous/tests/backends/csharp/CsharpSerializerTests.java
index 991ec79..d7cce40 100644
--- a/src/test/java/org/zwobble/couscous/tests/backends/csharp/CsharpSerializerTests.java
+++ b/src/test/java/org/zwobble/couscous/tests/backends/csharp/CsharpSerializerTests.java
@@ -492,6 +492,23 @@ public class CsharpSerializerTests {
}
@Test
+ public void interfaceWithMethodWithTypeParameters() {
+ MethodNode method = MethodNode.staticMethod("nothing")
+ .typeParameter(formalTypeParameter(Identifiers.method(Identifiers.forType("com.Example.example"), "nothing"), "T"))
+ .typeParameter(formalTypeParameter(Identifiers.method(Identifiers.forType("com.Example.example"), "nothing"), "U"))
+ .returns(ScalarType.of("void"))
+ .build();
+
+ Node node = new ClassNodeBuilder(ScalarType.of("com.example.Example"))
+ .method(method)
+ .buildInterface();
+
+ String output = serialize(node);
+
+ assertEquals("namespace com.example {\n internal interface Example {\n void nothing<T, U>();\n }\n}\n", output);
+ }
+
+ @Test
public void enumWithSimpleValues() {
Node node = declareEnum(ScalarType.of("com.example.Example"), list("ONE", "TWO"));