summaryrefslogtreecommitdiffstats
path: root/eval/src/tests/tensor/tensor_add_operation/tensor_add_operation_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'eval/src/tests/tensor/tensor_add_operation/tensor_add_operation_test.cpp')
-rw-r--r--eval/src/tests/tensor/tensor_add_operation/tensor_add_operation_test.cpp47
1 files changed, 47 insertions, 0 deletions
diff --git a/eval/src/tests/tensor/tensor_add_operation/tensor_add_operation_test.cpp b/eval/src/tests/tensor/tensor_add_operation/tensor_add_operation_test.cpp
index 2f36aba6e3a..4c92dc717a7 100644
--- a/eval/src/tests/tensor/tensor_add_operation/tensor_add_operation_test.cpp
+++ b/eval/src/tests/tensor/tensor_add_operation/tensor_add_operation_test.cpp
@@ -21,6 +21,15 @@ assertAdd(const TensorSpec &source, const TensorSpec &arg, const TensorSpec &exp
EXPECT_EQ(actual, expected);
}
+void
+assertNullTensor(const TensorSpec &source, const TensorSpec &arg)
+{
+ auto sourceTensor = makeTensor<Tensor>(source);
+ auto argTensor = makeTensor<Tensor>(arg);
+ auto resultTensor = sourceTensor->add(*argTensor);
+ EXPECT_FALSE(resultTensor);
+}
+
TEST(TensorAddTest, cells_can_be_added_to_a_sparse_tensor)
{
assertAdd(TensorSpec("tensor(x{},y{})")
@@ -35,4 +44,42 @@ TEST(TensorAddTest, cells_can_be_added_to_a_sparse_tensor)
.add({{"x","e"},{"y","f"}}, 7));
}
+TEST(TensorAddTest, cells_can_be_added_to_a_mixed_tensor)
+{
+ assertAdd(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[2])")
+ .add({{"x","b"},{"y",0}}, 6)
+ .add({{"x","b"},{"y",1}}, 7)
+ .add({{"x","c"},{"y",0}}, 8)
+ .add({{"x","c"},{"y",1}}, 9),
+ TensorSpec("tensor(x{},y[2])")
+ .add({{"x","a"},{"y",0}}, 2)
+ .add({{"x","a"},{"y",1}}, 3)
+ .add({{"x","b"},{"y",0}}, 6)
+ .add({{"x","b"},{"y",1}}, 7)
+ .add({{"x","c"},{"y",0}}, 8)
+ .add({{"x","c"},{"y",1}}, 9));
+}
+
+TEST(TensorAddTest, cells_can_be_added_to_empty_mixed_tensor)
+{
+ assertAdd(TensorSpec("tensor(x{},y[2])"),
+ TensorSpec("tensor(x{},y[2])")
+ .add({{"x","b"},{"y",0}}, 6)
+ .add({{"x","b"},{"y",1}}, 7),
+ TensorSpec("tensor(x{},y[2])")
+ .add({{"x","b"},{"y",0}}, 6)
+ .add({{"x","b"},{"y",1}}, 7));
+}
+
+TEST(TensorAddTest, tensors_of_different_types_cannot_be_added_together)
+{
+ assertNullTensor(TensorSpec("tensor(x{},y[2])"), TensorSpec("tensor(x{},y{})"));
+ assertNullTensor(TensorSpec("tensor(x{},y[2])"), TensorSpec("tensor(x{},y[3])"));
+}
+
GTEST_MAIN_RUN_ALL_TESTS