diff --git a/tests/ut/cpp/dataset/CMakeLists.txt b/tests/ut/cpp/dataset/CMakeLists.txt index 3b16737f5209828dcf20530ed37476d1d0157d78..8478c8257ef0fba1e362cc0d5c1a8e5f3f392abd 100644 --- a/tests/ut/cpp/dataset/CMakeLists.txt +++ b/tests/ut/cpp/dataset/CMakeLists.txt @@ -17,6 +17,7 @@ SET(DE_UT_SRCS circular_pool_test.cc client_config_test.cc connector_test.cc + cut_out_op_test.cc datatype_test.cc decode_op_test.cc execution_tree_test.cc @@ -28,6 +29,7 @@ SET(DE_UT_SRCS normalize_op_test.cc one_hot_op_test.cc pad_end_op_test.cc + pad_op_test.cc path_test.cc project_op_test.cc queue_test.cc diff --git a/tests/ut/cpp/dataset/cut_out_op_test.cc b/tests/ut/cpp/dataset/cut_out_op_test.cc new file mode 100644 index 0000000000000000000000000000000000000000..462fb3a875b339f51752b025baaea3520da09495 --- /dev/null +++ b/tests/ut/cpp/dataset/cut_out_op_test.cc @@ -0,0 +1,44 @@ +/** + * Copyright 2020 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "common/common.h" +#include "common/cvop_common.h" +#include "dataset/kernels/image/cut_out_op.h" +#include "utils/log_adapter.h" + +using namespace mindspore::dataset; +using mindspore::MsLogLevel::INFO; +using mindspore::ExceptionType::NoExceptionType; +using mindspore::LogStream; + +class MindDataTestCutOutOp : public UT::CVOP::CVOpCommon { + protected: + MindDataTestCutOutOp() : CVOpCommon() {} + + std::shared_ptr output_tensor_; +}; + +TEST_F(MindDataTestCutOutOp, TestOp) { + MS_LOG(INFO) << "Doing testCutOut."; + std::unique_ptr op(new CutOutOp(50, 50, 5, false, 0, 0, 0)); + + EXPECT_TRUE(op->OneToOne()); + Status s = op->Compute(input_tensor_, &output_tensor_); + EXPECT_EQ(input_tensor_->shape()[0], output_tensor_->shape()[0]); + EXPECT_EQ(input_tensor_->shape()[1], output_tensor_->shape()[1]); + EXPECT_EQ(input_tensor_->shape()[2], output_tensor_->shape()[2]); + EXPECT_EQ(s, Status::OK()); +} + diff --git a/tests/ut/cpp/dataset/pad_op_test.cc b/tests/ut/cpp/dataset/pad_op_test.cc new file mode 100644 index 0000000000000000000000000000000000000000..b659d009f3725b47596360a505ffd8d206373e6b --- /dev/null +++ b/tests/ut/cpp/dataset/pad_op_test.cc @@ -0,0 +1,44 @@ +/** + * Copyright 2020 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "common/common.h" +#include "common/cvop_common.h" +#include "dataset/kernels/image/pad_op.h" +#include "utils/log_adapter.h" + +using namespace mindspore::dataset; +using mindspore::MsLogLevel::INFO; +using mindspore::ExceptionType::NoExceptionType; +using mindspore::LogStream; + +class MindDataTestPadOp : public UT::CVOP::CVOpCommon { + protected: + MindDataTestPadOp() : CVOpCommon() {} + + std::shared_ptr output_tensor_; +}; + +TEST_F(MindDataTestPadOp, TestOp) { + MS_LOG(INFO) << "Doing testPad."; + std::unique_ptr op(new PadOp(10, 20, 30, 40, BorderType::kConstant)); + EXPECT_TRUE(op->OneToOne()); + Status s = op->Compute(input_tensor_, &output_tensor_); + size_t actual = 0; + if (s == Status::OK()) { + actual = output_tensor_->shape()[0] * output_tensor_->shape()[1] * output_tensor_->shape()[2]; + } + EXPECT_EQ(actual, (input_tensor_->shape()[0] + 30) * (input_tensor_->shape()[1] + 70) * 3); + EXPECT_EQ(s, Status::OK()); +}