xref: /aosp_15_r20/external/armnn/include/armnnTestUtils/PredicateResult.hpp (revision 89c4ff92f2867872bb9e2354d150bf0c8c502810)
1*89c4ff92SAndroid Build Coastguard Worker //
2*89c4ff92SAndroid Build Coastguard Worker // Copyright © 2021 Arm Ltd and Contributors. All rights reserved.
3*89c4ff92SAndroid Build Coastguard Worker // SPDX-License-Identifier: MIT
4*89c4ff92SAndroid Build Coastguard Worker //
5*89c4ff92SAndroid Build Coastguard Worker #pragma once
6*89c4ff92SAndroid Build Coastguard Worker 
7*89c4ff92SAndroid Build Coastguard Worker #include <sstream>
8*89c4ff92SAndroid Build Coastguard Worker 
9*89c4ff92SAndroid Build Coastguard Worker namespace armnn
10*89c4ff92SAndroid Build Coastguard Worker {
11*89c4ff92SAndroid Build Coastguard Worker 
12*89c4ff92SAndroid Build Coastguard Worker class PredicateResult
13*89c4ff92SAndroid Build Coastguard Worker {
14*89c4ff92SAndroid Build Coastguard Worker public:
PredicateResult(bool result)15*89c4ff92SAndroid Build Coastguard Worker     explicit PredicateResult(bool result)
16*89c4ff92SAndroid Build Coastguard Worker         : m_Result(result)
17*89c4ff92SAndroid Build Coastguard Worker     {}
18*89c4ff92SAndroid Build Coastguard Worker 
PredicateResult(const PredicateResult & predicateResult)19*89c4ff92SAndroid Build Coastguard Worker     PredicateResult(const PredicateResult& predicateResult)
20*89c4ff92SAndroid Build Coastguard Worker         : m_Result(predicateResult.m_Result)
21*89c4ff92SAndroid Build Coastguard Worker         , m_Message(predicateResult.m_Message.str())
22*89c4ff92SAndroid Build Coastguard Worker     {}
23*89c4ff92SAndroid Build Coastguard Worker 
SetResult(bool newResult)24*89c4ff92SAndroid Build Coastguard Worker     void SetResult(bool newResult)
25*89c4ff92SAndroid Build Coastguard Worker     {
26*89c4ff92SAndroid Build Coastguard Worker         m_Result = newResult;
27*89c4ff92SAndroid Build Coastguard Worker     }
28*89c4ff92SAndroid Build Coastguard Worker 
Message()29*89c4ff92SAndroid Build Coastguard Worker     std::stringstream& Message()
30*89c4ff92SAndroid Build Coastguard Worker     {
31*89c4ff92SAndroid Build Coastguard Worker         return m_Message;
32*89c4ff92SAndroid Build Coastguard Worker     }
33*89c4ff92SAndroid Build Coastguard Worker 
operator !() const34*89c4ff92SAndroid Build Coastguard Worker     bool operator!() const
35*89c4ff92SAndroid Build Coastguard Worker     {
36*89c4ff92SAndroid Build Coastguard Worker         return !m_Result;
37*89c4ff92SAndroid Build Coastguard Worker     }
38*89c4ff92SAndroid Build Coastguard Worker 
operator =(PredicateResult otherPredicateResult)39*89c4ff92SAndroid Build Coastguard Worker     void operator=(PredicateResult otherPredicateResult)
40*89c4ff92SAndroid Build Coastguard Worker     {
41*89c4ff92SAndroid Build Coastguard Worker         otherPredicateResult.m_Result = m_Result;
42*89c4ff92SAndroid Build Coastguard Worker     }
43*89c4ff92SAndroid Build Coastguard Worker 
44*89c4ff92SAndroid Build Coastguard Worker     bool m_Result;
45*89c4ff92SAndroid Build Coastguard Worker     std::stringstream m_Message;
46*89c4ff92SAndroid Build Coastguard Worker };
47*89c4ff92SAndroid Build Coastguard Worker 
48*89c4ff92SAndroid Build Coastguard Worker }    // namespace armnn