blob: 6b61cf6474946cdfaa0c7badb160522fabcb4390 [file] [log] [blame]
Colm Donelan17948b52022-02-01 23:37:04 +00001//
2// Copyright © 2022 Arm Ltd and Contributors. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
8#include <MockTensorHandleFactory.hpp>
9#include <armnnTestUtils/MockBackend.hpp>
10#include <backendsCommon/test/WorkloadFactoryHelper.hpp>
11
12namespace
13{
14
15template <>
16struct WorkloadFactoryHelper<armnn::MockWorkloadFactory>
17{
18 static armnn::IBackendInternal::IMemoryManagerSharedPtr GetMemoryManager()
19 {
20 armnn::MockBackend backend;
21 return backend.CreateMemoryManager();
22 }
23
24 static armnn::MockWorkloadFactory
25 GetFactory(const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager = nullptr)
26 {
27 IgnoreUnused(memoryManager);
28 return armnn::MockWorkloadFactory();
29 }
30
31 static armnn::MockTensorHandleFactory
32 GetTensorHandleFactory(const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager = nullptr)
33 {
34
35 return armnn::MockTensorHandleFactory(std::static_pointer_cast<armnn::MockMemoryManager>(memoryManager));
36 }
37};
38
39using MockWorkloadFactoryHelper = WorkloadFactoryHelper<armnn::MockWorkloadFactory>;
40
41} // anonymous namespace