mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-10-31 20:27:11 +01:00 
			
		
		
		
	Add constructor arg checking to WithinAbsMatcher
Also tests :-)
This commit is contained in:
		| @@ -1054,5 +1054,5 @@ with expansion: | ||||
|  | ||||
| =============================================================================== | ||||
| test cases: 191 | 139 passed |  48 failed |  4 failed as expected | ||||
| assertions: 955 | 831 passed | 103 failed | 21 failed as expected | ||||
| assertions: 963 | 839 passed | 103 failed | 21 failed as expected | ||||
|  | ||||
|   | ||||
| @@ -1872,6 +1872,29 @@ PASSED: | ||||
| with expansion: | ||||
|   nanf not ( is within 100.0 of nan or is within 123 ULPs of nanf ) | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| Floating point matchers: double | ||||
|   Constructor validation | ||||
| ------------------------------------------------------------------------------- | ||||
| Matchers.tests.cpp:<line number> | ||||
| ............................................................................... | ||||
|  | ||||
| Matchers.tests.cpp:<line number>: | ||||
| PASSED: | ||||
|   REQUIRE_NOTHROW( WithinAbs(1., 0.) ) | ||||
|  | ||||
| Matchers.tests.cpp:<line number>: | ||||
| PASSED: | ||||
|   REQUIRE_THROWS_AS( WithinAbs(1., -1.), std::domain_error ) | ||||
|  | ||||
| Matchers.tests.cpp:<line number>: | ||||
| PASSED: | ||||
|   REQUIRE_NOTHROW( WithinULP(1., 0) ) | ||||
|  | ||||
| Matchers.tests.cpp:<line number>: | ||||
| PASSED: | ||||
|   REQUIRE_THROWS_AS( WithinULP(1., -1), std::domain_error ) | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| Floating point matchers: float | ||||
|   Margin | ||||
| @@ -1989,6 +2012,29 @@ PASSED: | ||||
| with expansion: | ||||
|   nanf not ( is within 100.0 of nan or is within 123 ULPs of nanf ) | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| Floating point matchers: float | ||||
|   Constructor validation | ||||
| ------------------------------------------------------------------------------- | ||||
| Matchers.tests.cpp:<line number> | ||||
| ............................................................................... | ||||
|  | ||||
| Matchers.tests.cpp:<line number>: | ||||
| PASSED: | ||||
|   REQUIRE_NOTHROW( WithinAbs(1.f, 0.f) ) | ||||
|  | ||||
| Matchers.tests.cpp:<line number>: | ||||
| PASSED: | ||||
|   REQUIRE_THROWS_AS( WithinAbs(1.f, -1.f), std::domain_error ) | ||||
|  | ||||
| Matchers.tests.cpp:<line number>: | ||||
| PASSED: | ||||
|   REQUIRE_NOTHROW( WithinULP(1.f, 0) ) | ||||
|  | ||||
| Matchers.tests.cpp:<line number>: | ||||
| PASSED: | ||||
|   REQUIRE_THROWS_AS( WithinULP(1.f, -1), std::domain_error ) | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| Greater-than inequalities with different epsilons | ||||
| ------------------------------------------------------------------------------- | ||||
| @@ -8011,5 +8057,5 @@ PASSED: | ||||
|  | ||||
| =============================================================================== | ||||
| test cases: 191 | 137 passed |  50 failed |  4 failed as expected | ||||
| assertions: 954 | 827 passed | 106 failed | 21 failed as expected | ||||
| assertions: 962 | 835 passed | 106 failed | 21 failed as expected | ||||
|  | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <testsuitesloose text artifact | ||||
| > | ||||
|   <testsuite name="<exe-name>" errors="15" failures="92" tests="955" hostname="tbd" time="{duration}" timestamp="{iso8601-timestamp}"> | ||||
|   <testsuite name="<exe-name>" errors="15" failures="92" tests="963" hostname="tbd" time="{duration}" timestamp="{iso8601-timestamp}"> | ||||
|     <testcase classname="<exe-name>.global" name="# A test name that starts with a #" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="#1005: Comparing pointer to int and long (NULL can be either on various systems)" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="#1027" time="{duration}"/> | ||||
| @@ -276,9 +276,11 @@ Message.tests.cpp:<line number> | ||||
|     <testcase classname="<exe-name>.global" name="Floating point matchers: double/Margin" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="Floating point matchers: double/ULPs" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="Floating point matchers: double/Composed" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="Floating point matchers: double/Constructor validation" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="Floating point matchers: float/Margin" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="Floating point matchers: float/ULPs" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="Floating point matchers: float/Composed" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="Floating point matchers: float/Constructor validation" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="Greater-than inequalities with different epsilons" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="INFO and WARN do not abort tests" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="INFO gets logged on failure" time="{duration}"> | ||||
|   | ||||
| @@ -2142,6 +2142,41 @@ | ||||
|         </Expression> | ||||
|         <OverallResults successes="3" failures="0" expectedFailures="0"/> | ||||
|       </Section> | ||||
|       <Section name="Constructor validation" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > | ||||
|         <Expression success="true" type="REQUIRE_NOTHROW" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > | ||||
|           <Original> | ||||
|             WithinAbs(1., 0.) | ||||
|           </Original> | ||||
|           <Expanded> | ||||
|             WithinAbs(1., 0.) | ||||
|           </Expanded> | ||||
|         </Expression> | ||||
|         <Expression success="true" type="REQUIRE_THROWS_AS" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > | ||||
|           <Original> | ||||
|             WithinAbs(1., -1.), std::domain_error | ||||
|           </Original> | ||||
|           <Expanded> | ||||
|             WithinAbs(1., -1.), std::domain_error | ||||
|           </Expanded> | ||||
|         </Expression> | ||||
|         <Expression success="true" type="REQUIRE_NOTHROW" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > | ||||
|           <Original> | ||||
|             WithinULP(1., 0) | ||||
|           </Original> | ||||
|           <Expanded> | ||||
|             WithinULP(1., 0) | ||||
|           </Expanded> | ||||
|         </Expression> | ||||
|         <Expression success="true" type="REQUIRE_THROWS_AS" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > | ||||
|           <Original> | ||||
|             WithinULP(1., -1), std::domain_error | ||||
|           </Original> | ||||
|           <Expanded> | ||||
|             WithinULP(1., -1), std::domain_error | ||||
|           </Expanded> | ||||
|         </Expression> | ||||
|         <OverallResults successes="4" failures="0" expectedFailures="0"/> | ||||
|       </Section> | ||||
|       <OverallResult success="true"/> | ||||
|     </TestCase> | ||||
|     <TestCase name="Floating point matchers: float" tags="[floating-point][matchers]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > | ||||
| @@ -2282,6 +2317,41 @@ | ||||
|         </Expression> | ||||
|         <OverallResults successes="3" failures="0" expectedFailures="0"/> | ||||
|       </Section> | ||||
|       <Section name="Constructor validation" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > | ||||
|         <Expression success="true" type="REQUIRE_NOTHROW" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > | ||||
|           <Original> | ||||
|             WithinAbs(1.f, 0.f) | ||||
|           </Original> | ||||
|           <Expanded> | ||||
|             WithinAbs(1.f, 0.f) | ||||
|           </Expanded> | ||||
|         </Expression> | ||||
|         <Expression success="true" type="REQUIRE_THROWS_AS" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > | ||||
|           <Original> | ||||
|             WithinAbs(1.f, -1.f), std::domain_error | ||||
|           </Original> | ||||
|           <Expanded> | ||||
|             WithinAbs(1.f, -1.f), std::domain_error | ||||
|           </Expanded> | ||||
|         </Expression> | ||||
|         <Expression success="true" type="REQUIRE_NOTHROW" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > | ||||
|           <Original> | ||||
|             WithinULP(1.f, 0) | ||||
|           </Original> | ||||
|           <Expanded> | ||||
|             WithinULP(1.f, 0) | ||||
|           </Expanded> | ||||
|         </Expression> | ||||
|         <Expression success="true" type="REQUIRE_THROWS_AS" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > | ||||
|           <Original> | ||||
|             WithinULP(1.f, -1), std::domain_error | ||||
|           </Original> | ||||
|           <Expanded> | ||||
|             WithinULP(1.f, -1), std::domain_error | ||||
|           </Expanded> | ||||
|         </Expression> | ||||
|         <OverallResults successes="4" failures="0" expectedFailures="0"/> | ||||
|       </Section> | ||||
|       <OverallResult success="true"/> | ||||
|     </TestCase> | ||||
|     <TestCase name="Greater-than inequalities with different epsilons" tags="[Approx]" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > | ||||
| @@ -8898,7 +8968,7 @@ loose text artifact | ||||
|       </Section> | ||||
|       <OverallResult success="true"/> | ||||
|     </TestCase> | ||||
|     <OverallResults successes="827" failures="107" expectedFailures="21"/> | ||||
|     <OverallResults successes="835" failures="107" expectedFailures="21"/> | ||||
|   </Group> | ||||
|   <OverallResults successes="827" failures="106" expectedFailures="21"/> | ||||
|   <OverallResults successes="835" failures="106" expectedFailures="21"/> | ||||
| </Catch> | ||||
|   | ||||
| @@ -298,6 +298,13 @@ namespace { namespace MatchersTests { | ||||
|  | ||||
|                 REQUIRE_THAT(NAN, !(WithinAbs(NAN, 100) || WithinULP(NAN, 123))); | ||||
|             } | ||||
|             SECTION("Constructor validation") { | ||||
|                 REQUIRE_NOTHROW(WithinAbs(1.f, 0.f)); | ||||
|                 REQUIRE_THROWS_AS(WithinAbs(1.f, -1.f), std::domain_error); | ||||
|  | ||||
|                 REQUIRE_NOTHROW(WithinULP(1.f, 0)); | ||||
|                 REQUIRE_THROWS_AS(WithinULP(1.f, -1), std::domain_error); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         TEST_CASE("Floating point matchers: double", "[matchers][floating-point]") { | ||||
| @@ -328,6 +335,13 @@ namespace { namespace MatchersTests { | ||||
|  | ||||
|                 REQUIRE_THAT(NAN, !(WithinAbs(NAN, 100) || WithinULP(NAN, 123))); | ||||
|             } | ||||
|             SECTION("Constructor validation") { | ||||
|                 REQUIRE_NOTHROW(WithinAbs(1., 0.)); | ||||
|                 REQUIRE_THROWS_AS(WithinAbs(1., -1.), std::domain_error); | ||||
|  | ||||
|                 REQUIRE_NOTHROW(WithinULP(1., 0)); | ||||
|                 REQUIRE_THROWS_AS(WithinULP(1., -1), std::domain_error); | ||||
|             } | ||||
|         } | ||||
|  | ||||
| } } // namespace MatchersTests | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Martin Hořeňovský
					Martin Hořeňovský