From 3167155f4ab0beaef9436bacb0b8a6fdb7764dac Mon Sep 17 00:00:00 2001 From: Geir Storli Date: Mon, 25 Feb 2019 08:58:15 +0000 Subject: Support add operation on mixed tensors. --- .../tensor_add_operation_test.cpp | 47 ++++++++++++++++++++++ 1 file changed, 47 insertions(+) (limited to 'eval/src/tests') 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(source); + auto argTensor = makeTensor(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 -- cgit v1.2.3