24.02.1
TestCase.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2017-2018 Arm Limited.
3
*
4
* SPDX-License-Identifier: MIT
5
*
6
* Permission is hereby granted, free of charge, to any person obtaining a copy
7
* of this software and associated documentation files (the "Software"), to
8
* deal in the Software without restriction, including without limitation the
9
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
10
* sell copies of the Software, and to permit persons to whom the Software is
11
* furnished to do so, subject to the following conditions:
12
*
13
* The above copyright notice and this permission notice shall be included in all
14
* copies or substantial portions of the Software.
15
*
16
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
* SOFTWARE.
23
*/
24
#ifndef ARM_COMPUTE_TEST_TESTCASE
25
#define ARM_COMPUTE_TEST_TESTCASE
26
27
#include <string>
28
#include <utility>
29
30
namespace
arm_compute
31
{
32
namespace
test
33
{
34
namespace
framework
35
{
36
/** Abstract test case class.
37
*
38
* All test cases have to inherit from this class.
39
*/
40
class
TestCase
41
{
42
public
:
43
/** Setup the test */
44
virtual
void
do_setup
() {};
45
/** Run the test */
46
virtual
void
do_run
() {};
47
/** Sync the test */
48
virtual
void
do_sync
() {};
49
/** Teardown the test */
50
virtual
void
do_teardown
() {};
51
52
/** Default destructor. */
53
virtual
~TestCase
() =
default
;
54
55
protected
:
56
TestCase
() =
default
;
57
58
friend
class
TestCaseFactory
;
59
};
60
61
/** Data test case class */
62
template
<
typename
T>
63
class
DataTestCase
:
public
TestCase
64
{
65
protected
:
66
/** Construct a data test case.
67
*
68
* @param[in] data Test data.
69
*/
70
explicit
DataTestCase
(T data)
71
: _data{ std::move(data) }
72
{
73
}
74
75
T _data;
76
};
77
}
// namespace framework
78
}
// namespace test
79
}
// namespace arm_compute
80
#endif
/* ARM_COMPUTE_TEST_TESTCASE */
arm_compute::test::framework::TestCase::do_teardown
virtual void do_teardown()
Teardown the test.
Definition:
TestCase.h:50
arm_compute::test::framework::DataTestCase
Data test case class.
Definition:
TestCase.h:63
arm_compute::test::framework::TestCase::do_sync
virtual void do_sync()
Sync the test.
Definition:
TestCase.h:48
arm_compute::test::framework::TestCase::do_setup
virtual void do_setup()
Setup the test.
Definition:
TestCase.h:44
arm_compute::test::framework::TestCase::~TestCase
virtual ~TestCase()=default
Default destructor.
arm_compute::test::framework::TestCase::do_run
virtual void do_run()
Run the test.
Definition:
TestCase.h:46
arm_compute::test::framework::TestCaseFactory
Abstract factory class to create test cases.
Definition:
TestCaseFactory.h:40
arm_compute::test::framework::TestCase
Abstract test case class.
Definition:
TestCase.h:40
arm_compute
Copyright (c) 2017-2024 Arm Limited.
Definition:
introduction.dox:24
tests
framework
TestCase.h
Generated on Mon Mar 18 2024 11:32:04 for Compute Library by
1.8.17