File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree 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 #-}
@@ -40,6 +41,22 @@ spec = do
4041 it " fails if arguments are not equal" $ do
4142 (" foo" `shouldBe` " bar" ) `shouldThrow` expectationFailed " expected: \" bar\"\n but got: \" foo\" "
4243
44+ describe " shouldBeNear" $ do
45+ it " succeeds if arguments are equal" $ do
46+ 1.23456789 `shouldBeNear` 1.23456789
47+
48+ it " fails if arguments are not equal" $ do
49+ (1.0 `shouldBe` 2.0 ) `shouldThrow` expectationFailed " expected: 2.0\n but got: 1.0"
50+
51+ it " succeeds if one argument is zero and the other less than epsilon" $ do
52+ 0.0 `shouldBeNear` - 1e-16
53+
54+ it " succeeds for large values near one another" $ do
55+ 1e20 `shouldBeNear` (1e20 + 1 )
56+
57+ it " fails for large values not near each other" $ do
58+ (1e20 `shouldBeNear` 1.1e20 ) `shouldThrow` expectationFailed " expected: 1.1e20\n but got: 1.0e20"
59+
4360 describe " shouldSatisfy" $ do
4461 it " succeeds if value satisfies predicate" $ do
4562 " " `shouldSatisfy` null
You can’t perform that action at this time.
0 commit comments