// SPDX-License-Identifier: Apache-2.0 #include "gtest/gtest.h" #include "kompute/Kompute.hpp" #include "kompute/logger/Logger.hpp" TEST(TestOpTensorCreate, CreateSingleTensorSingleOp) { std::vector testVecA{ 9, 8, 7 }; std::shared_ptr> tensorA = nullptr; { kp::Manager mgr; tensorA = mgr.tensor(testVecA); EXPECT_TRUE(tensorA->isInit()); EXPECT_EQ(tensorA->vector(), testVecA); } EXPECT_FALSE(tensorA->isInit()); } TEST(TestOpTensorCreate, NoErrorIfTensorFreedBefore) { std::vector testVecA{ 9, 8, 7 }; std::vector testVecB{ 6, 5, 4 }; kp::Manager mgr; std::shared_ptr> tensorA = mgr.tensor(testVecA); std::shared_ptr> tensorB = mgr.tensor(testVecB); EXPECT_EQ(tensorA->vector(), testVecA); EXPECT_EQ(tensorB->vector(), testVecB); tensorA->destroy(); tensorB->destroy(); EXPECT_FALSE(tensorA->isInit()); EXPECT_FALSE(tensorB->isInit()); } TEST(TestOpTensorCreate, ExceptionOnZeroSizeTensor) { std::vector testVecA; kp::Manager mgr; try { std::shared_ptr> tensorA = mgr.tensor(testVecA); } catch (const std::runtime_error& err) { // check exception ASSERT_TRUE(std::string(err.what()).find("zero-sized") != std::string::npos); } }