packages feed

hydra-0.14.0: src/gen-test/haskell/Hydra/Test/Json/Parser.hs

-- Note: this is an automatically generated file. Do not edit.

-- | Test cases for JSON parsing

module Hydra.Test.Json.Parser where

import qualified Hydra.Json.Model as Model
import qualified Hydra.Parsing as Parsing
import qualified Hydra.Testing as Testing
import Prelude hiding  (Enum, Ordering, decodeFloat, encodeFloat, fail, map, pure, sum)
import qualified Data.ByteString as B
import qualified Data.Int as I
import qualified Data.List as L
import qualified Data.Map as M
import qualified Data.Set as S

-- | Test cases for JSON parsing
allTests :: Testing.TestGroup
allTests =
    Testing.TestGroup {
      Testing.testGroupName = "JSON parsing",
      Testing.testGroupDescription = Nothing,
      Testing.testGroupSubgroups = [
        Testing.TestGroup {
          Testing.testGroupName = "primitives",
          Testing.testGroupDescription = Nothing,
          Testing.testGroupSubgroups = [],
          Testing.testGroupCases = [
            Testing.TestCaseWithMetadata {
              Testing.testCaseWithMetadataName = "null",
              Testing.testCaseWithMetadataCase = (Testing.TestCaseJsonParser (Testing.ParserTestCase {
                Testing.parserTestCaseInput = "null",
                Testing.parserTestCaseOutput = (Parsing.ParseResultSuccess (Parsing.ParseSuccess {
                  Parsing.parseSuccessValue = Model.ValueNull,
                  Parsing.parseSuccessRemainder = ""}))})),
              Testing.testCaseWithMetadataDescription = Nothing,
              Testing.testCaseWithMetadataTags = []},
            Testing.TestCaseWithMetadata {
              Testing.testCaseWithMetadataName = "true",
              Testing.testCaseWithMetadataCase = (Testing.TestCaseJsonParser (Testing.ParserTestCase {
                Testing.parserTestCaseInput = "true",
                Testing.parserTestCaseOutput = (Parsing.ParseResultSuccess (Parsing.ParseSuccess {
                  Parsing.parseSuccessValue = (Model.ValueBoolean True),
                  Parsing.parseSuccessRemainder = ""}))})),
              Testing.testCaseWithMetadataDescription = Nothing,
              Testing.testCaseWithMetadataTags = []},
            Testing.TestCaseWithMetadata {
              Testing.testCaseWithMetadataName = "false",
              Testing.testCaseWithMetadataCase = (Testing.TestCaseJsonParser (Testing.ParserTestCase {
                Testing.parserTestCaseInput = "false",
                Testing.parserTestCaseOutput = (Parsing.ParseResultSuccess (Parsing.ParseSuccess {
                  Parsing.parseSuccessValue = (Model.ValueBoolean False),
                  Parsing.parseSuccessRemainder = ""}))})),
              Testing.testCaseWithMetadataDescription = Nothing,
              Testing.testCaseWithMetadataTags = []},
            Testing.TestCaseWithMetadata {
              Testing.testCaseWithMetadataName = "zero",
              Testing.testCaseWithMetadataCase = (Testing.TestCaseJsonParser (Testing.ParserTestCase {
                Testing.parserTestCaseInput = "0",
                Testing.parserTestCaseOutput = (Parsing.ParseResultSuccess (Parsing.ParseSuccess {
                  Parsing.parseSuccessValue = (Model.ValueNumber 0.0),
                  Parsing.parseSuccessRemainder = ""}))})),
              Testing.testCaseWithMetadataDescription = Nothing,
              Testing.testCaseWithMetadataTags = []},
            Testing.TestCaseWithMetadata {
              Testing.testCaseWithMetadataName = "positive integer",
              Testing.testCaseWithMetadataCase = (Testing.TestCaseJsonParser (Testing.ParserTestCase {
                Testing.parserTestCaseInput = "42",
                Testing.parserTestCaseOutput = (Parsing.ParseResultSuccess (Parsing.ParseSuccess {
                  Parsing.parseSuccessValue = (Model.ValueNumber 42.0),
                  Parsing.parseSuccessRemainder = ""}))})),
              Testing.testCaseWithMetadataDescription = Nothing,
              Testing.testCaseWithMetadataTags = []},
            Testing.TestCaseWithMetadata {
              Testing.testCaseWithMetadataName = "negative integer",
              Testing.testCaseWithMetadataCase = (Testing.TestCaseJsonParser (Testing.ParserTestCase {
                Testing.parserTestCaseInput = "-17",
                Testing.parserTestCaseOutput = (Parsing.ParseResultSuccess (Parsing.ParseSuccess {
                  Parsing.parseSuccessValue = (Model.ValueNumber (-17.0)),
                  Parsing.parseSuccessRemainder = ""}))})),
              Testing.testCaseWithMetadataDescription = Nothing,
              Testing.testCaseWithMetadataTags = []},
            Testing.TestCaseWithMetadata {
              Testing.testCaseWithMetadataName = "large integer",
              Testing.testCaseWithMetadataCase = (Testing.TestCaseJsonParser (Testing.ParserTestCase {
                Testing.parserTestCaseInput = "1000000",
                Testing.parserTestCaseOutput = (Parsing.ParseResultSuccess (Parsing.ParseSuccess {
                  Parsing.parseSuccessValue = (Model.ValueNumber 1000000.0),
                  Parsing.parseSuccessRemainder = ""}))})),
              Testing.testCaseWithMetadataDescription = Nothing,
              Testing.testCaseWithMetadataTags = []},
            Testing.TestCaseWithMetadata {
              Testing.testCaseWithMetadataName = "decimal",
              Testing.testCaseWithMetadataCase = (Testing.TestCaseJsonParser (Testing.ParserTestCase {
                Testing.parserTestCaseInput = "3.14",
                Testing.parserTestCaseOutput = (Parsing.ParseResultSuccess (Parsing.ParseSuccess {
                  Parsing.parseSuccessValue = (Model.ValueNumber 3.14),
                  Parsing.parseSuccessRemainder = ""}))})),
              Testing.testCaseWithMetadataDescription = Nothing,
              Testing.testCaseWithMetadataTags = []},
            Testing.TestCaseWithMetadata {
              Testing.testCaseWithMetadataName = "negative decimal",
              Testing.testCaseWithMetadataCase = (Testing.TestCaseJsonParser (Testing.ParserTestCase {
                Testing.parserTestCaseInput = "-2.5",
                Testing.parserTestCaseOutput = (Parsing.ParseResultSuccess (Parsing.ParseSuccess {
                  Parsing.parseSuccessValue = (Model.ValueNumber (-2.5)),
                  Parsing.parseSuccessRemainder = ""}))})),
              Testing.testCaseWithMetadataDescription = Nothing,
              Testing.testCaseWithMetadataTags = []},
            Testing.TestCaseWithMetadata {
              Testing.testCaseWithMetadataName = "scientific notation",
              Testing.testCaseWithMetadataCase = (Testing.TestCaseJsonParser (Testing.ParserTestCase {
                Testing.parserTestCaseInput = "1e3",
                Testing.parserTestCaseOutput = (Parsing.ParseResultSuccess (Parsing.ParseSuccess {
                  Parsing.parseSuccessValue = (Model.ValueNumber 1000.0),
                  Parsing.parseSuccessRemainder = ""}))})),
              Testing.testCaseWithMetadataDescription = Nothing,
              Testing.testCaseWithMetadataTags = []},
            Testing.TestCaseWithMetadata {
              Testing.testCaseWithMetadataName = "scientific with decimal",
              Testing.testCaseWithMetadataCase = (Testing.TestCaseJsonParser (Testing.ParserTestCase {
                Testing.parserTestCaseInput = "1.5e2",
                Testing.parserTestCaseOutput = (Parsing.ParseResultSuccess (Parsing.ParseSuccess {
                  Parsing.parseSuccessValue = (Model.ValueNumber 150.0),
                  Parsing.parseSuccessRemainder = ""}))})),
              Testing.testCaseWithMetadataDescription = Nothing,
              Testing.testCaseWithMetadataTags = []},
            Testing.TestCaseWithMetadata {
              Testing.testCaseWithMetadataName = "negative exponent",
              Testing.testCaseWithMetadataCase = (Testing.TestCaseJsonParser (Testing.ParserTestCase {
                Testing.parserTestCaseInput = "1e-2",
                Testing.parserTestCaseOutput = (Parsing.ParseResultSuccess (Parsing.ParseSuccess {
                  Parsing.parseSuccessValue = (Model.ValueNumber 1.0e-2),
                  Parsing.parseSuccessRemainder = ""}))})),
              Testing.testCaseWithMetadataDescription = Nothing,
              Testing.testCaseWithMetadataTags = []}]},
        Testing.TestGroup {
          Testing.testGroupName = "strings",
          Testing.testGroupDescription = Nothing,
          Testing.testGroupSubgroups = [],
          Testing.testGroupCases = [
            Testing.TestCaseWithMetadata {
              Testing.testCaseWithMetadataName = "empty string",
              Testing.testCaseWithMetadataCase = (Testing.TestCaseJsonParser (Testing.ParserTestCase {
                Testing.parserTestCaseInput = "\"\"",
                Testing.parserTestCaseOutput = (Parsing.ParseResultSuccess (Parsing.ParseSuccess {
                  Parsing.parseSuccessValue = (Model.ValueString ""),
                  Parsing.parseSuccessRemainder = ""}))})),
              Testing.testCaseWithMetadataDescription = Nothing,
              Testing.testCaseWithMetadataTags = []},
            Testing.TestCaseWithMetadata {
              Testing.testCaseWithMetadataName = "simple string",
              Testing.testCaseWithMetadataCase = (Testing.TestCaseJsonParser (Testing.ParserTestCase {
                Testing.parserTestCaseInput = "\"hello\"",
                Testing.parserTestCaseOutput = (Parsing.ParseResultSuccess (Parsing.ParseSuccess {
                  Parsing.parseSuccessValue = (Model.ValueString "hello"),
                  Parsing.parseSuccessRemainder = ""}))})),
              Testing.testCaseWithMetadataDescription = Nothing,
              Testing.testCaseWithMetadataTags = []},
            Testing.TestCaseWithMetadata {
              Testing.testCaseWithMetadataName = "string with spaces",
              Testing.testCaseWithMetadataCase = (Testing.TestCaseJsonParser (Testing.ParserTestCase {
                Testing.parserTestCaseInput = "\"hello world\"",
                Testing.parserTestCaseOutput = (Parsing.ParseResultSuccess (Parsing.ParseSuccess {
                  Parsing.parseSuccessValue = (Model.ValueString "hello world"),
                  Parsing.parseSuccessRemainder = ""}))})),
              Testing.testCaseWithMetadataDescription = Nothing,
              Testing.testCaseWithMetadataTags = []},
            Testing.TestCaseWithMetadata {
              Testing.testCaseWithMetadataName = "escaped double quote",
              Testing.testCaseWithMetadataCase = (Testing.TestCaseJsonParser (Testing.ParserTestCase {
                Testing.parserTestCaseInput = "\"say \\\"hi\\\"\"",
                Testing.parserTestCaseOutput = (Parsing.ParseResultSuccess (Parsing.ParseSuccess {
                  Parsing.parseSuccessValue = (Model.ValueString "say \"hi\""),
                  Parsing.parseSuccessRemainder = ""}))})),
              Testing.testCaseWithMetadataDescription = Nothing,
              Testing.testCaseWithMetadataTags = []},
            Testing.TestCaseWithMetadata {
              Testing.testCaseWithMetadataName = "escaped backslash",
              Testing.testCaseWithMetadataCase = (Testing.TestCaseJsonParser (Testing.ParserTestCase {
                Testing.parserTestCaseInput = "\"path\\\\to\\\\file\"",
                Testing.parserTestCaseOutput = (Parsing.ParseResultSuccess (Parsing.ParseSuccess {
                  Parsing.parseSuccessValue = (Model.ValueString "path\\to\\file"),
                  Parsing.parseSuccessRemainder = ""}))})),
              Testing.testCaseWithMetadataDescription = Nothing,
              Testing.testCaseWithMetadataTags = []},
            Testing.TestCaseWithMetadata {
              Testing.testCaseWithMetadataName = "escaped newline",
              Testing.testCaseWithMetadataCase = (Testing.TestCaseJsonParser (Testing.ParserTestCase {
                Testing.parserTestCaseInput = "\"line1\\nline2\"",
                Testing.parserTestCaseOutput = (Parsing.ParseResultSuccess (Parsing.ParseSuccess {
                  Parsing.parseSuccessValue = (Model.ValueString "line1\nline2"),
                  Parsing.parseSuccessRemainder = ""}))})),
              Testing.testCaseWithMetadataDescription = Nothing,
              Testing.testCaseWithMetadataTags = []},
            Testing.TestCaseWithMetadata {
              Testing.testCaseWithMetadataName = "escaped carriage return",
              Testing.testCaseWithMetadataCase = (Testing.TestCaseJsonParser (Testing.ParserTestCase {
                Testing.parserTestCaseInput = "\"line1\\rline2\"",
                Testing.parserTestCaseOutput = (Parsing.ParseResultSuccess (Parsing.ParseSuccess {
                  Parsing.parseSuccessValue = (Model.ValueString "line1\rline2"),
                  Parsing.parseSuccessRemainder = ""}))})),
              Testing.testCaseWithMetadataDescription = Nothing,
              Testing.testCaseWithMetadataTags = []},
            Testing.TestCaseWithMetadata {
              Testing.testCaseWithMetadataName = "escaped tab",
              Testing.testCaseWithMetadataCase = (Testing.TestCaseJsonParser (Testing.ParserTestCase {
                Testing.parserTestCaseInput = "\"col1\\tcol2\"",
                Testing.parserTestCaseOutput = (Parsing.ParseResultSuccess (Parsing.ParseSuccess {
                  Parsing.parseSuccessValue = (Model.ValueString "col1\tcol2"),
                  Parsing.parseSuccessRemainder = ""}))})),
              Testing.testCaseWithMetadataDescription = Nothing,
              Testing.testCaseWithMetadataTags = []},
            Testing.TestCaseWithMetadata {
              Testing.testCaseWithMetadataName = "escaped forward slash",
              Testing.testCaseWithMetadataCase = (Testing.TestCaseJsonParser (Testing.ParserTestCase {
                Testing.parserTestCaseInput = "\"a\\/b\"",
                Testing.parserTestCaseOutput = (Parsing.ParseResultSuccess (Parsing.ParseSuccess {
                  Parsing.parseSuccessValue = (Model.ValueString "a/b"),
                  Parsing.parseSuccessRemainder = ""}))})),
              Testing.testCaseWithMetadataDescription = Nothing,
              Testing.testCaseWithMetadataTags = []}]},
        Testing.TestGroup {
          Testing.testGroupName = "arrays",
          Testing.testGroupDescription = Nothing,
          Testing.testGroupSubgroups = [],
          Testing.testGroupCases = [
            Testing.TestCaseWithMetadata {
              Testing.testCaseWithMetadataName = "empty array",
              Testing.testCaseWithMetadataCase = (Testing.TestCaseJsonParser (Testing.ParserTestCase {
                Testing.parserTestCaseInput = "[]",
                Testing.parserTestCaseOutput = (Parsing.ParseResultSuccess (Parsing.ParseSuccess {
                  Parsing.parseSuccessValue = (Model.ValueArray []),
                  Parsing.parseSuccessRemainder = ""}))})),
              Testing.testCaseWithMetadataDescription = Nothing,
              Testing.testCaseWithMetadataTags = []},
            Testing.TestCaseWithMetadata {
              Testing.testCaseWithMetadataName = "single element",
              Testing.testCaseWithMetadataCase = (Testing.TestCaseJsonParser (Testing.ParserTestCase {
                Testing.parserTestCaseInput = "[1]",
                Testing.parserTestCaseOutput = (Parsing.ParseResultSuccess (Parsing.ParseSuccess {
                  Parsing.parseSuccessValue = (Model.ValueArray [
                    Model.ValueNumber 1.0]),
                  Parsing.parseSuccessRemainder = ""}))})),
              Testing.testCaseWithMetadataDescription = Nothing,
              Testing.testCaseWithMetadataTags = []},
            Testing.TestCaseWithMetadata {
              Testing.testCaseWithMetadataName = "multiple numbers",
              Testing.testCaseWithMetadataCase = (Testing.TestCaseJsonParser (Testing.ParserTestCase {
                Testing.parserTestCaseInput = "[1, 2, 3]",
                Testing.parserTestCaseOutput = (Parsing.ParseResultSuccess (Parsing.ParseSuccess {
                  Parsing.parseSuccessValue = (Model.ValueArray [
                    Model.ValueNumber 1.0,
                    (Model.ValueNumber 2.0),
                    (Model.ValueNumber 3.0)]),
                  Parsing.parseSuccessRemainder = ""}))})),
              Testing.testCaseWithMetadataDescription = Nothing,
              Testing.testCaseWithMetadataTags = []},
            Testing.TestCaseWithMetadata {
              Testing.testCaseWithMetadataName = "multiple strings",
              Testing.testCaseWithMetadataCase = (Testing.TestCaseJsonParser (Testing.ParserTestCase {
                Testing.parserTestCaseInput = "[\"a\", \"b\"]",
                Testing.parserTestCaseOutput = (Parsing.ParseResultSuccess (Parsing.ParseSuccess {
                  Parsing.parseSuccessValue = (Model.ValueArray [
                    Model.ValueString "a",
                    (Model.ValueString "b")]),
                  Parsing.parseSuccessRemainder = ""}))})),
              Testing.testCaseWithMetadataDescription = Nothing,
              Testing.testCaseWithMetadataTags = []},
            Testing.TestCaseWithMetadata {
              Testing.testCaseWithMetadataName = "mixed types",
              Testing.testCaseWithMetadataCase = (Testing.TestCaseJsonParser (Testing.ParserTestCase {
                Testing.parserTestCaseInput = "[1, \"two\", true, null]",
                Testing.parserTestCaseOutput = (Parsing.ParseResultSuccess (Parsing.ParseSuccess {
                  Parsing.parseSuccessValue = (Model.ValueArray [
                    Model.ValueNumber 1.0,
                    (Model.ValueString "two"),
                    (Model.ValueBoolean True),
                    Model.ValueNull]),
                  Parsing.parseSuccessRemainder = ""}))})),
              Testing.testCaseWithMetadataDescription = Nothing,
              Testing.testCaseWithMetadataTags = []}]},
        Testing.TestGroup {
          Testing.testGroupName = "objects",
          Testing.testGroupDescription = Nothing,
          Testing.testGroupSubgroups = [],
          Testing.testGroupCases = [
            Testing.TestCaseWithMetadata {
              Testing.testCaseWithMetadataName = "empty object",
              Testing.testCaseWithMetadataCase = (Testing.TestCaseJsonParser (Testing.ParserTestCase {
                Testing.parserTestCaseInput = "{}",
                Testing.parserTestCaseOutput = (Parsing.ParseResultSuccess (Parsing.ParseSuccess {
                  Parsing.parseSuccessValue = (Model.ValueObject M.empty),
                  Parsing.parseSuccessRemainder = ""}))})),
              Testing.testCaseWithMetadataDescription = Nothing,
              Testing.testCaseWithMetadataTags = []},
            Testing.TestCaseWithMetadata {
              Testing.testCaseWithMetadataName = "single key-value",
              Testing.testCaseWithMetadataCase = (Testing.TestCaseJsonParser (Testing.ParserTestCase {
                Testing.parserTestCaseInput = "{\"name\": \"Alice\"}",
                Testing.parserTestCaseOutput = (Parsing.ParseResultSuccess (Parsing.ParseSuccess {
                  Parsing.parseSuccessValue = (Model.ValueObject (M.fromList [
                    ("name", (Model.ValueString "Alice"))])),
                  Parsing.parseSuccessRemainder = ""}))})),
              Testing.testCaseWithMetadataDescription = Nothing,
              Testing.testCaseWithMetadataTags = []},
            Testing.TestCaseWithMetadata {
              Testing.testCaseWithMetadataName = "multiple keys",
              Testing.testCaseWithMetadataCase = (Testing.TestCaseJsonParser (Testing.ParserTestCase {
                Testing.parserTestCaseInput = "{\"a\": 1, \"b\": 2}",
                Testing.parserTestCaseOutput = (Parsing.ParseResultSuccess (Parsing.ParseSuccess {
                  Parsing.parseSuccessValue = (Model.ValueObject (M.fromList [
                    ("a", (Model.ValueNumber 1.0)),
                    ("b", (Model.ValueNumber 2.0))])),
                  Parsing.parseSuccessRemainder = ""}))})),
              Testing.testCaseWithMetadataDescription = Nothing,
              Testing.testCaseWithMetadataTags = []},
            Testing.TestCaseWithMetadata {
              Testing.testCaseWithMetadataName = "mixed value types",
              Testing.testCaseWithMetadataCase = (Testing.TestCaseJsonParser (Testing.ParserTestCase {
                Testing.parserTestCaseInput = "{\"active\": true, \"count\": 42, \"name\": \"test\"}",
                Testing.parserTestCaseOutput = (Parsing.ParseResultSuccess (Parsing.ParseSuccess {
                  Parsing.parseSuccessValue = (Model.ValueObject (M.fromList [
                    ("active", (Model.ValueBoolean True)),
                    ("count", (Model.ValueNumber 42.0)),
                    ("name", (Model.ValueString "test"))])),
                  Parsing.parseSuccessRemainder = ""}))})),
              Testing.testCaseWithMetadataDescription = Nothing,
              Testing.testCaseWithMetadataTags = []}]},
        Testing.TestGroup {
          Testing.testGroupName = "nested structures",
          Testing.testGroupDescription = Nothing,
          Testing.testGroupSubgroups = [],
          Testing.testGroupCases = [
            Testing.TestCaseWithMetadata {
              Testing.testCaseWithMetadataName = "nested arrays",
              Testing.testCaseWithMetadataCase = (Testing.TestCaseJsonParser (Testing.ParserTestCase {
                Testing.parserTestCaseInput = "[[1, 2], [3, 4]]",
                Testing.parserTestCaseOutput = (Parsing.ParseResultSuccess (Parsing.ParseSuccess {
                  Parsing.parseSuccessValue = (Model.ValueArray [
                    Model.ValueArray [
                      Model.ValueNumber 1.0,
                      (Model.ValueNumber 2.0)],
                    (Model.ValueArray [
                      Model.ValueNumber 3.0,
                      (Model.ValueNumber 4.0)])]),
                  Parsing.parseSuccessRemainder = ""}))})),
              Testing.testCaseWithMetadataDescription = Nothing,
              Testing.testCaseWithMetadataTags = []},
            Testing.TestCaseWithMetadata {
              Testing.testCaseWithMetadataName = "object with array",
              Testing.testCaseWithMetadataCase = (Testing.TestCaseJsonParser (Testing.ParserTestCase {
                Testing.parserTestCaseInput = "{\"items\": [1, 2]}",
                Testing.parserTestCaseOutput = (Parsing.ParseResultSuccess (Parsing.ParseSuccess {
                  Parsing.parseSuccessValue = (Model.ValueObject (M.fromList [
                    ("items", (Model.ValueArray [
                      Model.ValueNumber 1.0,
                      (Model.ValueNumber 2.0)]))])),
                  Parsing.parseSuccessRemainder = ""}))})),
              Testing.testCaseWithMetadataDescription = Nothing,
              Testing.testCaseWithMetadataTags = []},
            Testing.TestCaseWithMetadata {
              Testing.testCaseWithMetadataName = "array of objects",
              Testing.testCaseWithMetadataCase = (Testing.TestCaseJsonParser (Testing.ParserTestCase {
                Testing.parserTestCaseInput = "[{\"id\": 1}, {\"id\": 2}]",
                Testing.parserTestCaseOutput = (Parsing.ParseResultSuccess (Parsing.ParseSuccess {
                  Parsing.parseSuccessValue = (Model.ValueArray [
                    Model.ValueObject (M.fromList [
                      ("id", (Model.ValueNumber 1.0))]),
                    (Model.ValueObject (M.fromList [
                      ("id", (Model.ValueNumber 2.0))]))]),
                  Parsing.parseSuccessRemainder = ""}))})),
              Testing.testCaseWithMetadataDescription = Nothing,
              Testing.testCaseWithMetadataTags = []},
            Testing.TestCaseWithMetadata {
              Testing.testCaseWithMetadataName = "nested object",
              Testing.testCaseWithMetadataCase = (Testing.TestCaseJsonParser (Testing.ParserTestCase {
                Testing.parserTestCaseInput = "{\"user\": {\"name\": \"Bob\"}}",
                Testing.parserTestCaseOutput = (Parsing.ParseResultSuccess (Parsing.ParseSuccess {
                  Parsing.parseSuccessValue = (Model.ValueObject (M.fromList [
                    ("user", (Model.ValueObject (M.fromList [
                      ("name", (Model.ValueString "Bob"))])))])),
                  Parsing.parseSuccessRemainder = ""}))})),
              Testing.testCaseWithMetadataDescription = Nothing,
              Testing.testCaseWithMetadataTags = []}]},
        Testing.TestGroup {
          Testing.testGroupName = "whitespace handling",
          Testing.testGroupDescription = Nothing,
          Testing.testGroupSubgroups = [],
          Testing.testGroupCases = [
            Testing.TestCaseWithMetadata {
              Testing.testCaseWithMetadataName = "leading whitespace",
              Testing.testCaseWithMetadataCase = (Testing.TestCaseJsonParser (Testing.ParserTestCase {
                Testing.parserTestCaseInput = "  null",
                Testing.parserTestCaseOutput = (Parsing.ParseResultSuccess (Parsing.ParseSuccess {
                  Parsing.parseSuccessValue = Model.ValueNull,
                  Parsing.parseSuccessRemainder = ""}))})),
              Testing.testCaseWithMetadataDescription = Nothing,
              Testing.testCaseWithMetadataTags = []},
            Testing.TestCaseWithMetadata {
              Testing.testCaseWithMetadataName = "trailing whitespace",
              Testing.testCaseWithMetadataCase = (Testing.TestCaseJsonParser (Testing.ParserTestCase {
                Testing.parserTestCaseInput = "null  ",
                Testing.parserTestCaseOutput = (Parsing.ParseResultSuccess (Parsing.ParseSuccess {
                  Parsing.parseSuccessValue = Model.ValueNull,
                  Parsing.parseSuccessRemainder = ""}))})),
              Testing.testCaseWithMetadataDescription = Nothing,
              Testing.testCaseWithMetadataTags = []},
            Testing.TestCaseWithMetadata {
              Testing.testCaseWithMetadataName = "both whitespace",
              Testing.testCaseWithMetadataCase = (Testing.TestCaseJsonParser (Testing.ParserTestCase {
                Testing.parserTestCaseInput = "  null  ",
                Testing.parserTestCaseOutput = (Parsing.ParseResultSuccess (Parsing.ParseSuccess {
                  Parsing.parseSuccessValue = Model.ValueNull,
                  Parsing.parseSuccessRemainder = ""}))})),
              Testing.testCaseWithMetadataDescription = Nothing,
              Testing.testCaseWithMetadataTags = []},
            Testing.TestCaseWithMetadata {
              Testing.testCaseWithMetadataName = "array with whitespace",
              Testing.testCaseWithMetadataCase = (Testing.TestCaseJsonParser (Testing.ParserTestCase {
                Testing.parserTestCaseInput = "[ 1 , 2 , 3 ]",
                Testing.parserTestCaseOutput = (Parsing.ParseResultSuccess (Parsing.ParseSuccess {
                  Parsing.parseSuccessValue = (Model.ValueArray [
                    Model.ValueNumber 1.0,
                    (Model.ValueNumber 2.0),
                    (Model.ValueNumber 3.0)]),
                  Parsing.parseSuccessRemainder = ""}))})),
              Testing.testCaseWithMetadataDescription = Nothing,
              Testing.testCaseWithMetadataTags = []},
            Testing.TestCaseWithMetadata {
              Testing.testCaseWithMetadataName = "object with whitespace",
              Testing.testCaseWithMetadataCase = (Testing.TestCaseJsonParser (Testing.ParserTestCase {
                Testing.parserTestCaseInput = "{ \"a\" : 1 }",
                Testing.parserTestCaseOutput = (Parsing.ParseResultSuccess (Parsing.ParseSuccess {
                  Parsing.parseSuccessValue = (Model.ValueObject (M.fromList [
                    ("a", (Model.ValueNumber 1.0))])),
                  Parsing.parseSuccessRemainder = ""}))})),
              Testing.testCaseWithMetadataDescription = Nothing,
              Testing.testCaseWithMetadataTags = []},
            Testing.TestCaseWithMetadata {
              Testing.testCaseWithMetadataName = "multiline array",
              Testing.testCaseWithMetadataCase = (Testing.TestCaseJsonParser (Testing.ParserTestCase {
                Testing.parserTestCaseInput = "[\n  1,\n  2\n]",
                Testing.parserTestCaseOutput = (Parsing.ParseResultSuccess (Parsing.ParseSuccess {
                  Parsing.parseSuccessValue = (Model.ValueArray [
                    Model.ValueNumber 1.0,
                    (Model.ValueNumber 2.0)]),
                  Parsing.parseSuccessRemainder = ""}))})),
              Testing.testCaseWithMetadataDescription = Nothing,
              Testing.testCaseWithMetadataTags = []}]}],
      Testing.testGroupCases = []}