Create class for test result
[platform/core/test/security-tests.git] / src / framework / include / dpl / test / test_result.h
1 /*
2  * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  *    Licensed under the Apache License, Version 2.0 (the "License");
5  *    you may not use this file except in compliance with the License.
6  *    You may obtain a copy of the License at
7  *
8  *        http://www.apache.org/licenses/LICENSE-2.0
9  *
10  *    Unless required by applicable law or agreed to in writing, software
11  *    distributed under the License is distributed on an "AS IS" BASIS,
12  *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  *    See the License for the specific language governing permissions and
14  *    limitations under the License.
15  */
16 /*
17  * @file        test_result.h
18  * @author      Marcin Niesluchowski (m.niesluchow@samsung.com)
19  * @author      Lukasz Wrzosek (l.wrzosek@samsung.com)
20  * @version     1.0
21  * @brief       Header file with declaration of TestResult class
22  */
23
24 #ifndef DPL_TEST_RESULT_H
25 #define DPL_TEST_RESULT_H
26
27 #include <dpl/test/performance_result.h>
28
29 #include <string>
30
31 namespace DPL {
32 namespace Test {
33
34 class TestResult
35 {
36 public:
37     enum class FailStatus
38     {
39         NONE,
40         FAILED,
41         IGNORED
42     };
43
44     TestResult(FailStatus status,
45                const std::string& reason = std::string(),
46                ConstPerformanceResultPtr performanceResult = nullptr)
47         : m_failStatus(status)
48         , m_reason(reason)
49         , m_performanceResult(performanceResult) {}
50
51     FailStatus GetFailStatus() const {
52         return m_failStatus;
53     }
54
55     const std::string& GetReason() const {
56         return m_reason;
57     }
58
59     ConstPerformanceResultPtr GetPerformanceResult() const {
60         return m_performanceResult;
61     }
62
63 private:
64     const FailStatus m_failStatus;
65     const std::string m_reason;
66     ConstPerformanceResultPtr m_performanceResult;
67 };
68
69 } // namespace Test
70 } // namespace DPL
71
72 #endif // DPL_TEST_RESULT_H