xref: /TaskScheduler/ThirdParty/UnitTest++/tests/ScopedCurrentTest.h (revision 3fef42a0)
  • Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef UNITTEST_SCOPEDCURRENTTEST_H
2 #define UNITTEST_SCOPEDCURRENTTEST_H
3 
4 #include "UnitTest++/CurrentTest.h"
5 #include <cstddef>
6 
7 class ScopedCurrentTest
8 {
9 public:
10 	ScopedCurrentTest()
11 		: m_oldTestResults(UnitTest::CurrentTest::Results())
12 		, m_oldTestDetails(UnitTest::CurrentTest::Details())
13 	{
14 	}
15 
16 	explicit ScopedCurrentTest(UnitTest::TestResults& newResults, const UnitTest::TestDetails* newDetails = NULL)
17 		: m_oldTestResults(UnitTest::CurrentTest::Results())
18 		, m_oldTestDetails(UnitTest::CurrentTest::Details())
19 	{
20 		UnitTest::CurrentTest::Results() = &newResults;
21 
22 		if (newDetails != NULL)
23 			UnitTest::CurrentTest::Details() = newDetails;
24 	}
25 
26 	~ScopedCurrentTest()
27 	{
28 		UnitTest::CurrentTest::Results() = m_oldTestResults;
29 		UnitTest::CurrentTest::Details() = m_oldTestDetails;
30 	}
31 
32 private:
33 	UnitTest::TestResults* m_oldTestResults;
34 	const UnitTest::TestDetails* m_oldTestDetails;
35 };
36 
37 #endif
38 

served by {OpenGrok

Last Index Update: Tue Oct 21 18:42:31 GMT 2025