Skip to content

Commit 0a8ce00

Browse files
committed
tolerate fp differences
1 parent 19af886 commit 0a8ce00

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

tests/GeneratedOpTests.fs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,12 @@ let runningOnMono = try Type.GetType("Mono.Runtime") <> null with _ -> false
7979
let check (e : Expr<'a>) expected =
8080
e.Raw, fun o ->
8181
let actual = Assert.IsType<'a>(o)
82-
Assert.True((expected = actual), sprintf "%A Expected %A got %A. (%A)" (expected.GetType(), actual.GetType(), expected = actual) expected actual e)
82+
let tolerate =
83+
match typeof<'a> with
84+
| ty when ty.FullName = "System.Single" -> abs ((box expected :?> single) - (box actual :?> single)) < 0.00001f
85+
| ty when ty.FullName = "System.Double" -> abs ((box expected :?> double) - (box actual :?> double)) < 0.00001
86+
| _ -> (expected = actual)
87+
Assert.True(tolerate, sprintf "%A Expected %A got %A. (%A)" (expected.GetType(), actual.GetType(), expected = actual) expected actual e)
8388

8489
let checkExpr (e : Expr<'a>) =
8590
let expected = FSharp.Linq.RuntimeHelpers.LeafExpressionConverter.EvaluateQuotation(e) :?> 'a

0 commit comments

Comments
 (0)