Make Approx::margin inclusive
Fixes #952, related to #980
diff --git a/projects/SelfTest/Baselines/xml.sw.approved.txt b/projects/SelfTest/Baselines/xml.sw.approved.txt
index 04c6f98..07eb6a5 100644
--- a/projects/SelfTest/Baselines/xml.sw.approved.txt
+++ b/projects/SelfTest/Baselines/xml.sw.approved.txt
@@ -497,6 +497,14 @@
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
+ 104.0 == Approx(100.0).margin(4)
+ </Original>
+ <Expanded>
+ 104.0 == Approx( 100.0 )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
+ <Original>
104.0 != Approx(100.0).margin(3)
</Original>
<Expanded>
@@ -568,6 +576,76 @@
<TestCase name="Anonymous test case 1" filename="projects/<exe-name>/VariadicMacrosTests.cpp" >
<OverallResult success="true"/>
</TestCase>
+ <TestCase name="Approx setters validate their arguments" tags="[Approx]" filename="projects/<exe-name>/ApproxTests.cpp" >
+ <Expression success="true" type="REQUIRE_NOTHROW" filename="projects/<exe-name>/ApproxTests.cpp" >
+ <Original>
+ Approx(0).margin(0)
+ </Original>
+ <Expanded>
+ Approx(0).margin(0)
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE_NOTHROW" filename="projects/<exe-name>/ApproxTests.cpp" >
+ <Original>
+ Approx(0).margin(1234656)
+ </Original>
+ <Expanded>
+ Approx(0).margin(1234656)
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE_THROWS_AS" filename="projects/<exe-name>/ApproxTests.cpp" >
+ <Original>
+ Approx(0).margin(-2), std::domain_error
+ </Original>
+ <Expanded>
+ Approx(0).margin(-2), std::domain_error
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="Approx with exactly-representable margin" tags="[Approx]" filename="projects/<exe-name>/ApproxTests.cpp" >
+ <Expression success="true" type="CHECK" filename="projects/<exe-name>/ApproxTests.cpp" >
+ <Original>
+ 0.25f == Approx(0.0f).margin(0.25f)
+ </Original>
+ <Expanded>
+ 0.25f == Approx( 0.0 )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="CHECK" filename="projects/<exe-name>/ApproxTests.cpp" >
+ <Original>
+ 0.0f == Approx(0.25f).margin(0.25f)
+ </Original>
+ <Expanded>
+ 0.0f == Approx( 0.25 )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="CHECK" filename="projects/<exe-name>/ApproxTests.cpp" >
+ <Original>
+ 0.5f == Approx(0.25f).margin(0.25f)
+ </Original>
+ <Expanded>
+ 0.5f == Approx( 0.25 )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="CHECK" filename="projects/<exe-name>/ApproxTests.cpp" >
+ <Original>
+ 245.0f == Approx(245.25f).margin(0.25f)
+ </Original>
+ <Expanded>
+ 245.0f == Approx( 245.25 )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="CHECK" filename="projects/<exe-name>/ApproxTests.cpp" >
+ <Original>
+ 245.5f == Approx(245.25f).margin(0.25f)
+ </Original>
+ <Expanded>
+ 245.5f == Approx( 245.25 )
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
<TestCase name="Approximate PI" tags="[Approx][PI]" filename="projects/<exe-name>/ApproxTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
@@ -4795,6 +4873,14 @@
Approx( 1.23 ) != 1.24
</Expanded>
</Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
+ <Original>
+ 0 == Approx(0)
+ </Original>
+ <Expanded>
+ 0 == Approx( 0.0 )
+ </Expanded>
+ </Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Standard output from all sections is reported" tags="[.][messages]" filename="projects/<exe-name>/MessageTests.cpp" >
@@ -8287,7 +8373,7 @@
</Section>
<OverallResult success="true"/>
</TestCase>
- <OverallResults successes="765" failures="100" expectedFailures="21"/>
+ <OverallResults successes="775" failures="100" expectedFailures="21"/>
</Group>
- <OverallResults successes="765" failures="99" expectedFailures="21"/>
+ <OverallResults successes="775" failures="99" expectedFailures="21"/>
</Catch>