File tree Expand file tree Collapse file tree 1 file changed +17
-0
lines changed
Expand file tree Collapse file tree 1 file changed +17
-0
lines changed Original file line number Diff line number Diff line change 11{-# LANGUAGE CPP #-}
2+
23#if MIN_VERSION_base(4,8,1)
34#define HAS_SOURCE_LOCATIONS
45{-# LANGUAGE ImplicitParams #-}
@@ -43,6 +44,22 @@ spec = do
4344 it " fails if arguments are not equal" $ do
4445 (" foo" `shouldBe` " bar" ) `shouldThrow` expectationFailed " expected: \" bar\"\n but got: \" foo\" "
4546
47+ describe " shouldBeNear" $ do
48+ it " succeeds if arguments are equal" $ do
49+ 1.23456789 `shouldBeNear` 1.23456789
50+
51+ it " fails if arguments are not equal" $ do
52+ (1.0 `shouldBe` 2.0 ) `shouldThrow` expectationFailed " expected: 2.0\n but got: 1.0"
53+
54+ it " succeeds if one argument is zero and the other less than epsilon" $ do
55+ 0.0 `shouldBeNear` - 1e-16
56+
57+ it " succeeds for large values near one another" $ do
58+ 1e20 `shouldBeNear` (1e20 + 1 )
59+
60+ it " fails for large values not near each other" $ do
61+ (1e20 `shouldBeNear` 1.1e20 ) `shouldThrow` expectationFailed " expected: 1.1e20\n but got: 1.0e20"
62+
4663 describe " shouldSatisfy" $ do
4764 it " succeeds if value satisfies predicate" $ do
4865 " " `shouldSatisfy` null
You can’t perform that action at this time.
0 commit comments