diff options
Diffstat (limited to 'src/test/java')
| -rw-r--r-- | src/test/java/org/shedlang/compiler/typechecker/TypeCheckerFunctionExpressionTests.java | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerFunctionExpressionTests.java b/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerFunctionExpressionTests.java index 85f6b3b7..1d858123 100644 --- a/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerFunctionExpressionTests.java +++ b/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerFunctionExpressionTests.java @@ -38,4 +38,20 @@ public class TypeCheckerFunctionExpressionTests { .withType(new FunctionType(List.of(), List.of(), Effects.NONE, Types.UNIT)) ); } + + @Test + public void whenFunctionHasNoExplicitReturnsThenReturnTypeIsUnit() { + var untyped = UntypedFunctionExpressionNode.builder() + .withoutReturnType() + .build(); + var context = TypeCheckerContext.EMPTY; + + var typed = typeCheckExpression(untyped, context); + + assertThat( + typed.value(), + isTypedFunctionExpressionNode() + .withType(new FunctionType(List.of(), List.of(), Effects.NONE, Types.UNIT)) + ); + } } |
