summaryrefslogtreecommitdiffstats
path: root/eval/src/tests/tensor/tensor_modify_operation/tensor_modify_operation_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'eval/src/tests/tensor/tensor_modify_operation/tensor_modify_operation_test.cpp')
-rw-r--r--eval/src/tests/tensor/tensor_modify_operation/tensor_modify_operation_test.cpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/eval/src/tests/tensor/tensor_modify_operation/tensor_modify_operation_test.cpp b/eval/src/tests/tensor/tensor_modify_operation/tensor_modify_operation_test.cpp
index ff59b28d60c..0b68088f93b 100644
--- a/eval/src/tests/tensor/tensor_modify_operation/tensor_modify_operation_test.cpp
+++ b/eval/src/tests/tensor/tensor_modify_operation/tensor_modify_operation_test.cpp
@@ -61,6 +61,23 @@ TEST(TensorModifyTest, dense_tensors_can_be_modified)
.add({{"x",9},{"y",9}}, 11));
}
+TEST(TensorModifyTest, mixed_tensors_can_be_modified)
+{
+ checkUpdate(TensorSpec("tensor(x{},y[2])")
+ .add({{"x","a"},{"y",0}}, 2)
+ .add({{"x","a"},{"y",1}}, 3)
+ .add({{"x","b"},{"y",0}}, 4)
+ .add({{"x","b"},{"y",1}}, 5),
+ TensorSpec("tensor(x{},y{})")
+ .add({{"x","a"},{"y","0"}}, 6)
+ .add({{"x","b"},{"y","1"}}, 7),
+ TensorSpec("tensor(x{},y[2])")
+ .add({{"x","a"},{"y",0}}, 6)
+ .add({{"x","a"},{"y",1}}, 3)
+ .add({{"x","b"},{"y",0}}, 4)
+ .add({{"x","b"},{"y",1}}, 7));
+}
+
TEST(TensorModifyTest, sparse_tensors_ignore_updates_to_missing_cells)
{
checkUpdate(TensorSpec("tensor(x{},y{})")
@@ -87,4 +104,17 @@ TEST(TensorModifyTest, dense_tensors_ignore_updates_to_out_of_range_cells)
.add({{"x",9},{"y",9}}, 11));
}
+TEST(TensorModifyTest, mixed_tensors_ignore_updates_to_missing_or_out_of_range_cells)
+{
+ checkUpdate(TensorSpec("tensor(x{},y[2])")
+ .add({{"x","a"},{"y",0}}, 2)
+ .add({{"x","a"},{"y",1}}, 3),
+ TensorSpec("tensor(x{},y{})")
+ .add({{"x","a"},{"y","2"}}, 4)
+ .add({{"x","c"},{"y","0"}}, 5),
+ TensorSpec("tensor(x{},y[2])")
+ .add({{"x","a"},{"y",0}}, 2)
+ .add({{"x","a"},{"y",1}}, 3));
+}
+
GTEST_MAIN_RUN_ALL_TESTS