packages feed

hydra-0.13.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 = []}