From cb224e22d0840e936d68bd45c9726f22112a07b8 Mon Sep 17 00:00:00 2001 From: William Blum Date: Fri, 18 Oct 2019 14:42:54 -0700 Subject: [PATCH] Add unit tests to fuzz serializer on dictionary types --- FSharpLu.Tests/JsonTests.fs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/FSharpLu.Tests/JsonTests.fs b/FSharpLu.Tests/JsonTests.fs index 597c9db..036da59 100644 --- a/FSharpLu.Tests/JsonTests.fs +++ b/FSharpLu.Tests/JsonTests.fs @@ -27,7 +27,9 @@ type 'a Wrapper = { WrappedField : 'a } type NestedStructure = { subField : int } type NestedOptionStructure = { field : NestedStructure option } -type SomeTupleType = int * string list * int * int64 * OptionOfDu * Color * int Tree +type SomeTupleType = int * string list * int * int64 * OptionOfDu * Color * int Tree + +type TypeWithDict = { ThisIsADictionaryField : System.Collections.Generic.IDictionary } /// Test cases for possible ambiguity between option types and other DU or records with a 'Some' field. module SomeAmbiguity = @@ -114,6 +116,7 @@ type ReciprocalityCompact () = static member x24 = reciprocal Compact.serialize Compact.deserialize static member x25 = reciprocal Compact.serialize Compact.deserialize static member x26 = reciprocal Compact.serialize Compact.deserialize + static member x27 = reciprocal Compact.serialize Compact.deserialize type ReciprocalityCamelCase () = static member x1 = reciprocal CamelCaseSerializer.serialize CamelCaseSerializer.deserialize @@ -142,6 +145,7 @@ type ReciprocalityCamelCase () = static member x24 = reciprocal CamelCaseSerializer.serialize CamelCaseSerializer.deserialize static member x25 = reciprocal CamelCaseSerializer.serialize CamelCaseSerializer.deserialize static member x26 = reciprocal CamelCaseSerializer.serialize CamelCaseSerializer.deserialize + static member x27 = reciprocal CamelCaseSerializer.serialize CamelCaseSerializer.deserialize type CoincidesWithJsonNetOnDeserialization () = static member x1 = coincidesWithDefault @@ -170,6 +174,7 @@ type CoincidesWithJsonNetOnDeserialization () = static member x24 = coincidesWithDefault static member x25 = coincidesWithDefault static member x26 = coincidesWithDefault + static member x27 = coincidesWithDefault type BackwardCompatibility () = @@ -199,6 +204,7 @@ type BackwardCompatibility () = static member x24 = backwardCompatibleWithDefault static member x25 = backwardCompatibleWithDefault static member x26 = backwardCompatibleWithDefault + static member x27 = backwardCompatibleWithDefault let inline ``Run using all serializers``< ^T when ^T:equality> (test: (^T->string)->(string-> ^T)-> ^T->unit) (input: ^T) =