1 // 2 // Copyright © 2023 Arm Ltd and Contributors. All rights reserved. 3 // SPDX-License-Identifier: MIT 4 // 5 6 #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN 7 #include <doctest/doctest.h> 8 9 #include <opaque/include/armnn_delegate.hpp> 10 #include <opaque/include/Version.hpp> 11 12 namespace armnnOpaqueDelegate 13 { 14 15 TEST_SUITE("ArmnnOpaqueDelegate") 16 { 17 18 TEST_CASE ("DelegateOptions_OpaqueDelegateDefault") 19 { 20 // Check default options can be created 21 auto options = armnnOpaqueDelegate::TfLiteArmnnDelegateOptionsDefault(); 22 armnnOpaqueDelegate::ArmnnOpaqueDelegate delegate(options); 23 24 // Check version returns correctly 25 auto version = delegate.GetVersion(); 26 CHECK_EQ(version, OPAQUE_DELEGATE_VERSION); 27 28 auto* builder = delegate.GetDelegateBuilder(); 29 CHECK(builder); 30 31 // Check Opaque delegate created 32 auto opaqueDelegate = armnnOpaqueDelegate::TfLiteArmnnOpaqueDelegateCreate(&options); 33 CHECK(opaqueDelegate); 34 35 // Check Opaque Delegate can be deleted 36 CHECK(opaqueDelegate->opaque_delegate_builder->data); 37 armnnOpaqueDelegate::TfLiteArmnnOpaqueDelegateDelete(opaqueDelegate); 38 } 39 40 } 41 42 } // namespace armnnDelegate 43