Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -372,9 +372,9 @@ type ArrayModule() =
CheckThrowsArgumentNullException (fun () -> Array.blit nullArr 1 strDes 2 3 |> ignore)

// bounds check
CheckThrowsArgumentException (fun () -> Array.blit intSrc -1 intDes 1 3 |> ignore)
CheckThrowsArgumentException (fun () -> Array.blit intSrc 1 intDes -1 3 |> ignore)
CheckThrowsArgumentException (fun () -> Array.blit intSrc 1 intDes 1 -3 |> ignore)
CheckThrowsArgumentOutOfRangeException (fun () -> Array.blit intSrc -1 intDes 1 3 |> ignore)
CheckThrowsArgumentOutOfRangeException (fun () -> Array.blit intSrc 1 intDes -1 3 |> ignore)
CheckThrowsArgumentOutOfRangeException (fun () -> Array.blit intSrc 1 intDes 1 -3 |> ignore)
CheckThrowsArgumentException (fun () -> Array.blit intSrc 1 intDes 1 300 |> ignore)
CheckThrowsArgumentException (fun () -> Array.blit intSrc 1 intDes 5 8 |> ignore)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ type SeqModule() =
Assert.AreEqual(null, Seq.head <| Seq.replicate 1 null)
Assert.AreEqual(["1";"1"],Seq.replicate 2 "1" |> Seq.toList)

CheckThrowsArgumentException (fun () -> Seq.replicate -1 null |> ignore)
CheckThrowsArgumentOutOfRangeException (fun () -> Seq.replicate -1 null |> ignore)


[<Fact>]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -221,13 +221,13 @@ type FSharpValueTests() =

// invalid type
CheckThrowsArgumentException(fun () -> FSharpValue.GetExceptionFields(1) |> ignore)
CheckThrowsArgumentException(fun () -> FSharpValue.GetExceptionFields( () ) |> ignore)
CheckThrowsArgumentNullException(fun () -> FSharpValue.GetExceptionFields( () ) |> ignore)

// System Exception
CheckThrowsArgumentException(fun () -> FSharpValue.GetExceptionFields(new System.Exception("ex message")) |> ignore)

// null
CheckThrowsArgumentException(fun () -> FSharpValue.GetExceptionFields(null) |> ignore)
CheckThrowsArgumentNullException(fun () -> FSharpValue.GetExceptionFields(null) |> ignore)

[<Fact>]
member _.GetRecordField() =
Expand All @@ -241,15 +241,15 @@ type FSharpValueTests() =
Assert.AreEqual((FSharpValue.GetRecordField(genericRecordType1, propertyinfo2)), 1)

// null value
CheckThrowsArgumentException(fun () ->FSharpValue.GetRecordField(null, propertyinfo1)|> ignore)
CheckThrowsArgumentException(fun () ->FSharpValue.GetRecordField( () , propertyinfo1)|> ignore)
CheckThrowsArgumentNullException(fun () ->FSharpValue.GetRecordField(null, propertyinfo1)|> ignore)
CheckThrowsArgumentNullException(fun () ->FSharpValue.GetRecordField( () , propertyinfo1)|> ignore)

// invalid value
CheckThrowsArgumentException(fun () -> FSharpValue.GetRecordField("invalid", propertyinfo1) |> ignore)

// invalid property info
let propertyinfoint = (typeof<RecordType>).GetProperty("fieldstring")
CheckThrowsArgumentException(fun () -> FSharpValue.GetRecordField("invalid", propertyinfoint) |> ignore)
let propertyinfoint = (typeof<RecordType>).GetProperty("fieldstring") // null
CheckThrowsArgumentNullException(fun () -> FSharpValue.GetRecordField("invalid", propertyinfoint) |> ignore)

[<Fact>]
member _.GetStructRecordField() =
Expand All @@ -259,15 +259,15 @@ type FSharpValueTests() =
Assert.AreEqual((FSharpValue.GetRecordField(structRecord1, propertyinfo1)), "field1")

// null value
CheckThrowsArgumentException(fun () ->FSharpValue.GetRecordField(null, propertyinfo1)|> ignore)
CheckThrowsArgumentException(fun () ->FSharpValue.GetRecordField( () , propertyinfo1)|> ignore)
CheckThrowsArgumentNullException(fun () ->FSharpValue.GetRecordField(null, propertyinfo1)|> ignore)
CheckThrowsArgumentNullException(fun () ->FSharpValue.GetRecordField( () , propertyinfo1)|> ignore)

// invalid value
CheckThrowsArgumentException(fun () -> FSharpValue.GetRecordField("invalid", propertyinfo1) |> ignore)

// invalid property info
let propertyinfoint = (typeof<StructRecordType>).GetProperty("fieldstring")
CheckThrowsArgumentException(fun () -> FSharpValue.GetRecordField("invalid", propertyinfoint) |> ignore)
let propertyinfoint = (typeof<StructRecordType>).GetProperty("fieldstring") // null
CheckThrowsArgumentNullException(fun () -> FSharpValue.GetRecordField("invalid", propertyinfoint) |> ignore)

[<Fact>]
member _.GetRecordFields() =
Expand All @@ -280,8 +280,8 @@ type FSharpValueTests() =
Assert.AreEqual((FSharpValue.GetRecordFields(genericRecordType1)).[0], "field1")

// null value
CheckThrowsArgumentException(fun () -> FSharpValue.GetRecordFields(null)|> ignore)
CheckThrowsArgumentException(fun () -> FSharpValue.GetRecordFields( () )|> ignore)
CheckThrowsArgumentNullException(fun () -> FSharpValue.GetRecordFields(null)|> ignore)
CheckThrowsArgumentNullException(fun () -> FSharpValue.GetRecordFields( () )|> ignore)

// invalid value
CheckThrowsArgumentException(fun () -> FSharpValue.GetRecordFields("invalid") |> ignore)
Expand All @@ -300,8 +300,8 @@ type FSharpValueTests() =
Assert.AreEqual( FSharpValue.GetTupleField(tuple2, 1), "tuple2")

// null value
CheckThrowsArgumentException(fun () -> FSharpValue.GetTupleField(null, 3)|> ignore)
CheckThrowsArgumentException(fun () -> FSharpValue.GetTupleField( () , 3)|> ignore)
CheckThrowsArgumentNullException(fun () -> FSharpValue.GetTupleField(null, 3)|> ignore)
CheckThrowsArgumentNullException(fun () -> FSharpValue.GetTupleField( () , 3)|> ignore)

// invalid value
CheckThrowsArgumentException(fun () -> FSharpValue.GetTupleField("Invalid", 3)|> ignore)
Expand Down Expand Up @@ -329,8 +329,8 @@ type FSharpValueTests() =
Assert.AreEqual( (FSharpValue.GetTupleFields(tuple2)).[1], "tuple2")

// null value
CheckThrowsArgumentException(fun () -> FSharpValue.GetTupleFields(null)|> ignore)
CheckThrowsArgumentException(fun () -> FSharpValue.GetTupleFields( () )|> ignore)
CheckThrowsArgumentNullException(fun () -> FSharpValue.GetTupleFields(null)|> ignore)
CheckThrowsArgumentNullException(fun () -> FSharpValue.GetTupleFields( () )|> ignore)

// invalid value
CheckThrowsArgumentException(fun () -> FSharpValue.GetTupleFields("Invalid")|> ignore)
Expand Down Expand Up @@ -393,7 +393,7 @@ type FSharpValueTests() =
Assert.AreEqual(FSharpValue.GetRecordFields(makeRecordGeneric).[0], "field1")

// null value
CheckThrowsArgumentException(fun () ->FSharpValue.MakeRecord(null, null)|> ignore)
CheckThrowsArgumentNullException(fun () ->FSharpValue.MakeRecord(null, null)|> ignore)

// invalid value
CheckThrowsArgumentException(fun () -> FSharpValue.MakeRecord(typeof<GenericRecordType<string, int>>, [| box 1; box("invalid param"); box("invalid param") |])|> ignore)
Expand Down Expand Up @@ -471,7 +471,7 @@ type FSharpValueTests() =
Assert.AreEqual( (unbox<GenericRecordType<string, int>>(resultGenericRecordType)).field1, genericRecordType1.field1)

// null value
CheckThrowsArgumentException(fun () ->FSharpValue.PreComputeRecordConstructor(null)|> ignore)
CheckThrowsArgumentNullException(fun () ->FSharpValue.PreComputeRecordConstructor(null)|> ignore)

// invalid value
CheckThrowsArgumentException(fun () -> FSharpValue.PreComputeRecordConstructor(typeof<DiscUnionType<string>>) |> ignore)
Expand All @@ -495,7 +495,7 @@ type FSharpValueTests() =
Assert.AreEqual(genericrecordCtorInfo.ReflectedType, typeof<GenericRecordType<string, int>>)

// null value
CheckThrowsArgumentException(fun () ->FSharpValue.PreComputeRecordConstructorInfo(null)|> ignore)
CheckThrowsArgumentNullException(fun () ->FSharpValue.PreComputeRecordConstructorInfo(null)|> ignore)

// invalid value
CheckThrowsArgumentException(fun () -> FSharpValue.PreComputeRecordConstructorInfo(typeof<DiscUnionType<string>>) |> ignore)
Expand All @@ -517,7 +517,7 @@ type FSharpValueTests() =
Assert.AreEqual(recordFieldReader(genericRecordType1), box("field1"))

// null value
CheckThrowsArgumentException(fun () -> FSharpValue.PreComputeRecordFieldReader(null)|> ignore)
CheckThrowsArgumentNullException(fun () -> FSharpValue.PreComputeRecordFieldReader(null)|> ignore)

[<Fact>]
member _.PreComputeStructRecordFieldReader() =
Expand All @@ -536,7 +536,7 @@ type FSharpValueTests() =
Assert.AreEqual( (genericrecordReader(genericRecordType1)).[0], "field1")

// null value
CheckThrowsArgumentException(fun () ->FSharpValue.PreComputeRecordReader(null)|> ignore)
CheckThrowsArgumentNullException(fun () ->FSharpValue.PreComputeRecordReader(null)|> ignore)

// invalid value
CheckThrowsArgumentException(fun () -> FSharpValue.PreComputeRecordReader(typeof<DiscUnionType<string>>) |> ignore)
Expand Down Expand Up @@ -566,7 +566,7 @@ type FSharpValueTests() =
Assert.AreEqual( tupleNestedCtor([| box 1; box(2, "tuple") |] ), box(tuple3))

// null value
CheckThrowsArgumentException(fun () -> FSharpValue.PreComputeTupleConstructor(null)|> ignore)
CheckThrowsArgumentNullException(fun () -> FSharpValue.PreComputeTupleConstructor(null)|> ignore)

// invalid value
CheckThrowsArgumentException(fun () -> FSharpValue.PreComputeTupleConstructor(typeof<DiscUnionType<string>>) |> ignore)
Expand Down Expand Up @@ -604,7 +604,7 @@ type FSharpValueTests() =
Assert.AreEqual(nestedTupleCtorInfo.ReflectedType, typeof<Tuple<int, Tuple<int, string>>>)

// null value
CheckThrowsArgumentException(fun () ->FSharpValue.PreComputeTupleConstructorInfo(null)|> ignore)
CheckThrowsArgumentNullException(fun () ->FSharpValue.PreComputeTupleConstructorInfo(null)|> ignore)

// invalid value
CheckThrowsArgumentException(fun () -> FSharpValue.PreComputeTupleConstructorInfo(typeof<RecordType>) |> ignore)
Expand Down Expand Up @@ -634,7 +634,7 @@ type FSharpValueTests() =
Assert.AreEqual(tupleNestedPropInfo.PropertyType, typeof<Tuple<int, string>>)

// null value
CheckThrowsArgumentException(fun () ->FSharpValue.PreComputeTuplePropertyInfo(null, 0)|> ignore)
CheckThrowsArgumentNullException(fun () ->FSharpValue.PreComputeTuplePropertyInfo(null, 0)|> ignore)

// invalid value
CheckThrowsArgumentException(fun () -> FSharpValue.PreComputeTuplePropertyInfo(typeof<RecordType>, 0) |> ignore)
Expand Down Expand Up @@ -670,7 +670,7 @@ type FSharpValueTests() =
Assert.AreEqual (longTupleReader longTuple, [| box ("yup", 1s); box 2; box 3; box 4; box 5; box 6; box 7; box 8; box 9; box 10; box 11; box (Some 12); box 13; box "nope"; box (struct (15, 16)); box 17; box 18; box (ValueSome 19) |])

// null value
CheckThrowsArgumentException(fun () ->FSharpValue.PreComputeTupleReader(null)|> ignore)
CheckThrowsArgumentNullException(fun () ->FSharpValue.PreComputeTupleReader(null)|> ignore)

// invalid value
CheckThrowsArgumentException(fun () -> FSharpValue.PreComputeTupleReader(typeof<RecordType>) |> ignore)
Expand Down Expand Up @@ -813,7 +813,7 @@ type FSharpValueTests() =
Assert.AreEqual(discUnionMemberInfo.ReflectedType, typeof<DiscUnionType<int>>)

// null value
CheckThrowsArgumentException(fun () ->FSharpValue.PreComputeUnionTagMemberInfo(null)|> ignore)
CheckThrowsArgumentNullException(fun () ->FSharpValue.PreComputeUnionTagMemberInfo(null)|> ignore)

// invalid value
CheckThrowsArgumentException(fun () -> FSharpValue.PreComputeUnionTagMemberInfo(typeof<RecordType>) |> ignore)
Expand Down Expand Up @@ -851,7 +851,7 @@ type FSharpValueTests() =
Assert.AreEqual(voptionTagReader(box(voptionNone)), 0)

// null value
CheckThrowsArgumentException(fun () ->FSharpValue.PreComputeUnionTagReader(null)|> ignore)
CheckThrowsArgumentNullException(fun () ->FSharpValue.PreComputeUnionTagReader(null)|> ignore)

// invalid value
CheckThrowsArgumentException(fun () -> FSharpValue.PreComputeUnionTagReader(typeof<RecordType>) |> ignore)
Expand Down Expand Up @@ -1179,7 +1179,7 @@ type FSharpTypeTests() =

// invalid cases
CheckThrowsArgumentException(fun () ->FSharpType.MakeStructTupleType( [|null;null|]) |> ignore )
CheckThrowsArgumentException(fun () ->FSharpType.MakeStructTupleType( null) |> ignore )
CheckThrowsArgumentNullException(fun () ->FSharpType.MakeStructTupleType( null) |> ignore )
CheckThrowsArgumentException(fun () ->FSharpType.MakeStructTupleType( [| |]) |> ignore )

type UnionCaseInfoTests() =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ module OperatorsModuleDynamic =
let _ = f ()
sprintf "Expected %O exception, got no exception" typeof<'a> |> Assert.Fail
with
| :? 'a -> ()
| :? 'a as e when e.GetType() = typeof<'a> -> ()
| :? Reflection.TargetInvocationException as r when (r.InnerException :? 'a) -> ()
| e -> sprintf "Expected %O or TargetInvocationException containing it, got: %O" typeof<'a> e |> Assert.Fail
let CheckThrowsOverflowException = CheckThrowsExn<OverflowException>
Expand Down
2 changes: 1 addition & 1 deletion tests/FSharp.Core.UnitTests/LibraryTestFx.fs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ let CheckThrowsExn<'a when 'a :> exn> (f : unit -> unit) =
let _ = f ()
sprintf "Expected %O exception, got no exception" typeof<'a> |> Assert.Fail
with
| :? 'a -> ()
| :? 'a as e when e.GetType() = typeof<'a> -> ()
| e -> sprintf "Expected %O exception, got: %O" typeof<'a> e |> Assert.Fail

let private CheckThrowsExn2<'a when 'a :> exn> s (f : unit -> unit) =
Expand Down