summaryrefslogtreecommitdiffstats
path: root/eval
diff options
context:
space:
mode:
authorArne Juul <arnej@verizonmedia.com>2020-11-04 14:32:15 +0000
committerArne Juul <arnej@verizonmedia.com>2020-11-04 14:32:15 +0000
commitd88bbff8050f59d19b7cad81ae6067ab8b4c1636 (patch)
treeeec1ccb4399c9515b8852b2e3121989ddafcfca1 /eval
parent45cbfe5b1f40caad53d28f936ada89cbcdbb4741 (diff)
also add test of type exporting for inner lambdas
Diffstat (limited to 'eval')
-rw-r--r--eval/src/tests/eval/tensor_lambda/tensor_lambda_test.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/eval/src/tests/eval/tensor_lambda/tensor_lambda_test.cpp b/eval/src/tests/eval/tensor_lambda/tensor_lambda_test.cpp
index 00956a96b1c..4dc178d4b35 100644
--- a/eval/src/tests/eval/tensor_lambda/tensor_lambda_test.cpp
+++ b/eval/src/tests/eval/tensor_lambda/tensor_lambda_test.cpp
@@ -215,4 +215,16 @@ TEST("require that type resolving also include nodes in the inner tensor lambda
EXPECT_EQUAL(types.get_type(*symbol).to_spec(), "double");
}
+TEST("require that type exporting also include nodes in the inner tensor lambda function") {
+ auto fun = Function::parse("tensor(x[2])(tensor(y[2])((x+y)+a){y:(x)})");
+ NodeTypes types(*fun, {ValueType::from_spec("double")});
+ const auto &root = fun->root();
+ auto lambda = nodes::as<nodes::TensorLambda>(root);
+ ASSERT_TRUE(lambda != nullptr);
+ NodeTypes outer = types.export_types(root);
+ ASSERT_TRUE(outer.errors().empty());
+ NodeTypes inner = outer.export_types(lambda->lambda().root());
+ EXPECT_TRUE(inner.errors().empty());
+}
+
TEST_MAIN() { TEST_RUN_ALL(); }