| 
									
										
										
										
											2017-10-13 09:43:50 +02:00
										 |  |  | // 020-TestCase-1.cpp
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // In a Catch project with multiple files, dedicate one file to compile the
 | 
					
						
							|  |  |  | // source code of Catch itself and reuse the resulting object file for linking.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // Let Catch provide main():
 | 
					
						
							| 
									
										
										
										
											2019-12-08 15:55:04 +01:00
										 |  |  | #include <catch2/catch_default_main.hpp>
 | 
					
						
							| 
									
										
										
										
											2017-10-13 09:43:50 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-06-11 10:48:10 +02:00
										 |  |  | #include <catch2/catch.hpp>
 | 
					
						
							| 
									
										
										
										
											2017-10-13 09:43:50 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | TEST_CASE( "1: All test cases reside in other .cpp files (empty)", "[multi-file:1]" ) { | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // ^^^
 | 
					
						
							|  |  |  | // Normally no TEST_CASEs in this file.
 | 
					
						
							|  |  |  | // Here just to show there are two source files via option --list-tests.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // Compile & run:
 | 
					
						
							|  |  |  | // - g++ -std=c++11 -Wall -I$(CATCH_SINGLE_INCLUDE) -c 020-TestCase-1.cpp
 | 
					
						
							|  |  |  | // - g++ -std=c++11 -Wall -I$(CATCH_SINGLE_INCLUDE) -o 020-TestCase TestCase-1.o 020-TestCase-2.cpp && 020-TestCase --success
 | 
					
						
							|  |  |  | //
 | 
					
						
							|  |  |  | // - cl -EHsc -I%CATCH_SINGLE_INCLUDE% -c 020-TestCase-1.cpp
 | 
					
						
							|  |  |  | // - cl -EHsc -I%CATCH_SINGLE_INCLUDE% -Fe020-TestCase.exe 020-TestCase-1.obj 020-TestCase-2.cpp && 020-TestCase --success
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // Expected test case listing:
 | 
					
						
							|  |  |  | //
 | 
					
						
							|  |  |  | // prompt> 020-TestCase --list-tests *
 | 
					
						
							|  |  |  | // Matching test cases:
 | 
					
						
							|  |  |  | //   1: All test cases reside in other .cpp files (empty)
 | 
					
						
							|  |  |  | //       [multi-file:1]
 | 
					
						
							|  |  |  | //   2: Factorial of 0 is computed (fail)
 | 
					
						
							|  |  |  | //       [multi-file:2]
 | 
					
						
							|  |  |  | //   2: Factorials of 1 and higher are computed (pass)
 | 
					
						
							|  |  |  | //       [multi-file:2]
 | 
					
						
							|  |  |  | // 3 matching test cases
 |