@@ -202,6 +202,45 @@ type LanguagePrimitivesModule() =
202202
203203 let resultNul = LanguagePrimitives.GenericEquality " ABC" null
204204 Assert.False( resultNul)
205+
206+ [<Fact>]
207+ member _.GenericEqualityForNans () =
208+ Assert.DoesNotContain( true ,
209+ [| LanguagePrimitives.GenericEquality nan nan
210+ LanguagePrimitives.GenericEquality [ nan] [ nan]
211+ LanguagePrimitives.GenericEquality [| nan|] [| nan|]
212+ LanguagePrimitives.GenericEquality ( Set.ofList [ nan]) ( Set.ofList [ nan])
213+ LanguagePrimitives.GenericEquality ( Map.ofList [ 1 , nan]) ( Map.ofList [ 1 , nan])
214+ LanguagePrimitives.GenericEquality ( Map.ofList [ nan, 1 ]) ( Map.ofList [ nan, 1 ])
215+ LanguagePrimitives.GenericEquality ( Map.ofList [ nan, nan]) ( Map.ofList [ nan, nan])
216+
217+ LanguagePrimitives.GenericEquality nanf nanf
218+ LanguagePrimitives.GenericEquality [ nanf] [ nanf]
219+ LanguagePrimitives.GenericEquality [| nanf|] [| nanf|]
220+ LanguagePrimitives.GenericEquality ( Set.ofList [ nanf]) ( Set.ofList [ nanf])
221+ LanguagePrimitives.GenericEquality ( Map.ofList [ 1 , nanf]) ( Map.ofList [ 1 , nanf])
222+ LanguagePrimitives.GenericEquality ( Map.ofList [ nanf, 1 ]) ( Map.ofList [ nanf, 1 ])
223+ LanguagePrimitives.GenericEquality ( Map.ofList [ nanf, nanf]) ( Map.ofList [ nanf, nanf])|])
224+
225+ [<Fact>]
226+ member _.GenericEqualityER () =
227+ Assert.DoesNotContain( false ,
228+ [| LanguagePrimitives.GenericEqualityER nan nan
229+ LanguagePrimitives.GenericEqualityER [ nan] [ nan]
230+ LanguagePrimitives.GenericEqualityER [| nan|] [| nan|]
231+ LanguagePrimitives.GenericEqualityER ( Set.ofList [ nan]) ( Set.ofList [ nan])
232+ LanguagePrimitives.GenericEqualityER ( Map.ofList [ 1 , nan]) ( Map.ofList [ 1 , nan])
233+ LanguagePrimitives.GenericEqualityER ( Map.ofList [ nan, 1 ]) ( Map.ofList [ nan, 1 ])
234+ LanguagePrimitives.GenericEqualityER ( Map.ofList [ nan, nan]) ( Map.ofList [ nan, nan])
235+
236+ LanguagePrimitives.GenericEqualityER nanf nanf
237+ LanguagePrimitives.GenericEqualityER [ nanf] [ nanf]
238+ LanguagePrimitives.GenericEqualityER [| nanf|] [| nanf|]
239+ LanguagePrimitives.GenericEqualityER ( Set.ofList [ nanf]) ( Set.ofList [ nanf])
240+ LanguagePrimitives.GenericEqualityER ( Map.ofList [ 1 , nanf]) ( Map.ofList [ 1 , nanf])
241+ LanguagePrimitives.GenericEqualityER ( Map.ofList [ nanf, 1 ]) ( Map.ofList [ nanf, 1 ])
242+ LanguagePrimitives.GenericEqualityER ( Map.ofList [ nanf, nanf]) ( Map.ofList [ nanf, nanf])|])
243+
205244
206245 [<Fact>]
207246 member this.GenericGreaterOrEqual () =
0 commit comments