| 
									
										
										
										
											2010-11-09 23:24:00 +00:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  *  Created by Phil on 09/11/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)
 | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-04-26 08:32:40 +01:00
										 |  |  | #include "catch.hpp"
 | 
					
						
							| 
									
										
										
										
											2010-11-09 23:24:00 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | namespace | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     class TestClass | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         std::string s; | 
					
						
							|  |  |  |          | 
					
						
							|  |  |  |     public: | 
					
						
							|  |  |  |         TestClass() | 
					
						
							|  |  |  |         : s( "hello" ) | 
					
						
							|  |  |  |         {} | 
					
						
							|  |  |  |          | 
					
						
							|  |  |  |         void succeedingCase() | 
					
						
							|  |  |  |         {             | 
					
						
							| 
									
										
										
										
											2010-12-14 09:00:09 +00:00
										 |  |  |             REQUIRE( s == "hello" ); | 
					
						
							| 
									
										
										
										
											2010-11-09 23:24:00 +00:00
										 |  |  |         } | 
					
						
							|  |  |  |         void failingCase() | 
					
						
							|  |  |  |         {             | 
					
						
							| 
									
										
										
										
											2010-12-14 09:00:09 +00:00
										 |  |  |             REQUIRE( s == "world" ); | 
					
						
							| 
									
										
										
										
											2010-11-09 23:24:00 +00:00
										 |  |  |         } | 
					
						
							|  |  |  |     }; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2010-12-27 20:51:06 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-11-04 21:11:59 +00:00
										 |  |  | METHOD_AS_TEST_CASE( TestClass::succeedingCase, "./succeeding/TestClass/succeedingCase", "A method based test run that succeeds [class]" ) | 
					
						
							|  |  |  | METHOD_AS_TEST_CASE( TestClass::failingCase, "./failing/TestClass/failingCase", "A method based test run that fails [class]" ) | 
					
						
							| 
									
										
										
										
											2010-12-27 20:51:06 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | struct Fixture | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     Fixture() : m_a( 1 ) {} | 
					
						
							|  |  |  |      | 
					
						
							|  |  |  |     int m_a; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-11-04 21:11:59 +00:00
										 |  |  | TEST_CASE_METHOD( Fixture, "./succeeding/Fixture/succeedingCase", "A method based test run that succeeds [class]" ) | 
					
						
							| 
									
										
										
										
											2010-12-27 20:51:06 +00:00
										 |  |  | {    | 
					
						
							|  |  |  |     REQUIRE( m_a == 1 );         | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-04-12 18:44:58 +01:00
										 |  |  | // We should be able to write our tests within a different namespace
 | 
					
						
							|  |  |  | namespace Inner | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2012-11-04 21:11:59 +00:00
										 |  |  |     TEST_CASE_METHOD( Fixture, "./failing/Fixture/failingCase", "A method based test run that fails [class]" ) | 
					
						
							| 
									
										
										
										
											2011-04-12 18:44:58 +01:00
										 |  |  |     {    | 
					
						
							|  |  |  |         REQUIRE( m_a == 2 );         | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2010-12-27 20:51:06 +00:00
										 |  |  | } |