From 49abcf60495c0bdd69742c58f83f33f1bfe22d3b Mon Sep 17 00:00:00 2001 From: NAUD Maxence <maxence.naud@cea.fr> Date: Tue, 3 Dec 2024 01:24:04 +0000 Subject: [PATCH] Small improvements of some tests --- unit_tests/data/Test_Tensor.cpp | 20 ++++++++++++++++++++ unit_tests/graph/Test_GraphView.cpp | 2 +- unit_tests/operator/Test_PopImpl.cpp | 23 ++++++++++++----------- 3 files changed, 33 insertions(+), 12 deletions(-) diff --git a/unit_tests/data/Test_Tensor.cpp b/unit_tests/data/Test_Tensor.cpp index 58003bb40..6c4b14602 100644 --- a/unit_tests/data/Test_Tensor.cpp +++ b/unit_tests/data/Test_Tensor.cpp @@ -120,7 +120,27 @@ TEST_CASE("[core/data] Tensor(Construction)", "[Tensor][Constructor]") { )); } SECTION("copy constructor / copy assignment operator") { + Tensor t1 = Array1D<int, 2>{{1, 2}}; + Tensor t2, t3; + REQUIRE_NOTHROW(t3 = t1); + REQUIRE(t1 == t3); + + REQUIRE_NOTHROW(t2 = Tensor(t1)); + REQUIRE(t1 == t2); + + + t1.set<int>(0, 10); + + // check copies are shallow + REQUIRE(t2.get<int>(0) == 10); + REQUIRE(t3.get<int>(0) == 10); + + // set already existing Tensor + Tensor t4 = Array1D<int, 1>{{11}}; + REQUIRE_NOTHROW(t4 = t1); + REQUIRE(t4 == t1); + REQUIRE(t4.size() == 2); } SECTION("move constructor / move assignment operator") { diff --git a/unit_tests/graph/Test_GraphView.cpp b/unit_tests/graph/Test_GraphView.cpp index a7d02cd2f..5bd435e28 100644 --- a/unit_tests/graph/Test_GraphView.cpp +++ b/unit_tests/graph/Test_GraphView.cpp @@ -816,7 +816,7 @@ TEST_CASE("[core/graph] GraphView(replace)", "[GraphView][replace]") { } } -TEST_CASE("[GraphView] clone") { +TEST_CASE("[GraphView] clone", "[GraphView][Core][Clone]") { auto dataProvider = Producer({16, 3, 224, 224}, "dataProvider"); auto conv1 = Conv(3, 32, {3, 3}, "conv1"); auto conv2 = Conv(32, 64, {3, 3}, "conv2"); diff --git a/unit_tests/operator/Test_PopImpl.cpp b/unit_tests/operator/Test_PopImpl.cpp index f46131ed8..d3c87ef72 100644 --- a/unit_tests/operator/Test_PopImpl.cpp +++ b/unit_tests/operator/Test_PopImpl.cpp @@ -16,21 +16,22 @@ #include "aidge/operator/Pop.hpp" #include "aidge/utils/TensorUtils.hpp" -using Aidge::Tensor; -using Aidge::Pop; +using namespace Aidge; TEST_CASE("[cpu/operator] Pop(forward)", "[Pop][CPU]") { - std::shared_ptr<Tensor> pop1 = std::make_shared<Tensor>(Aidge::Array1D<int,3>{{4,5,6}}); - std::shared_ptr<Tensor> pop2 = std::make_shared<Tensor>(Aidge::Array1D<int,3>{{1,2,3}}); - std::shared_ptr<Tensor> input = std::make_shared<Tensor>(Aidge::Array2D<int,2,3>{{{1,2,3}, {4,5,6}}}); + std::shared_ptr<Tensor> pop1 = std::make_shared<Tensor>(Array1D<int,3>{{4,5,6}}); + std::shared_ptr<Tensor> pop2 = std::make_shared<Tensor>(Array1D<int,3>{{1,2,3}}); + std::shared_ptr<Tensor> input = std::make_shared<Tensor>(Array2D<int,2,3>{{{1,2,3}, {4,5,6}}}); - auto pop = Aidge::Pop("pop"); - pop->getOperator()->associateInput(0, input); - pop->getOperator()->setBackend("cpu"); - pop->getOperator()->setDataType(Aidge::DataType::Int32); + auto pop = Pop("pop"); + std::shared_ptr<Pop_Op> op = std::static_pointer_cast<Pop_Op>(pop->getOperator()); + op->associateInput(0, input); + op->setBackend("cpu"); + op->setDataType(DataType::Int32); + op->forwardDims(); REQUIRE_NOTHROW(pop->forward()); - REQUIRE(*std::static_pointer_cast<Aidge::OperatorTensor>(pop->getOperator())->getOutput(0) == *pop2); + REQUIRE(*op->getOutput(0) == *pop2); REQUIRE_NOTHROW(pop->forward()); - REQUIRE(*std::static_pointer_cast<Aidge::OperatorTensor>(pop->getOperator())->getOutput(0) == *pop1); + REQUIRE(*op->getOutput(0) == *pop1); } -- GitLab