blob: e9f2b2f6cf7904c94d60f0fc35b07c5034fbf6c7 [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
Colm Donelanc42a9872022-02-02 16:35:09 +00008#include "MockBackend.hpp"
9#include "MockTensorHandleFactory.hpp"
Colm Donelan17948b52022-02-01 23:37:04 +000010#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