| 
									
										
										
										
											2012-08-08 08:50:38 +01:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  *  Created by Phil on 28/10/2010. | 
					
						
							|  |  |  |  *  Copyright 2010 Two Blue Cubes Ltd. All rights reserved. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  *  Distributed under the Boost Software License, Version 1.0. (See accompanying | 
					
						
							|  |  |  |  *  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2012-10-16 08:27:21 +01:00
										 |  |  | #ifndef TWOBLUECUBES_CATCH_ASSERTIONRESULT_H_INCLUDED
 | 
					
						
							|  |  |  | #define TWOBLUECUBES_CATCH_ASSERTIONRESULT_H_INCLUDED
 | 
					
						
							| 
									
										
										
										
											2012-08-08 08:50:38 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | #include <string>
 | 
					
						
							|  |  |  | #include "catch_result_type.h"
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | namespace Catch { | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-10-17 08:14:22 +01:00
										 |  |  |     struct AssertionInfo | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         AssertionInfo() {} | 
					
						
							| 
									
										
										
										
											2013-04-23 18:58:56 +01:00
										 |  |  |         AssertionInfo(  std::string const& _macroName, | 
					
						
							|  |  |  |                         SourceLineInfo const& _lineInfo, | 
					
						
							|  |  |  |                         std::string const& _capturedExpression, | 
					
						
							| 
									
										
										
										
											2012-11-13 09:44:52 +00:00
										 |  |  |                         ResultDisposition::Flags _resultDisposition ); | 
					
						
							| 
									
										
										
										
											2012-10-17 08:14:22 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |         std::string macroName; | 
					
						
							|  |  |  |         SourceLineInfo lineInfo; | 
					
						
							|  |  |  |         std::string capturedExpression; | 
					
						
							| 
									
										
										
										
											2012-11-13 09:44:52 +00:00
										 |  |  |         ResultDisposition::Flags resultDisposition; | 
					
						
							| 
									
										
										
										
											2012-10-17 08:14:22 +01:00
										 |  |  |     }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-10-16 08:33:13 +01:00
										 |  |  |     struct AssertionResultData | 
					
						
							| 
									
										
										
										
											2012-10-05 18:35:01 +01:00
										 |  |  |     { | 
					
						
							| 
									
										
										
										
											2012-10-16 08:33:13 +01:00
										 |  |  |         AssertionResultData() : resultType( ResultWas::Unknown ) {} | 
					
						
							| 
									
										
										
										
											2012-10-05 18:35:01 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |         std::string reconstructedExpression; | 
					
						
							|  |  |  |         std::string message; | 
					
						
							|  |  |  |         ResultWas::OfType resultType; | 
					
						
							|  |  |  |     }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-10-16 08:27:21 +01:00
										 |  |  |     class AssertionResult { | 
					
						
							| 
									
										
										
										
											2012-08-08 08:50:38 +01:00
										 |  |  |     public: | 
					
						
							| 
									
										
										
										
											2012-10-16 08:27:21 +01:00
										 |  |  |         AssertionResult(); | 
					
						
							| 
									
										
										
										
											2013-04-23 18:58:56 +01:00
										 |  |  |         AssertionResult( AssertionInfo const& info, AssertionResultData const& data ); | 
					
						
							| 
									
										
										
										
											2012-10-16 08:27:21 +01:00
										 |  |  |         ~AssertionResult(); | 
					
						
							| 
									
										
										
										
											2012-08-08 08:50:38 +01:00
										 |  |  |          | 
					
						
							| 
									
										
										
										
											2012-11-13 09:44:52 +00:00
										 |  |  |         bool isOk() const; | 
					
						
							|  |  |  |         bool succeeded() const; | 
					
						
							| 
									
										
										
										
											2012-08-08 08:50:38 +01:00
										 |  |  |         ResultWas::OfType getResultType() const; | 
					
						
							|  |  |  |         bool hasExpression() const; | 
					
						
							|  |  |  |         bool hasMessage() const; | 
					
						
							|  |  |  |         std::string getExpression() const; | 
					
						
							|  |  |  |         bool hasExpandedExpression() const; | 
					
						
							|  |  |  |         std::string getExpandedExpression() const; | 
					
						
							|  |  |  |         std::string getMessage() const; | 
					
						
							| 
									
										
										
										
											2012-10-24 21:59:47 +01:00
										 |  |  |         SourceLineInfo getSourceInfo() const; | 
					
						
							| 
									
										
										
										
											2012-08-08 08:50:38 +01:00
										 |  |  |         std::string getTestMacroName() const; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     protected: | 
					
						
							| 
									
										
										
										
											2012-10-24 21:59:47 +01:00
										 |  |  |         AssertionInfo m_info; | 
					
						
							|  |  |  |         AssertionResultData m_resultData; | 
					
						
							| 
									
										
										
										
											2012-08-08 08:50:38 +01:00
										 |  |  |     }; | 
					
						
							|  |  |  |      | 
					
						
							|  |  |  | } // end namespace Catch
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-10-16 08:27:21 +01:00
										 |  |  | #endif // TWOBLUECUBES_CATCH_ASSERTIONRESULT_H_INCLUDED
 |