Skip to content

Commit c5210c1

Browse files
committed
Add tests for shouldBeNear
1 parent 0ba1008 commit c5210c1

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

test/Test/Hspec/ExpectationsSpec.hs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,22 @@ spec = do
4040
it "fails if arguments are not equal" $ do
4141
("foo" `shouldBe` "bar") `shouldThrow` expectationFailed "expected: \"bar\"\n but got: \"foo\""
4242

43+
describe "shouldBeNear" $ do
44+
it "succeeds if arguments are equal" $ do
45+
1.23456789 `shouldBeNear` 1.23456789
46+
47+
it "fails if arguments are not equal" $ do
48+
(1.0 `shouldBe` 2.0) `shouldThrow` expectationFailed "expected: 2.0\n but got: 1.0"
49+
50+
it "succeeds if one argument is zero and the other less than epsilon" $ do
51+
0.0 `shouldBeNear` -1e-16
52+
53+
it "succeeds for large values near one another" $ do
54+
1e20 `shouldBeNear` (1e20 + 1)
55+
56+
it "fails for large values not near each other" $ do
57+
1e20 `shouldBeNear` 1.1e20
58+
4359
describe "shouldSatisfy" $ do
4460
it "succeeds if value satisfies predicate" $ do
4561
"" `shouldSatisfy` null

0 commit comments

Comments
 (0)