From 0d667ba4c4dd6f5312686eb56aab82b634f17131 Mon Sep 17 00:00:00 2001 From: ncaq Date: Fri, 27 May 2022 15:47:56 +0900 Subject: [PATCH 1/4] added: test: RecordNestTuple When I try to generate an Elm test case for this, I get an error as expected. ~~~ end-to-end-tests: Library Bug: This should never happen! CallStack (from HasCallStack): error, called at src/Elm/TyRender.hs:31:31 in elm-bridge-0.8.0-inplace:Elm.TyRender ~~~ --- test/EndToEnd.hs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/test/EndToEnd.hs b/test/EndToEnd.hs index 63f60c3..4154716 100644 --- a/test/EndToEnd.hs +++ b/test/EndToEnd.hs @@ -19,6 +19,7 @@ import Test.QuickCheck.Gen (Gen, oneof, sample') data Record1 a = Record1 { _r1foo :: Int, _r1bar :: Maybe Int, _r1baz :: a, _r1qux :: Maybe a, _r1jmap :: M.Map String Int } deriving Show data Record2 a = Record2 { _r2foo :: Int, _r2bar :: Maybe Int, _r2baz :: a, _r2qux :: Maybe a } deriving Show +data RecordNestTuple a = RecordNestTuple (a, (a, a)) deriving Show data Sum01 a = Sum01A a | Sum01B (Maybe a) | Sum01C a a | Sum01D { _s01foo :: a } | Sum01E { _s01bar :: Int, _s01baz :: Int } deriving Show data Sum02 a = Sum02A a | Sum02B (Maybe a) | Sum02C a a | Sum02D { _s02foo :: a } | Sum02E { _s02bar :: Int, _s02baz :: Int } deriving Show @@ -156,6 +157,7 @@ mkSimpleEncodeTest = mkEncodeTest "Simple" "_s" $(deriveBoth defaultOptions{ fieldLabelModifier = drop 3, omitNothingFields = False } ''Record1) $(deriveBoth defaultOptions{ fieldLabelModifier = drop 3, omitNothingFields = True } ''Record2) +$(deriveBoth defaultOptions ''RecordNestTuple) $(deriveBoth defaultOptions{ fieldLabelModifier = drop 4, omitNothingFields = False, allNullaryToStringTag = False, sumEncoding = TaggedObject "tag" "content" } ''Sum01) $(deriveBoth defaultOptions{ fieldLabelModifier = drop 4, omitNothingFields = True , allNullaryToStringTag = False, sumEncoding = TaggedObject "tag" "content" } ''Sum02) @@ -206,6 +208,8 @@ arb c1 c2 c3 c4 c5 = oneof , c5 <$> arbitrary <*> arbitrary ] +instance Arbitrary a => Arbitrary (RecordNestTuple a) where + arbitrary = (\x y z -> RecordNestTuple (x, (y, z))) <$> arbitrary <*> arbitrary <*> arbitrary instance Arbitrary a => Arbitrary (Sum01 a) where arbitrary = arb Sum01A Sum01B Sum01C Sum01D Sum01E instance Arbitrary a => Arbitrary (Sum02 a) where arbitrary = arb Sum02A Sum02B Sum02C Sum02D Sum02E instance Arbitrary a => Arbitrary (Sum03 a) where arbitrary = arb Sum03A Sum03B Sum03C Sum03D Sum03E @@ -276,12 +280,14 @@ elmModuleContent = unlines , "recordDecode = describe \"Record decoding checks\"" , " [ recordDecode1" , " , recordDecode2" + , " , recordDecodeNestTuple" , " ]" , "" , "recordEncode : Test" , "recordEncode = describe \"Record encoding checks\"" , " [ recordEncode1" , " , recordEncode2" + , " , recordEncodeNestTuple" , " ]" , "" , "sumDecode : Test" @@ -354,6 +360,7 @@ elmModuleContent = unlines , makeModuleContentWithAlterations (newtypeAliases ["Record1", "Record2", "SimpleRecord01", "SimpleRecord02", "SimpleRecord03", "SimpleRecord04"] . defaultAlterations) [ DefineElm (Proxy :: Proxy (Record1 a)) , DefineElm (Proxy :: Proxy (Record2 a)) + , DefineElm (Proxy :: Proxy (RecordNestTuple a)) , DefineElm (Proxy :: Proxy (Sum01 a)) , DefineElm (Proxy :: Proxy (Sum02 a)) , DefineElm (Proxy :: Proxy (Sum03 a)) @@ -400,6 +407,7 @@ main = do ss12 <- sample' arbitrary :: IO [Sum12 [Int]] re01 <- sample' arbitrary :: IO [Record1 [Int]] re02 <- sample' arbitrary :: IO [Record2 [Int]] + rent <- sample' arbitrary :: IO [RecordNestTuple [Int]] sp01 <- sample' arbitrary :: IO [Simple01 [Int]] sp02 <- sample' arbitrary :: IO [Simple02 [Int]] sp03 <- sample' arbitrary :: IO [Simple03 [Int]] @@ -447,6 +455,8 @@ main = do , mkRecordDecodeTest "2" re02 , mkRecordEncodeTest "1" re01 , mkRecordEncodeTest "2" re02 + , mkRecordDecodeTest "NestTuple" rent + , mkRecordEncodeTest "NestTuple" rent , mkSimpleEncodeTest "01" sp01 , mkSimpleEncodeTest "02" sp02 , mkSimpleEncodeTest "03" sp03 From d5984f8a12a8dc90e0ee180a1279b819aa45c6d4 Mon Sep 17 00:00:00 2001 From: ncaq Date: Fri, 27 May 2022 15:58:46 +0900 Subject: [PATCH 2/4] fixed: use `renderElm` where `renderSingleTy` was used by mistake MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Even at this stage the test is failed by shadowing. ~~~ 2022-05-27T15:50:03 ❯ elm-test src/MyTests.elm -- SHADOWING - /home/ncaq/Desktop/elm-bridge/test/current-end-to-end/src/MyTests.elm These variables cannot have the same name: 179| (\(t1,t2) -> Json.Encode.list identity [(localEncoder_a) t1,((\(t1,t2) -> Json.Encode.list identity [(localEncoder_a) t1,(localEncoder_a) t2])) t2]) v1 ^^ ^^ Think of a more helpful name for one of them and you should be all set! Note: Linters advise against shadowing, so Elm makes “best practices” the default. Read for more details on this choice. -- SHADOWING - /home/ncaq/Desktop/elm-bridge/test/current-end-to-end/src/MyTests.elm These variables cannot have the same name: 179| (\(t1,t2) -> Json.Encode.list identity [(localEncoder_a) t1,((\(t1,t2) -> Json.Encode.list identity [(localEncoder_a) t1,(localEncoder_a) t2])) t2]) v1 ^^ ^^ Think of a more helpful name for one of them and you should be all set! Note: Linters advise against shadowing, so Elm makes “best practices” the default. Read for more details on this choice. `elm make` failed with exit code 1. ~~~ --- src/Elm/TyRender.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Elm/TyRender.hs b/src/Elm/TyRender.hs index bea2946..404b3c7 100644 --- a/src/Elm/TyRender.hs +++ b/src/Elm/TyRender.hs @@ -20,7 +20,7 @@ instance ElmRenderable EType where renderElm ty = case unpackTupleType ty of [t] -> renderSingleTy t - xs -> "(" ++ intercalate ", " (map renderSingleTy xs) ++ ")" + xs -> "(" ++ intercalate ", " (map renderElm xs) ++ ")" where renderApp (ETyApp l r) = renderApp l ++ " " ++ renderElm r renderApp x = renderElm x From e14a1d0ec7d0ba376aa85a9e98aaa746d66b0083 Mon Sep 17 00:00:00 2001 From: ncaq Date: Fri, 27 May 2022 16:04:04 +0900 Subject: [PATCH 3/4] fixed: Avoid errors due to shadowing by sharing namespace within the recurrence --- src/Elm/Json.hs | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/src/Elm/Json.hs b/src/Elm/Json.hs index 5536943..70fc1bf 100644 --- a/src/Elm/Json.hs +++ b/src/Elm/Json.hs @@ -166,10 +166,10 @@ jsonParserForDef etd = The 'omitNothingFields' option is currently not implemented! -} jsonSerForType :: EType -> String -jsonSerForType = jsonSerForType' False +jsonSerForType = jsonSerForType' False [1..] -jsonSerForType' :: Bool -> EType -> String -jsonSerForType' omitnull ty = +jsonSerForType' :: Bool -> [Int] -> EType -> String +jsonSerForType' omitnull ns ty = case ty of ETyVar (ETVar v) -> "localEncoder_" ++ v ETyCon (ETCon "Int") -> "Json.Encode.int" @@ -177,28 +177,29 @@ jsonSerForType' omitnull ty = ETyCon (ETCon "String") -> "Json.Encode.string" ETyCon (ETCon "Bool") -> "Json.Encode.bool" ETyCon (ETCon c) -> "jsonEnc" ++ c - ETyApp (ETyCon (ETCon "List")) t' -> "(Json.Encode.list " ++ jsonSerForType t' ++ ")" + ETyApp (ETyCon (ETCon "List")) t' -> "(Json.Encode.list " ++ jsonSerForType' omitnull ns t' ++ ")" ETyApp (ETyCon (ETCon "Maybe")) t' -> if omitnull - then jsonSerForType t' - else "(maybeEncode (" ++ jsonSerForType t' ++ "))" - ETyApp (ETyCon (ETCon "Set")) t' -> "(encodeSet " ++ jsonSerForType t' ++ ")" - ETyApp (ETyApp (ETyCon (ETCon "Dict")) (ETyCon (ETCon "String"))) value -> "(Json.Encode.dict identity (" ++ jsonSerForType value ++ "))" - ETyApp (ETyApp (ETyCon (ETCon "Dict")) key) value -> "(encodeMap (" ++ jsonSerForType key ++ ") (" ++ jsonSerForType value ++ "))" + then jsonSerForType' omitnull ns t' + else "(maybeEncode (" ++ jsonSerForType' omitnull ns t' ++ "))" + ETyApp (ETyCon (ETCon "Set")) t' -> "(encodeSet " ++ jsonSerForType' omitnull ns t' ++ ")" + ETyApp (ETyApp (ETyCon (ETCon "Dict")) (ETyCon (ETCon "String"))) value -> "(Json.Encode.dict identity (" ++ jsonSerForType' omitnull ns value ++ "))" + ETyApp (ETyApp (ETyCon (ETCon "Dict")) key) value -> "(encodeMap (" ++ jsonSerForType' omitnull ns key ++ ") (" ++ jsonSerForType' omitnull ns value ++ "))" _ -> case unpackTupleType ty of [] -> error $ "This should never happen. Failed to unpackTupleType: " ++ show ty [x] -> case unpackToplevelConstr x of (y : ys) -> - "(" ++ jsonSerForType y ++ " " - ++ unwords (map (\t' -> "(" ++ jsonSerForType t' ++ ")") ys) + "(" ++ jsonSerForType' omitnull ns y ++ " " + ++ unwords (map (\t' -> "(" ++ jsonSerForType' omitnull ns t' ++ ")") ys) ++ ")" _ -> error $ "Do suitable json serialiser found for " ++ show ty xs -> - let tupleArgsV = zip xs ([1..] :: [Int]) + let (ns', rest) = splitAt (length xs) ns + tupleArgsV = zip xs ns' tupleArgs = intercalate "," $ map (\(_, v) -> "t" ++ show v) tupleArgsV - in "(\\(" ++ tupleArgs ++ ") -> Json.Encode.list identity [" ++ intercalate "," (map (\(t', idx) -> "(" ++ jsonSerForType t' ++ ") t" ++ show idx) tupleArgsV) ++ "])" + in "(\\(" ++ tupleArgs ++ ") -> Json.Encode.list identity [" ++ intercalate "," (map (\(t', idx) -> "(" ++ jsonSerForType' omitnull rest t' ++ ") t" ++ show idx) tupleArgsV) ++ "])" -- | Compile a JSON serializer for an Elm type definition From f831e0d8a022c6ae5cfdc4e06887f1bbe6f86557 Mon Sep 17 00:00:00 2001 From: ncaq Date: Fri, 27 May 2022 16:05:20 +0900 Subject: [PATCH 4/4] updated: elm test case file --- test/current-end-to-end/src/MyTests.elm | 1194 ++++++++++++----------- 1 file changed, 620 insertions(+), 574 deletions(-) diff --git a/test/current-end-to-end/src/MyTests.elm b/test/current-end-to-end/src/MyTests.elm index 56132a8..0be7890 100644 --- a/test/current-end-to-end/src/MyTests.elm +++ b/test/current-end-to-end/src/MyTests.elm @@ -34,12 +34,14 @@ recordDecode : Test recordDecode = describe "Record decoding checks" [ recordDecode1 , recordDecode2 + , recordDecodeNestTuple ] recordEncode : Test recordEncode = describe "Record encoding checks" [ recordEncode1 , recordEncode2 + , recordEncodeNestTuple ] sumDecode : Test @@ -164,6 +166,20 @@ jsonEncRecord2 localEncoder_a (Record2 val) = +type RecordNestTuple a = + RecordNestTuple (a, (a, a)) + +jsonDecRecordNestTuple : Json.Decode.Decoder a -> Json.Decode.Decoder ( RecordNestTuple a ) +jsonDecRecordNestTuple localDecoder_a = + Json.Decode.lazy (\_ -> Json.Decode.map RecordNestTuple (Json.Decode.map2 tuple2 (Json.Decode.index 0 (localDecoder_a)) (Json.Decode.index 1 (Json.Decode.map2 tuple2 (Json.Decode.index 0 (localDecoder_a)) (Json.Decode.index 1 (localDecoder_a)))))) + + +jsonEncRecordNestTuple : (a -> Value) -> RecordNestTuple a -> Value +jsonEncRecordNestTuple localEncoder_a(RecordNestTuple v1) = + (\(t1,t2) -> Json.Encode.list identity [(localEncoder_a) t1,((\(t3,t4) -> Json.Encode.list identity [(localEncoder_a) t3,(localEncoder_a) t4])) t2]) v1 + + + type Sum01 a = Sum01A a | Sum01B (Maybe a) @@ -742,841 +758,871 @@ jsonEncNT4 (NT4 val) = sumEncode01 : Test sumEncode01 = describe "Sum encode 01" - [ test "1" (\_ -> equalHack "{\"tag\":\"Sum01E\",\"bar\":0,\"baz\":0}"(Json.Encode.encode 0 (jsonEncSum01(Json.Encode.list Json.Encode.int) (Sum01E {bar = 0, baz = 0})))) - , test "2" (\_ -> equalHack "{\"tag\":\"Sum01A\",\"content\":[-1,1]}"(Json.Encode.encode 0 (jsonEncSum01(Json.Encode.list Json.Encode.int) (Sum01A [-1,1])))) - , test "3" (\_ -> equalHack "{\"tag\":\"Sum01C\",\"content\":[[-1,2,4,-3],[]]}"(Json.Encode.encode 0 (jsonEncSum01(Json.Encode.list Json.Encode.int) (Sum01C [-1,2,4,-3] [])))) - , test "4" (\_ -> equalHack "{\"tag\":\"Sum01D\",\"foo\":[6,5,3]}"(Json.Encode.encode 0 (jsonEncSum01(Json.Encode.list Json.Encode.int) (Sum01D {foo = [6,5,3]})))) - , test "5" (\_ -> equalHack "{\"tag\":\"Sum01D\",\"foo\":[2,-8,4]}"(Json.Encode.encode 0 (jsonEncSum01(Json.Encode.list Json.Encode.int) (Sum01D {foo = [2,-8,4]})))) - , test "6" (\_ -> equalHack "{\"tag\":\"Sum01B\",\"content\":[-2,-8,-6]}"(Json.Encode.encode 0 (jsonEncSum01(Json.Encode.list Json.Encode.int) (Sum01B (Just [-2,-8,-6]))))) - , test "7" (\_ -> equalHack "{\"tag\":\"Sum01C\",\"content\":[[-8,1,-10,-1,2],[9,4,5,-12,2,-5,8]]}"(Json.Encode.encode 0 (jsonEncSum01(Json.Encode.list Json.Encode.int) (Sum01C [-8,1,-10,-1,2] [9,4,5,-12,2,-5,8])))) - , test "8" (\_ -> equalHack "{\"tag\":\"Sum01A\",\"content\":[-14,1,-9,-2,0,-1,7,-14,-14,5,-10]}"(Json.Encode.encode 0 (jsonEncSum01(Json.Encode.list Json.Encode.int) (Sum01A [-14,1,-9,-2,0,-1,7,-14,-14,5,-10])))) - , test "9" (\_ -> equalHack "{\"tag\":\"Sum01A\",\"content\":[13,15,-14,3,0,2,-9,4,-1,-2,-5,-2,3,-15,5]}"(Json.Encode.encode 0 (jsonEncSum01(Json.Encode.list Json.Encode.int) (Sum01A [13,15,-14,3,0,2,-9,4,-1,-2,-5,-2,3,-15,5])))) - , test "10" (\_ -> equalHack "{\"tag\":\"Sum01E\",\"bar\":-17,\"baz\":13}"(Json.Encode.encode 0 (jsonEncSum01(Json.Encode.list Json.Encode.int) (Sum01E {bar = -17, baz = 13})))) - , test "11" (\_ -> equalHack "{\"tag\":\"Sum01C\",\"content\":[[19,5,5,3,-12,-9,14,18,-18,-2,-15,-11,-16,13,-20],[-13,-3,-13,-15,-2]]}"(Json.Encode.encode 0 (jsonEncSum01(Json.Encode.list Json.Encode.int) (Sum01C [19,5,5,3,-12,-9,14,18,-18,-2,-15,-11,-16,13,-20] [-13,-3,-13,-15,-2])))) + [ test "1" (\_ -> equalHack "{\"tag\":\"Sum01D\",\"foo\":[]}"(Json.Encode.encode 0 (jsonEncSum01(Json.Encode.list Json.Encode.int) (Sum01D {foo = []})))) + , test "2" (\_ -> equalHack "{\"tag\":\"Sum01B\",\"content\":[2]}"(Json.Encode.encode 0 (jsonEncSum01(Json.Encode.list Json.Encode.int) (Sum01B (Just [2]))))) + , test "3" (\_ -> equalHack "{\"tag\":\"Sum01B\",\"content\":[-3,1,-2,-4]}"(Json.Encode.encode 0 (jsonEncSum01(Json.Encode.list Json.Encode.int) (Sum01B (Just [-3,1,-2,-4]))))) + , test "4" (\_ -> equalHack "{\"tag\":\"Sum01B\",\"content\":[]}"(Json.Encode.encode 0 (jsonEncSum01(Json.Encode.list Json.Encode.int) (Sum01B (Just []))))) + , test "5" (\_ -> equalHack "{\"tag\":\"Sum01C\",\"content\":[[4,2,4,-8,7,-2,3,0],[8,-2,-3]]}"(Json.Encode.encode 0 (jsonEncSum01(Json.Encode.list Json.Encode.int) (Sum01C [4,2,4,-8,7,-2,3,0] [8,-2,-3])))) + , test "6" (\_ -> equalHack "{\"tag\":\"Sum01A\",\"content\":[-3,-3,1,2]}"(Json.Encode.encode 0 (jsonEncSum01(Json.Encode.list Json.Encode.int) (Sum01A [-3,-3,1,2])))) + , test "7" (\_ -> equalHack "{\"tag\":\"Sum01A\",\"content\":[4,-4,-10,8,12,10,9,0,-3,3,11,-8]}"(Json.Encode.encode 0 (jsonEncSum01(Json.Encode.list Json.Encode.int) (Sum01A [4,-4,-10,8,12,10,9,0,-3,3,11,-8])))) + , test "8" (\_ -> equalHack "{\"tag\":\"Sum01C\",\"content\":[[9,-8,-9,0,4,6,3],[3,-13,13,13,3,-14,-11,3,3]]}"(Json.Encode.encode 0 (jsonEncSum01(Json.Encode.list Json.Encode.int) (Sum01C [9,-8,-9,0,4,6,3] [3,-13,13,13,3,-14,-11,3,3])))) + , test "9" (\_ -> equalHack "{\"tag\":\"Sum01E\",\"bar\":10,\"baz\":6}"(Json.Encode.encode 0 (jsonEncSum01(Json.Encode.list Json.Encode.int) (Sum01E {bar = 10, baz = 6})))) + , test "10" (\_ -> equalHack "{\"tag\":\"Sum01A\",\"content\":[-3,-6,-9,13]}"(Json.Encode.encode 0 (jsonEncSum01(Json.Encode.list Json.Encode.int) (Sum01A [-3,-6,-9,13])))) + , test "11" (\_ -> equalHack "{\"tag\":\"Sum01A\",\"content\":[6,-11,6,16,-11,-10]}"(Json.Encode.encode 0 (jsonEncSum01(Json.Encode.list Json.Encode.int) (Sum01A [6,-11,6,16,-11,-10])))) ] sumEncode02 : Test sumEncode02 = describe "Sum encode 02" [ test "1" (\_ -> equalHack "{\"tag\":\"Sum02E\",\"bar\":0,\"baz\":0}"(Json.Encode.encode 0 (jsonEncSum02(Json.Encode.list Json.Encode.int) (Sum02E {bar = 0, baz = 0})))) - , test "2" (\_ -> equalHack "{\"tag\":\"Sum02D\",\"foo\":[-2,2]}"(Json.Encode.encode 0 (jsonEncSum02(Json.Encode.list Json.Encode.int) (Sum02D {foo = [-2,2]})))) - , test "3" (\_ -> equalHack "{\"tag\":\"Sum02A\",\"content\":[3,-2]}"(Json.Encode.encode 0 (jsonEncSum02(Json.Encode.list Json.Encode.int) (Sum02A [3,-2])))) - , test "4" (\_ -> equalHack "{\"tag\":\"Sum02A\",\"content\":[-3,3,4]}"(Json.Encode.encode 0 (jsonEncSum02(Json.Encode.list Json.Encode.int) (Sum02A [-3,3,4])))) - , test "5" (\_ -> equalHack "{\"tag\":\"Sum02A\",\"content\":[-2,-4,-1,-1,5,-7]}"(Json.Encode.encode 0 (jsonEncSum02(Json.Encode.list Json.Encode.int) (Sum02A [-2,-4,-1,-1,5,-7])))) - , test "6" (\_ -> equalHack "{\"tag\":\"Sum02E\",\"bar\":-1,\"baz\":10}"(Json.Encode.encode 0 (jsonEncSum02(Json.Encode.list Json.Encode.int) (Sum02E {bar = -1, baz = 10})))) - , test "7" (\_ -> equalHack "{\"tag\":\"Sum02E\",\"bar\":8,\"baz\":12}"(Json.Encode.encode 0 (jsonEncSum02(Json.Encode.list Json.Encode.int) (Sum02E {bar = 8, baz = 12})))) - , test "8" (\_ -> equalHack "{\"tag\":\"Sum02E\",\"bar\":-9,\"baz\":-13}"(Json.Encode.encode 0 (jsonEncSum02(Json.Encode.list Json.Encode.int) (Sum02E {bar = -9, baz = -13})))) - , test "9" (\_ -> equalHack "{\"tag\":\"Sum02C\",\"content\":[[-9],[]]}"(Json.Encode.encode 0 (jsonEncSum02(Json.Encode.list Json.Encode.int) (Sum02C [-9] [])))) - , test "10" (\_ -> equalHack "{\"tag\":\"Sum02A\",\"content\":[14,4,5,-2,-2]}"(Json.Encode.encode 0 (jsonEncSum02(Json.Encode.list Json.Encode.int) (Sum02A [14,4,5,-2,-2])))) - , test "11" (\_ -> equalHack "{\"tag\":\"Sum02D\",\"foo\":[19,17,14,14,1,-20,-4,9,2,3,2,4,16,-19,-15]}"(Json.Encode.encode 0 (jsonEncSum02(Json.Encode.list Json.Encode.int) (Sum02D {foo = [19,17,14,14,1,-20,-4,9,2,3,2,4,16,-19,-15]})))) + , test "2" (\_ -> equalHack "{\"tag\":\"Sum02D\",\"foo\":[1]}"(Json.Encode.encode 0 (jsonEncSum02(Json.Encode.list Json.Encode.int) (Sum02D {foo = [1]})))) + , test "3" (\_ -> equalHack "{\"tag\":\"Sum02C\",\"content\":[[2,0,1,4],[4,2]]}"(Json.Encode.encode 0 (jsonEncSum02(Json.Encode.list Json.Encode.int) (Sum02C [2,0,1,4] [4,2])))) + , test "4" (\_ -> equalHack "{\"tag\":\"Sum02D\",\"foo\":[6,-6,2,-4]}"(Json.Encode.encode 0 (jsonEncSum02(Json.Encode.list Json.Encode.int) (Sum02D {foo = [6,-6,2,-4]})))) + , test "5" (\_ -> equalHack "{\"tag\":\"Sum02E\",\"bar\":-8,\"baz\":4}"(Json.Encode.encode 0 (jsonEncSum02(Json.Encode.list Json.Encode.int) (Sum02E {bar = -8, baz = 4})))) + , test "6" (\_ -> equalHack "{\"tag\":\"Sum02E\",\"bar\":5,\"baz\":5}"(Json.Encode.encode 0 (jsonEncSum02(Json.Encode.list Json.Encode.int) (Sum02E {bar = 5, baz = 5})))) + , test "7" (\_ -> equalHack "{\"tag\":\"Sum02B\",\"content\":[-1,-4,7,10,1,10,12,-7,-6]}"(Json.Encode.encode 0 (jsonEncSum02(Json.Encode.list Json.Encode.int) (Sum02B (Just [-1,-4,7,10,1,10,12,-7,-6]))))) + , test "8" (\_ -> equalHack "{\"tag\":\"Sum02D\",\"foo\":[-8,-7,14,10,4,0,10,1]}"(Json.Encode.encode 0 (jsonEncSum02(Json.Encode.list Json.Encode.int) (Sum02D {foo = [-8,-7,14,10,4,0,10,1]})))) + , test "9" (\_ -> equalHack "{\"tag\":\"Sum02B\",\"content\":[-11]}"(Json.Encode.encode 0 (jsonEncSum02(Json.Encode.list Json.Encode.int) (Sum02B (Just [-11]))))) + , test "10" (\_ -> equalHack "{\"tag\":\"Sum02A\",\"content\":[-13,-1,-18,15,-13,13,2,-16,1,2,-16,10,-4,14,18,-2,-7]}"(Json.Encode.encode 0 (jsonEncSum02(Json.Encode.list Json.Encode.int) (Sum02A [-13,-1,-18,15,-13,13,2,-16,1,2,-16,10,-4,14,18,-2,-7])))) + , test "11" (\_ -> equalHack "{\"tag\":\"Sum02D\",\"foo\":[11,15,-13,10,-14,9,13,-13,20,-13,9,-19,7,14,14,-18]}"(Json.Encode.encode 0 (jsonEncSum02(Json.Encode.list Json.Encode.int) (Sum02D {foo = [11,15,-13,10,-14,9,13,-13,20,-13,9,-19,7,14,14,-18]})))) ] sumEncode03 : Test sumEncode03 = describe "Sum encode 03" - [ test "1" (\_ -> equalHack "{\"tag\":\"Sum03C\",\"content\":[[],[]]}"(Json.Encode.encode 0 (jsonEncSum03(Json.Encode.list Json.Encode.int) (Sum03C [] [])))) - , test "2" (\_ -> equalHack "{\"tag\":\"Sum03C\",\"content\":[[-1],[]]}"(Json.Encode.encode 0 (jsonEncSum03(Json.Encode.list Json.Encode.int) (Sum03C [-1] [])))) - , test "3" (\_ -> equalHack "{\"tag\":\"Sum03C\",\"content\":[[-2,3,1,-4],[1,-1,1]]}"(Json.Encode.encode 0 (jsonEncSum03(Json.Encode.list Json.Encode.int) (Sum03C [-2,3,1,-4] [1,-1,1])))) - , test "4" (\_ -> equalHack "{\"tag\":\"Sum03E\",\"bar\":3,\"baz\":-4}"(Json.Encode.encode 0 (jsonEncSum03(Json.Encode.list Json.Encode.int) (Sum03E {bar = 3, baz = -4})))) - , test "5" (\_ -> equalHack "{\"tag\":\"Sum03D\",\"foo\":[-3,-1,5,-4]}"(Json.Encode.encode 0 (jsonEncSum03(Json.Encode.list Json.Encode.int) (Sum03D {foo = [-3,-1,5,-4]})))) - , test "6" (\_ -> equalHack "{\"tag\":\"Sum03B\",\"content\":[10,-3]}"(Json.Encode.encode 0 (jsonEncSum03(Json.Encode.list Json.Encode.int) (Sum03B (Just [10,-3]))))) - , test "7" (\_ -> equalHack "{\"tag\":\"Sum03C\",\"content\":[[-4,-5,-8],[-5]]}"(Json.Encode.encode 0 (jsonEncSum03(Json.Encode.list Json.Encode.int) (Sum03C [-4,-5,-8] [-5])))) - , test "8" (\_ -> equalHack "{\"tag\":\"Sum03A\",\"content\":[5,5,1,2,0,5,-12,13,-2,-3,-4,11,4,12]}"(Json.Encode.encode 0 (jsonEncSum03(Json.Encode.list Json.Encode.int) (Sum03A [5,5,1,2,0,5,-12,13,-2,-3,-4,11,4,12])))) - , test "9" (\_ -> equalHack "{\"tag\":\"Sum03A\",\"content\":[]}"(Json.Encode.encode 0 (jsonEncSum03(Json.Encode.list Json.Encode.int) (Sum03A [])))) - , test "10" (\_ -> equalHack "{\"tag\":\"Sum03D\",\"foo\":[-16,-6,10,16,-9,-15,6,14,-12,9,1,-6,17,12,-12]}"(Json.Encode.encode 0 (jsonEncSum03(Json.Encode.list Json.Encode.int) (Sum03D {foo = [-16,-6,10,16,-9,-15,6,14,-12,9,1,-6,17,12,-12]})))) - , test "11" (\_ -> equalHack "{\"tag\":\"Sum03C\",\"content\":[[11,19,20,-8,12,19,-14,10,2,-14,1,4,-9],[14,-12,-12,2,-11,7,14,17,-1,8,7,2,-18,6,4,13,13,5]]}"(Json.Encode.encode 0 (jsonEncSum03(Json.Encode.list Json.Encode.int) (Sum03C [11,19,20,-8,12,19,-14,10,2,-14,1,4,-9] [14,-12,-12,2,-11,7,14,17,-1,8,7,2,-18,6,4,13,13,5])))) + [ test "1" (\_ -> equalHack "{\"tag\":\"Sum03A\",\"content\":[]}"(Json.Encode.encode 0 (jsonEncSum03(Json.Encode.list Json.Encode.int) (Sum03A [])))) + , test "2" (\_ -> equalHack "{\"tag\":\"Sum03C\",\"content\":[[-2],[-1,-1]]}"(Json.Encode.encode 0 (jsonEncSum03(Json.Encode.list Json.Encode.int) (Sum03C [-2] [-1,-1])))) + , test "3" (\_ -> equalHack "{\"tag\":\"Sum03A\",\"content\":[0,1]}"(Json.Encode.encode 0 (jsonEncSum03(Json.Encode.list Json.Encode.int) (Sum03A [0,1])))) + , test "4" (\_ -> equalHack "{\"tag\":\"Sum03C\",\"content\":[[6,2],[0,0,-6,4,3]]}"(Json.Encode.encode 0 (jsonEncSum03(Json.Encode.list Json.Encode.int) (Sum03C [6,2] [0,0,-6,4,3])))) + , test "5" (\_ -> equalHack "{\"tag\":\"Sum03B\",\"content\":[3,6]}"(Json.Encode.encode 0 (jsonEncSum03(Json.Encode.list Json.Encode.int) (Sum03B (Just [3,6]))))) + , test "6" (\_ -> equalHack "{\"tag\":\"Sum03A\",\"content\":[-2]}"(Json.Encode.encode 0 (jsonEncSum03(Json.Encode.list Json.Encode.int) (Sum03A [-2])))) + , test "7" (\_ -> equalHack "{\"tag\":\"Sum03E\",\"bar\":9,\"baz\":7}"(Json.Encode.encode 0 (jsonEncSum03(Json.Encode.list Json.Encode.int) (Sum03E {bar = 9, baz = 7})))) + , test "8" (\_ -> equalHack "{\"tag\":\"Sum03B\",\"content\":[-7,-13,-14,-14]}"(Json.Encode.encode 0 (jsonEncSum03(Json.Encode.list Json.Encode.int) (Sum03B (Just [-7,-13,-14,-14]))))) + , test "9" (\_ -> equalHack "{\"tag\":\"Sum03D\",\"foo\":[-13,11,4,16,-8,0,-3,11,-16,-15,-5,15,2,-4]}"(Json.Encode.encode 0 (jsonEncSum03(Json.Encode.list Json.Encode.int) (Sum03D {foo = [-13,11,4,16,-8,0,-3,11,-16,-15,-5,15,2,-4]})))) + , test "10" (\_ -> equalHack "{\"tag\":\"Sum03B\",\"content\":[-15,17,2,6,11,3,-15,8,3,10,-14,10,12,4]}"(Json.Encode.encode 0 (jsonEncSum03(Json.Encode.list Json.Encode.int) (Sum03B (Just [-15,17,2,6,11,3,-15,8,3,10,-14,10,12,4]))))) + , test "11" (\_ -> equalHack "{\"tag\":\"Sum03C\",\"content\":[[6,-6,-19,-13,-18,10,1,-14,5,13,-9],[-16,-10]]}"(Json.Encode.encode 0 (jsonEncSum03(Json.Encode.list Json.Encode.int) (Sum03C [6,-6,-19,-13,-18,10,1,-14,5,13,-9] [-16,-10])))) ] sumEncode04 : Test sumEncode04 = describe "Sum encode 04" - [ test "1" (\_ -> equalHack "{\"tag\":\"Sum04D\",\"foo\":[]}"(Json.Encode.encode 0 (jsonEncSum04(Json.Encode.list Json.Encode.int) (Sum04D {foo = []})))) - , test "2" (\_ -> equalHack "{\"tag\":\"Sum04C\",\"content\":[[-2,1],[]]}"(Json.Encode.encode 0 (jsonEncSum04(Json.Encode.list Json.Encode.int) (Sum04C [-2,1] [])))) - , test "3" (\_ -> equalHack "{\"tag\":\"Sum04B\",\"content\":[-3,-1,1]}"(Json.Encode.encode 0 (jsonEncSum04(Json.Encode.list Json.Encode.int) (Sum04B (Just [-3,-1,1]))))) - , test "4" (\_ -> equalHack "{\"tag\":\"Sum04E\",\"bar\":-5,\"baz\":4}"(Json.Encode.encode 0 (jsonEncSum04(Json.Encode.list Json.Encode.int) (Sum04E {bar = -5, baz = 4})))) - , test "5" (\_ -> equalHack "{\"tag\":\"Sum04C\",\"content\":[[0,-8,-5,-5,6],[-2,8,-3]]}"(Json.Encode.encode 0 (jsonEncSum04(Json.Encode.list Json.Encode.int) (Sum04C [0,-8,-5,-5,6] [-2,8,-3])))) - , test "6" (\_ -> equalHack "{\"tag\":\"Sum04A\",\"content\":[8,-4,2,8,-2,9,4,6,4,1]}"(Json.Encode.encode 0 (jsonEncSum04(Json.Encode.list Json.Encode.int) (Sum04A [8,-4,2,8,-2,9,4,6,4,1])))) - , test "7" (\_ -> equalHack "{\"tag\":\"Sum04C\",\"content\":[[0,4,11,-9,-4,9,2,9,7,7,8],[-4,-2,12,9,-3,7,-6,7,-12,8]]}"(Json.Encode.encode 0 (jsonEncSum04(Json.Encode.list Json.Encode.int) (Sum04C [0,4,11,-9,-4,9,2,9,7,7,8] [-4,-2,12,9,-3,7,-6,7,-12,8])))) - , test "8" (\_ -> equalHack "{\"tag\":\"Sum04C\",\"content\":[[],[6,-1,-9,-4,14,6,-6,9,8,1,7,13]]}"(Json.Encode.encode 0 (jsonEncSum04(Json.Encode.list Json.Encode.int) (Sum04C [] [6,-1,-9,-4,14,6,-6,9,8,1,7,13])))) - , test "9" (\_ -> equalHack "{\"tag\":\"Sum04D\",\"foo\":[2,6,2,6,13,-4,11]}"(Json.Encode.encode 0 (jsonEncSum04(Json.Encode.list Json.Encode.int) (Sum04D {foo = [2,6,2,6,13,-4,11]})))) - , test "10" (\_ -> equalHack "{\"tag\":\"Sum04E\",\"bar\":4,\"baz\":-10}"(Json.Encode.encode 0 (jsonEncSum04(Json.Encode.list Json.Encode.int) (Sum04E {bar = 4, baz = -10})))) - , test "11" (\_ -> equalHack "{\"tag\":\"Sum04D\",\"foo\":[-18,15,-10,-20,-18,7,-5,12,-11,19,17,3,14,8,-6,1,-5,-15]}"(Json.Encode.encode 0 (jsonEncSum04(Json.Encode.list Json.Encode.int) (Sum04D {foo = [-18,15,-10,-20,-18,7,-5,12,-11,19,17,3,14,8,-6,1,-5,-15]})))) + [ test "1" (\_ -> equalHack "{\"tag\":\"Sum04E\",\"bar\":0,\"baz\":0}"(Json.Encode.encode 0 (jsonEncSum04(Json.Encode.list Json.Encode.int) (Sum04E {bar = 0, baz = 0})))) + , test "2" (\_ -> equalHack "{\"tag\":\"Sum04E\",\"bar\":2,\"baz\":0}"(Json.Encode.encode 0 (jsonEncSum04(Json.Encode.list Json.Encode.int) (Sum04E {bar = 2, baz = 0})))) + , test "3" (\_ -> equalHack "{\"tag\":\"Sum04C\",\"content\":[[],[0]]}"(Json.Encode.encode 0 (jsonEncSum04(Json.Encode.list Json.Encode.int) (Sum04C [] [0])))) + , test "4" (\_ -> equalHack "{\"tag\":\"Sum04B\",\"content\":[1,-1,-3,3]}"(Json.Encode.encode 0 (jsonEncSum04(Json.Encode.list Json.Encode.int) (Sum04B (Just [1,-1,-3,3]))))) + , test "5" (\_ -> equalHack "{\"tag\":\"Sum04B\",\"content\":[-7]}"(Json.Encode.encode 0 (jsonEncSum04(Json.Encode.list Json.Encode.int) (Sum04B (Just [-7]))))) + , test "6" (\_ -> equalHack "{\"tag\":\"Sum04B\",\"content\":[]}"(Json.Encode.encode 0 (jsonEncSum04(Json.Encode.list Json.Encode.int) (Sum04B (Just []))))) + , test "7" (\_ -> equalHack "{\"tag\":\"Sum04A\",\"content\":[8,-10,-10,1,2,3,-3,-1,5,7,-5]}"(Json.Encode.encode 0 (jsonEncSum04(Json.Encode.list Json.Encode.int) (Sum04A [8,-10,-10,1,2,3,-3,-1,5,7,-5])))) + , test "8" (\_ -> equalHack "{\"tag\":\"Sum04E\",\"bar\":-10,\"baz\":6}"(Json.Encode.encode 0 (jsonEncSum04(Json.Encode.list Json.Encode.int) (Sum04E {bar = -10, baz = 6})))) + , test "9" (\_ -> equalHack "{\"tag\":\"Sum04E\",\"bar\":15,\"baz\":6}"(Json.Encode.encode 0 (jsonEncSum04(Json.Encode.list Json.Encode.int) (Sum04E {bar = 15, baz = 6})))) + , test "10" (\_ -> equalHack "{\"tag\":\"Sum04E\",\"bar\":6,\"baz\":-6}"(Json.Encode.encode 0 (jsonEncSum04(Json.Encode.list Json.Encode.int) (Sum04E {bar = 6, baz = -6})))) + , test "11" (\_ -> equalHack "{\"tag\":\"Sum04E\",\"bar\":-17,\"baz\":6}"(Json.Encode.encode 0 (jsonEncSum04(Json.Encode.list Json.Encode.int) (Sum04E {bar = -17, baz = 6})))) ] sumEncode05 : Test sumEncode05 = describe "Sum encode 05" - [ test "1" (\_ -> equalHack "{\"Sum05B\":[]}"(Json.Encode.encode 0 (jsonEncSum05(Json.Encode.list Json.Encode.int) (Sum05B (Just []))))) - , test "2" (\_ -> equalHack "{\"Sum05C\":[[0],[-2,0]]}"(Json.Encode.encode 0 (jsonEncSum05(Json.Encode.list Json.Encode.int) (Sum05C [0] [-2,0])))) - , test "3" (\_ -> equalHack "{\"Sum05A\":[3,-2,4,0]}"(Json.Encode.encode 0 (jsonEncSum05(Json.Encode.list Json.Encode.int) (Sum05A [3,-2,4,0])))) - , test "4" (\_ -> equalHack "{\"Sum05B\":[4,-5,3,6,2]}"(Json.Encode.encode 0 (jsonEncSum05(Json.Encode.list Json.Encode.int) (Sum05B (Just [4,-5,3,6,2]))))) - , test "5" (\_ -> equalHack "{\"Sum05D\":{\"foo\":[5,8,-5,-8,8,3,4]}}"(Json.Encode.encode 0 (jsonEncSum05(Json.Encode.list Json.Encode.int) (Sum05D {foo = [5,8,-5,-8,8,3,4]})))) - , test "6" (\_ -> equalHack "{\"Sum05C\":[[-2,3],[-8,8]]}"(Json.Encode.encode 0 (jsonEncSum05(Json.Encode.list Json.Encode.int) (Sum05C [-2,3] [-8,8])))) - , test "7" (\_ -> equalHack "{\"Sum05A\":[-10,-7]}"(Json.Encode.encode 0 (jsonEncSum05(Json.Encode.list Json.Encode.int) (Sum05A [-10,-7])))) - , test "8" (\_ -> equalHack "{\"Sum05A\":[-8,8,7,-10]}"(Json.Encode.encode 0 (jsonEncSum05(Json.Encode.list Json.Encode.int) (Sum05A [-8,8,7,-10])))) - , test "9" (\_ -> equalHack "{\"Sum05D\":{\"foo\":[2,-1,1,-6,-8,-1,1,-2,16,4,7,-1,-13]}}"(Json.Encode.encode 0 (jsonEncSum05(Json.Encode.list Json.Encode.int) (Sum05D {foo = [2,-1,1,-6,-8,-1,1,-2,16,4,7,-1,-13]})))) - , test "10" (\_ -> equalHack "{\"Sum05C\":[[-4,3,-2,3,1,17,16,4,-2,-5,-10],[11,18,-8,7,3]]}"(Json.Encode.encode 0 (jsonEncSum05(Json.Encode.list Json.Encode.int) (Sum05C [-4,3,-2,3,1,17,16,4,-2,-5,-10] [11,18,-8,7,3])))) - , test "11" (\_ -> equalHack "{\"Sum05E\":{\"bar\":18,\"baz\":8}}"(Json.Encode.encode 0 (jsonEncSum05(Json.Encode.list Json.Encode.int) (Sum05E {bar = 18, baz = 8})))) + [ test "1" (\_ -> equalHack "{\"Sum05C\":[[],[]]}"(Json.Encode.encode 0 (jsonEncSum05(Json.Encode.list Json.Encode.int) (Sum05C [] [])))) + , test "2" (\_ -> equalHack "{\"Sum05C\":[[-1,2],[]]}"(Json.Encode.encode 0 (jsonEncSum05(Json.Encode.list Json.Encode.int) (Sum05C [-1,2] [])))) + , test "3" (\_ -> equalHack "{\"Sum05C\":[[-2,1],[-1,-3,0]]}"(Json.Encode.encode 0 (jsonEncSum05(Json.Encode.list Json.Encode.int) (Sum05C [-2,1] [-1,-3,0])))) + , test "4" (\_ -> equalHack "{\"Sum05B\":[-3,1,3]}"(Json.Encode.encode 0 (jsonEncSum05(Json.Encode.list Json.Encode.int) (Sum05B (Just [-3,1,3]))))) + , test "5" (\_ -> equalHack "{\"Sum05E\":{\"bar\":6,\"baz\":-8}}"(Json.Encode.encode 0 (jsonEncSum05(Json.Encode.list Json.Encode.int) (Sum05E {bar = 6, baz = -8})))) + , test "6" (\_ -> equalHack "{\"Sum05B\":[-9]}"(Json.Encode.encode 0 (jsonEncSum05(Json.Encode.list Json.Encode.int) (Sum05B (Just [-9]))))) + , test "7" (\_ -> equalHack "{\"Sum05C\":[[9,6,-6,10,-3,5],[-6,-8,4,10,-12,-5,-4,-1,5,-6,-12,11]]}"(Json.Encode.encode 0 (jsonEncSum05(Json.Encode.list Json.Encode.int) (Sum05C [9,6,-6,10,-3,5] [-6,-8,4,10,-12,-5,-4,-1,5,-6,-12,11])))) + , test "8" (\_ -> equalHack "{\"Sum05B\":[1,-4,-1,11,-4]}"(Json.Encode.encode 0 (jsonEncSum05(Json.Encode.list Json.Encode.int) (Sum05B (Just [1,-4,-1,11,-4]))))) + , test "9" (\_ -> equalHack "{\"Sum05A\":[-1,-6,0,12,-2,6]}"(Json.Encode.encode 0 (jsonEncSum05(Json.Encode.list Json.Encode.int) (Sum05A [-1,-6,0,12,-2,6])))) + , test "10" (\_ -> equalHack "{\"Sum05B\":[12,-13,-8,15,6,-17,-5,3,-11,-14]}"(Json.Encode.encode 0 (jsonEncSum05(Json.Encode.list Json.Encode.int) (Sum05B (Just [12,-13,-8,15,6,-17,-5,3,-11,-14]))))) + , test "11" (\_ -> equalHack "{\"Sum05A\":[-5,-8,-12,-6,1,20,6,18,-12,-14,-7,-7,5,14,-12,-14,-9]}"(Json.Encode.encode 0 (jsonEncSum05(Json.Encode.list Json.Encode.int) (Sum05A [-5,-8,-12,-6,1,20,6,18,-12,-14,-7,-7,5,14,-12,-14,-9])))) ] sumEncode06 : Test sumEncode06 = describe "Sum encode 06" - [ test "1" (\_ -> equalHack "{\"Sum06D\":{\"foo\":[]}}"(Json.Encode.encode 0 (jsonEncSum06(Json.Encode.list Json.Encode.int) (Sum06D {foo = []})))) - , test "2" (\_ -> equalHack "{\"Sum06E\":{\"bar\":1,\"baz\":2}}"(Json.Encode.encode 0 (jsonEncSum06(Json.Encode.list Json.Encode.int) (Sum06E {bar = 1, baz = 2})))) - , test "3" (\_ -> equalHack "{\"Sum06B\":[-1]}"(Json.Encode.encode 0 (jsonEncSum06(Json.Encode.list Json.Encode.int) (Sum06B (Just [-1]))))) - , test "4" (\_ -> equalHack "{\"Sum06B\":[5,5,3]}"(Json.Encode.encode 0 (jsonEncSum06(Json.Encode.list Json.Encode.int) (Sum06B (Just [5,5,3]))))) - , test "5" (\_ -> equalHack "{\"Sum06D\":{\"foo\":[5,-4]}}"(Json.Encode.encode 0 (jsonEncSum06(Json.Encode.list Json.Encode.int) (Sum06D {foo = [5,-4]})))) - , test "6" (\_ -> equalHack "{\"Sum06B\":[3,3]}"(Json.Encode.encode 0 (jsonEncSum06(Json.Encode.list Json.Encode.int) (Sum06B (Just [3,3]))))) - , test "7" (\_ -> equalHack "{\"Sum06A\":[-12,-3,0,-7,-4,0,-9,0]}"(Json.Encode.encode 0 (jsonEncSum06(Json.Encode.list Json.Encode.int) (Sum06A [-12,-3,0,-7,-4,0,-9,0])))) - , test "8" (\_ -> equalHack "{\"Sum06D\":{\"foo\":[0,0,-6,7,-14,-12,-10,1,3,-14,-6,-10]}}"(Json.Encode.encode 0 (jsonEncSum06(Json.Encode.list Json.Encode.int) (Sum06D {foo = [0,0,-6,7,-14,-12,-10,1,3,-14,-6,-10]})))) - , test "9" (\_ -> equalHack "{\"Sum06B\":[14,6,5,-14,5,-4,16,3,-11,1,-5,-7,12,4,-1,-6]}"(Json.Encode.encode 0 (jsonEncSum06(Json.Encode.list Json.Encode.int) (Sum06B (Just [14,6,5,-14,5,-4,16,3,-11,1,-5,-7,12,4,-1,-6]))))) - , test "10" (\_ -> equalHack "{\"Sum06C\":[[16,7,17,18,-15,15,-15,-4,1,-10,-8,11,-7,-8],[11,9,-13,-3,-17,12]]}"(Json.Encode.encode 0 (jsonEncSum06(Json.Encode.list Json.Encode.int) (Sum06C [16,7,17,18,-15,15,-15,-4,1,-10,-8,11,-7,-8] [11,9,-13,-3,-17,12])))) - , test "11" (\_ -> equalHack "{\"Sum06C\":[[-14,20,-11,18,5,1,-12,-8,-15,-9,-5],[0,7]]}"(Json.Encode.encode 0 (jsonEncSum06(Json.Encode.list Json.Encode.int) (Sum06C [-14,20,-11,18,5,1,-12,-8,-15,-9,-5] [0,7])))) + [ test "1" (\_ -> equalHack "{\"Sum06A\":[]}"(Json.Encode.encode 0 (jsonEncSum06(Json.Encode.list Json.Encode.int) (Sum06A [])))) + , test "2" (\_ -> equalHack "{\"Sum06D\":{\"foo\":[-1,0]}}"(Json.Encode.encode 0 (jsonEncSum06(Json.Encode.list Json.Encode.int) (Sum06D {foo = [-1,0]})))) + , test "3" (\_ -> equalHack "{\"Sum06C\":[[2,-4,3,0],[]]}"(Json.Encode.encode 0 (jsonEncSum06(Json.Encode.list Json.Encode.int) (Sum06C [2,-4,3,0] [])))) + , test "4" (\_ -> equalHack "{\"Sum06A\":[4,2,-5,2]}"(Json.Encode.encode 0 (jsonEncSum06(Json.Encode.list Json.Encode.int) (Sum06A [4,2,-5,2])))) + , test "5" (\_ -> equalHack "{\"Sum06E\":{\"bar\":-8,\"baz\":-2}}"(Json.Encode.encode 0 (jsonEncSum06(Json.Encode.list Json.Encode.int) (Sum06E {bar = -8, baz = -2})))) + , test "6" (\_ -> equalHack "{\"Sum06A\":[5,2,5]}"(Json.Encode.encode 0 (jsonEncSum06(Json.Encode.list Json.Encode.int) (Sum06A [5,2,5])))) + , test "7" (\_ -> equalHack "{\"Sum06C\":[[-9,-10,7,-9],[3,-9,-7,-7,-6,2,-3,10]]}"(Json.Encode.encode 0 (jsonEncSum06(Json.Encode.list Json.Encode.int) (Sum06C [-9,-10,7,-9] [3,-9,-7,-7,-6,2,-3,10])))) + , test "8" (\_ -> equalHack "{\"Sum06E\":{\"bar\":-8,\"baz\":-4}}"(Json.Encode.encode 0 (jsonEncSum06(Json.Encode.list Json.Encode.int) (Sum06E {bar = -8, baz = -4})))) + , test "9" (\_ -> equalHack "{\"Sum06B\":[-14,1,14,3,-8,13,-5,12,6,-6,9,11]}"(Json.Encode.encode 0 (jsonEncSum06(Json.Encode.list Json.Encode.int) (Sum06B (Just [-14,1,14,3,-8,13,-5,12,6,-6,9,11]))))) + , test "10" (\_ -> equalHack "{\"Sum06E\":{\"bar\":-8,\"baz\":11}}"(Json.Encode.encode 0 (jsonEncSum06(Json.Encode.list Json.Encode.int) (Sum06E {bar = -8, baz = 11})))) + , test "11" (\_ -> equalHack "{\"Sum06C\":[[16,-4,-14,-18,10,3,8,-12,-19,-7,8,5,-18,20],[-11,-17,4,2]]}"(Json.Encode.encode 0 (jsonEncSum06(Json.Encode.list Json.Encode.int) (Sum06C [16,-4,-14,-18,10,3,8,-12,-19,-7,8,5,-18,20] [-11,-17,4,2])))) ] sumEncode07 : Test sumEncode07 = describe "Sum encode 07" - [ test "1" (\_ -> equalHack "{\"Sum07A\":[]}"(Json.Encode.encode 0 (jsonEncSum07(Json.Encode.list Json.Encode.int) (Sum07A [])))) - , test "2" (\_ -> equalHack "{\"Sum07E\":{\"bar\":-2,\"baz\":2}}"(Json.Encode.encode 0 (jsonEncSum07(Json.Encode.list Json.Encode.int) (Sum07E {bar = -2, baz = 2})))) - , test "3" (\_ -> equalHack "{\"Sum07D\":{\"foo\":[-4,-2]}}"(Json.Encode.encode 0 (jsonEncSum07(Json.Encode.list Json.Encode.int) (Sum07D {foo = [-4,-2]})))) - , test "4" (\_ -> equalHack "{\"Sum07C\":[[],[1]]}"(Json.Encode.encode 0 (jsonEncSum07(Json.Encode.list Json.Encode.int) (Sum07C [] [1])))) - , test "5" (\_ -> equalHack "{\"Sum07D\":{\"foo\":[-6,7]}}"(Json.Encode.encode 0 (jsonEncSum07(Json.Encode.list Json.Encode.int) (Sum07D {foo = [-6,7]})))) - , test "6" (\_ -> equalHack "{\"Sum07A\":[9,8,-6,-3,-8]}"(Json.Encode.encode 0 (jsonEncSum07(Json.Encode.list Json.Encode.int) (Sum07A [9,8,-6,-3,-8])))) - , test "7" (\_ -> equalHack "{\"Sum07C\":[[-12,-4,-12,0,10,0,7],[-7,-3,7,-8,6,-9,1,4]]}"(Json.Encode.encode 0 (jsonEncSum07(Json.Encode.list Json.Encode.int) (Sum07C [-12,-4,-12,0,10,0,7] [-7,-3,7,-8,6,-9,1,4])))) - , test "8" (\_ -> equalHack "{\"Sum07C\":[[8,9,-7,2,12,12,-9,0,7,-6,4],[-11,11,-9,-11,-2,-10,-9,-14,-3]]}"(Json.Encode.encode 0 (jsonEncSum07(Json.Encode.list Json.Encode.int) (Sum07C [8,9,-7,2,12,12,-9,0,7,-6,4] [-11,11,-9,-11,-2,-10,-9,-14,-3])))) - , test "9" (\_ -> equalHack "{\"Sum07A\":[-12,12,-1,-16]}"(Json.Encode.encode 0 (jsonEncSum07(Json.Encode.list Json.Encode.int) (Sum07A [-12,12,-1,-16])))) - , test "10" (\_ -> equalHack "{\"Sum07D\":{\"foo\":[15,2,6,14,1,-17,-7,6,8]}}"(Json.Encode.encode 0 (jsonEncSum07(Json.Encode.list Json.Encode.int) (Sum07D {foo = [15,2,6,14,1,-17,-7,6,8]})))) - , test "11" (\_ -> equalHack "{\"Sum07B\":[-10,14,-19,-8,-2,17]}"(Json.Encode.encode 0 (jsonEncSum07(Json.Encode.list Json.Encode.int) (Sum07B (Just [-10,14,-19,-8,-2,17]))))) + [ test "1" (\_ -> equalHack "{\"Sum07D\":{\"foo\":[]}}"(Json.Encode.encode 0 (jsonEncSum07(Json.Encode.list Json.Encode.int) (Sum07D {foo = []})))) + , test "2" (\_ -> equalHack "{\"Sum07A\":[]}"(Json.Encode.encode 0 (jsonEncSum07(Json.Encode.list Json.Encode.int) (Sum07A [])))) + , test "3" (\_ -> equalHack "{\"Sum07D\":{\"foo\":[-1,4]}}"(Json.Encode.encode 0 (jsonEncSum07(Json.Encode.list Json.Encode.int) (Sum07D {foo = [-1,4]})))) + , test "4" (\_ -> equalHack "{\"Sum07D\":{\"foo\":[-2]}}"(Json.Encode.encode 0 (jsonEncSum07(Json.Encode.list Json.Encode.int) (Sum07D {foo = [-2]})))) + , test "5" (\_ -> equalHack "{\"Sum07D\":{\"foo\":[5]}}"(Json.Encode.encode 0 (jsonEncSum07(Json.Encode.list Json.Encode.int) (Sum07D {foo = [5]})))) + , test "6" (\_ -> equalHack "{\"Sum07A\":[1,-1,2,-5,-2,4,1,-6,-7]}"(Json.Encode.encode 0 (jsonEncSum07(Json.Encode.list Json.Encode.int) (Sum07A [1,-1,2,-5,-2,4,1,-6,-7])))) + , test "7" (\_ -> equalHack "{\"Sum07C\":[[7,5,-7,1,-8,-11,-4,-4,-5,9],[3,-3,-3]]}"(Json.Encode.encode 0 (jsonEncSum07(Json.Encode.list Json.Encode.int) (Sum07C [7,5,-7,1,-8,-11,-4,-4,-5,9] [3,-3,-3])))) + , test "8" (\_ -> equalHack "{\"Sum07A\":[-14,0,-10,-8,0,12,-5,14,-14]}"(Json.Encode.encode 0 (jsonEncSum07(Json.Encode.list Json.Encode.int) (Sum07A [-14,0,-10,-8,0,12,-5,14,-14])))) + , test "9" (\_ -> equalHack "{\"Sum07C\":[[-1,13,-13,-11],[3,5,-16,13,14,-9,-3,-13,-10,-4,-8,-12,-14,-9]]}"(Json.Encode.encode 0 (jsonEncSum07(Json.Encode.list Json.Encode.int) (Sum07C [-1,13,-13,-11] [3,5,-16,13,14,-9,-3,-13,-10,-4,-8,-12,-14,-9])))) + , test "10" (\_ -> equalHack "{\"Sum07C\":[[-9,18,-8,-1,3,-8,-2,-17,-12,1,-2,-9,-9,-17,-3],[1,-4,2,-4,0,8,6,4]]}"(Json.Encode.encode 0 (jsonEncSum07(Json.Encode.list Json.Encode.int) (Sum07C [-9,18,-8,-1,3,-8,-2,-17,-12,1,-2,-9,-9,-17,-3] [1,-4,2,-4,0,8,6,4])))) + , test "11" (\_ -> equalHack "{\"Sum07A\":[-18,10,1,-8,9,-14,6,6,2,19,8,-19,17,-17,4,7,19,14]}"(Json.Encode.encode 0 (jsonEncSum07(Json.Encode.list Json.Encode.int) (Sum07A [-18,10,1,-8,9,-14,6,6,2,19,8,-19,17,-17,4,7,19,14])))) ] sumEncode08 : Test sumEncode08 = describe "Sum encode 08" [ test "1" (\_ -> equalHack "{\"Sum08E\":{\"bar\":0,\"baz\":0}}"(Json.Encode.encode 0 (jsonEncSum08(Json.Encode.list Json.Encode.int) (Sum08E {bar = 0, baz = 0})))) - , test "2" (\_ -> equalHack "{\"Sum08E\":{\"bar\":-2,\"baz\":0}}"(Json.Encode.encode 0 (jsonEncSum08(Json.Encode.list Json.Encode.int) (Sum08E {bar = -2, baz = 0})))) - , test "3" (\_ -> equalHack "{\"Sum08D\":{\"foo\":[-3,-4]}}"(Json.Encode.encode 0 (jsonEncSum08(Json.Encode.list Json.Encode.int) (Sum08D {foo = [-3,-4]})))) - , test "4" (\_ -> equalHack "{\"Sum08D\":{\"foo\":[5,-3]}}"(Json.Encode.encode 0 (jsonEncSum08(Json.Encode.list Json.Encode.int) (Sum08D {foo = [5,-3]})))) - , test "5" (\_ -> equalHack "{\"Sum08E\":{\"bar\":3,\"baz\":-1}}"(Json.Encode.encode 0 (jsonEncSum08(Json.Encode.list Json.Encode.int) (Sum08E {bar = 3, baz = -1})))) - , test "6" (\_ -> equalHack "{\"Sum08A\":[6,-9,5,6,3,-2]}"(Json.Encode.encode 0 (jsonEncSum08(Json.Encode.list Json.Encode.int) (Sum08A [6,-9,5,6,3,-2])))) - , test "7" (\_ -> equalHack "{\"Sum08C\":[[-5,9,12],[8,6,-3]]}"(Json.Encode.encode 0 (jsonEncSum08(Json.Encode.list Json.Encode.int) (Sum08C [-5,9,12] [8,6,-3])))) - , test "8" (\_ -> equalHack "{\"Sum08C\":[[],[2,1,-12,3,7,2]]}"(Json.Encode.encode 0 (jsonEncSum08(Json.Encode.list Json.Encode.int) (Sum08C [] [2,1,-12,3,7,2])))) - , test "9" (\_ -> equalHack "{\"Sum08A\":[-5,-2,-14,14,2,-9,-15,-10,5]}"(Json.Encode.encode 0 (jsonEncSum08(Json.Encode.list Json.Encode.int) (Sum08A [-5,-2,-14,14,2,-9,-15,-10,5])))) - , test "10" (\_ -> equalHack "{\"Sum08C\":[[14,-5,14,18,4,14,-6,-1,-11,-10],[-17,0,12,10,-5,-18,17]]}"(Json.Encode.encode 0 (jsonEncSum08(Json.Encode.list Json.Encode.int) (Sum08C [14,-5,14,18,4,14,-6,-1,-11,-10] [-17,0,12,10,-5,-18,17])))) - , test "11" (\_ -> equalHack "{\"Sum08C\":[[-14,-9,-18,2],[18,-12,0]]}"(Json.Encode.encode 0 (jsonEncSum08(Json.Encode.list Json.Encode.int) (Sum08C [-14,-9,-18,2] [18,-12,0])))) + , test "2" (\_ -> equalHack "{\"Sum08D\":{\"foo\":[0,-1]}}"(Json.Encode.encode 0 (jsonEncSum08(Json.Encode.list Json.Encode.int) (Sum08D {foo = [0,-1]})))) + , test "3" (\_ -> equalHack "{\"Sum08E\":{\"bar\":-2,\"baz\":2}}"(Json.Encode.encode 0 (jsonEncSum08(Json.Encode.list Json.Encode.int) (Sum08E {bar = -2, baz = 2})))) + , test "4" (\_ -> equalHack "{\"Sum08D\":{\"foo\":[-4,-6,4,-1,1]}}"(Json.Encode.encode 0 (jsonEncSum08(Json.Encode.list Json.Encode.int) (Sum08D {foo = [-4,-6,4,-1,1]})))) + , test "5" (\_ -> equalHack "{\"Sum08A\":[-2,2,-2,-7,5]}"(Json.Encode.encode 0 (jsonEncSum08(Json.Encode.list Json.Encode.int) (Sum08A [-2,2,-2,-7,5])))) + , test "6" (\_ -> equalHack "{\"Sum08A\":[1]}"(Json.Encode.encode 0 (jsonEncSum08(Json.Encode.list Json.Encode.int) (Sum08A [1])))) + , test "7" (\_ -> equalHack "{\"Sum08E\":{\"bar\":4,\"baz\":-4}}"(Json.Encode.encode 0 (jsonEncSum08(Json.Encode.list Json.Encode.int) (Sum08E {bar = 4, baz = -4})))) + , test "8" (\_ -> equalHack "{\"Sum08E\":{\"bar\":-14,\"baz\":8}}"(Json.Encode.encode 0 (jsonEncSum08(Json.Encode.list Json.Encode.int) (Sum08E {bar = -14, baz = 8})))) + , test "9" (\_ -> equalHack "{\"Sum08B\":[-5,-9,-11,9,1,11,6,-1]}"(Json.Encode.encode 0 (jsonEncSum08(Json.Encode.list Json.Encode.int) (Sum08B (Just [-5,-9,-11,9,1,11,6,-1]))))) + , test "10" (\_ -> equalHack "{\"Sum08C\":[[-4,-11,11,-18,-12,-5,13,1,-12,-18,2,14,10,-13,6,5,-17],[6,7,-16,7,-15,-9,-18,16,-9,-5,-15,7,17,-6]]}"(Json.Encode.encode 0 (jsonEncSum08(Json.Encode.list Json.Encode.int) (Sum08C [-4,-11,11,-18,-12,-5,13,1,-12,-18,2,14,10,-13,6,5,-17] [6,7,-16,7,-15,-9,-18,16,-9,-5,-15,7,17,-6])))) + , test "11" (\_ -> equalHack "{\"Sum08E\":{\"bar\":-18,\"baz\":-4}}"(Json.Encode.encode 0 (jsonEncSum08(Json.Encode.list Json.Encode.int) (Sum08E {bar = -18, baz = -4})))) ] sumEncode09 : Test sumEncode09 = describe "Sum encode 09" - [ test "1" (\_ -> equalHack "[\"Sum09E\",{\"bar\":0,\"baz\":0}]"(Json.Encode.encode 0 (jsonEncSum09(Json.Encode.list Json.Encode.int) (Sum09E {bar = 0, baz = 0})))) - , test "2" (\_ -> equalHack "[\"Sum09C\",[[2],[]]]"(Json.Encode.encode 0 (jsonEncSum09(Json.Encode.list Json.Encode.int) (Sum09C [2] [])))) - , test "3" (\_ -> equalHack "[\"Sum09E\",{\"bar\":-3,\"baz\":-2}]"(Json.Encode.encode 0 (jsonEncSum09(Json.Encode.list Json.Encode.int) (Sum09E {bar = -3, baz = -2})))) - , test "4" (\_ -> equalHack "[\"Sum09C\",[[-2,1,-2,-3,2],[1,-2,0,-2]]]"(Json.Encode.encode 0 (jsonEncSum09(Json.Encode.list Json.Encode.int) (Sum09C [-2,1,-2,-3,2] [1,-2,0,-2])))) - , test "5" (\_ -> equalHack "[\"Sum09A\",[3,-7,-2,0,3]]"(Json.Encode.encode 0 (jsonEncSum09(Json.Encode.list Json.Encode.int) (Sum09A [3,-7,-2,0,3])))) - , test "6" (\_ -> equalHack "[\"Sum09D\",{\"foo\":[-2,5,-9,7,0,10,7,10,-1]}]"(Json.Encode.encode 0 (jsonEncSum09(Json.Encode.list Json.Encode.int) (Sum09D {foo = [-2,5,-9,7,0,10,7,10,-1]})))) - , test "7" (\_ -> equalHack "[\"Sum09C\",[[-10,-7,-7,-11,-9,8,-6],[12]]]"(Json.Encode.encode 0 (jsonEncSum09(Json.Encode.list Json.Encode.int) (Sum09C [-10,-7,-7,-11,-9,8,-6] [12])))) - , test "8" (\_ -> equalHack "[\"Sum09B\",[8,10,-5,7,-3,-2,-8,-1,-11,14]]"(Json.Encode.encode 0 (jsonEncSum09(Json.Encode.list Json.Encode.int) (Sum09B (Just [8,10,-5,7,-3,-2,-8,-1,-11,14]))))) - , test "9" (\_ -> equalHack "[\"Sum09E\",{\"bar\":-12,\"baz\":3}]"(Json.Encode.encode 0 (jsonEncSum09(Json.Encode.list Json.Encode.int) (Sum09E {bar = -12, baz = 3})))) - , test "10" (\_ -> equalHack "[\"Sum09B\",[14,5,-18,-7,-18,-16,2,8,4,7,-8,5,10,10]]"(Json.Encode.encode 0 (jsonEncSum09(Json.Encode.list Json.Encode.int) (Sum09B (Just [14,5,-18,-7,-18,-16,2,8,4,7,-8,5,10,10]))))) - , test "11" (\_ -> equalHack "[\"Sum09E\",{\"bar\":-15,\"baz\":18}]"(Json.Encode.encode 0 (jsonEncSum09(Json.Encode.list Json.Encode.int) (Sum09E {bar = -15, baz = 18})))) + [ test "1" (\_ -> equalHack "[\"Sum09D\",{\"foo\":[]}]"(Json.Encode.encode 0 (jsonEncSum09(Json.Encode.list Json.Encode.int) (Sum09D {foo = []})))) + , test "2" (\_ -> equalHack "[\"Sum09B\",[]]"(Json.Encode.encode 0 (jsonEncSum09(Json.Encode.list Json.Encode.int) (Sum09B (Just []))))) + , test "3" (\_ -> equalHack "[\"Sum09B\",[4]]"(Json.Encode.encode 0 (jsonEncSum09(Json.Encode.list Json.Encode.int) (Sum09B (Just [4]))))) + , test "4" (\_ -> equalHack "[\"Sum09C\",[[-6,2,1,-6],[-4,-1]]]"(Json.Encode.encode 0 (jsonEncSum09(Json.Encode.list Json.Encode.int) (Sum09C [-6,2,1,-6] [-4,-1])))) + , test "5" (\_ -> equalHack "[\"Sum09D\",{\"foo\":[-6,-7,-7,2,-3,-6]}]"(Json.Encode.encode 0 (jsonEncSum09(Json.Encode.list Json.Encode.int) (Sum09D {foo = [-6,-7,-7,2,-3,-6]})))) + , test "6" (\_ -> equalHack "[\"Sum09C\",[[10,-7,0,-7,-3,-1,7,3,4,-8],[]]]"(Json.Encode.encode 0 (jsonEncSum09(Json.Encode.list Json.Encode.int) (Sum09C [10,-7,0,-7,-3,-1,7,3,4,-8] [])))) + , test "7" (\_ -> equalHack "[\"Sum09E\",{\"bar\":11,\"baz\":-11}]"(Json.Encode.encode 0 (jsonEncSum09(Json.Encode.list Json.Encode.int) (Sum09E {bar = 11, baz = -11})))) + , test "8" (\_ -> equalHack "[\"Sum09B\",[3,1,-2,13,-11,8,1,-11]]"(Json.Encode.encode 0 (jsonEncSum09(Json.Encode.list Json.Encode.int) (Sum09B (Just [3,1,-2,13,-11,8,1,-11]))))) + , test "9" (\_ -> equalHack "[\"Sum09C\",[[7,-15,13,9,13,-4,-6,-2,12,-16,15,16,-10,-3,1,-6],[15,-11,-2,1,-14,2,-4,-15,16,-5,1,-1,6,-2]]]"(Json.Encode.encode 0 (jsonEncSum09(Json.Encode.list Json.Encode.int) (Sum09C [7,-15,13,9,13,-4,-6,-2,12,-16,15,16,-10,-3,1,-6] [15,-11,-2,1,-14,2,-4,-15,16,-5,1,-1,6,-2])))) + , test "10" (\_ -> equalHack "[\"Sum09E\",{\"bar\":0,\"baz\":-6}]"(Json.Encode.encode 0 (jsonEncSum09(Json.Encode.list Json.Encode.int) (Sum09E {bar = 0, baz = -6})))) + , test "11" (\_ -> equalHack "[\"Sum09A\",[6,3,-2,-12,1,-4,-18,-16,7,-9,3,11]]"(Json.Encode.encode 0 (jsonEncSum09(Json.Encode.list Json.Encode.int) (Sum09A [6,3,-2,-12,1,-4,-18,-16,7,-9,3,11])))) ] sumEncode10 : Test sumEncode10 = describe "Sum encode 10" - [ test "1" (\_ -> equalHack "[\"Sum10C\",[[],[]]]"(Json.Encode.encode 0 (jsonEncSum10(Json.Encode.list Json.Encode.int) (Sum10C [] [])))) - , test "2" (\_ -> equalHack "[\"Sum10D\",{\"foo\":[1]}]"(Json.Encode.encode 0 (jsonEncSum10(Json.Encode.list Json.Encode.int) (Sum10D {foo = [1]})))) - , test "3" (\_ -> equalHack "[\"Sum10E\",{\"bar\":0,\"baz\":-2}]"(Json.Encode.encode 0 (jsonEncSum10(Json.Encode.list Json.Encode.int) (Sum10E {bar = 0, baz = -2})))) - , test "4" (\_ -> equalHack "[\"Sum10E\",{\"bar\":-1,\"baz\":2}]"(Json.Encode.encode 0 (jsonEncSum10(Json.Encode.list Json.Encode.int) (Sum10E {bar = -1, baz = 2})))) - , test "5" (\_ -> equalHack "[\"Sum10D\",{\"foo\":[5,-3,7,0,-2,-4]}]"(Json.Encode.encode 0 (jsonEncSum10(Json.Encode.list Json.Encode.int) (Sum10D {foo = [5,-3,7,0,-2,-4]})))) - , test "6" (\_ -> equalHack "[\"Sum10D\",{\"foo\":[-8,-6,7,0,5]}]"(Json.Encode.encode 0 (jsonEncSum10(Json.Encode.list Json.Encode.int) (Sum10D {foo = [-8,-6,7,0,5]})))) - , test "7" (\_ -> equalHack "[\"Sum10B\",[-1,-7,0,6,7,2,-12,12,-8,-12]]"(Json.Encode.encode 0 (jsonEncSum10(Json.Encode.list Json.Encode.int) (Sum10B (Just [-1,-7,0,6,7,2,-12,12,-8,-12]))))) - , test "8" (\_ -> equalHack "[\"Sum10A\",[-12,0,6,12,-14,14,-6,8,10,14,7]]"(Json.Encode.encode 0 (jsonEncSum10(Json.Encode.list Json.Encode.int) (Sum10A [-12,0,6,12,-14,14,-6,8,10,14,7])))) - , test "9" (\_ -> equalHack "[\"Sum10A\",[]]"(Json.Encode.encode 0 (jsonEncSum10(Json.Encode.list Json.Encode.int) (Sum10A [])))) - , test "10" (\_ -> equalHack "[\"Sum10E\",{\"bar\":16,\"baz\":14}]"(Json.Encode.encode 0 (jsonEncSum10(Json.Encode.list Json.Encode.int) (Sum10E {bar = 16, baz = 14})))) - , test "11" (\_ -> equalHack "[\"Sum10A\",[10,-14,6,9,-15,7,5,13,-1,10,-10,-6,-6,5]]"(Json.Encode.encode 0 (jsonEncSum10(Json.Encode.list Json.Encode.int) (Sum10A [10,-14,6,9,-15,7,5,13,-1,10,-10,-6,-6,5])))) + [ test "1" (\_ -> equalHack "[\"Sum10D\",{\"foo\":[]}]"(Json.Encode.encode 0 (jsonEncSum10(Json.Encode.list Json.Encode.int) (Sum10D {foo = []})))) + , test "2" (\_ -> equalHack "[\"Sum10C\",[[],[]]]"(Json.Encode.encode 0 (jsonEncSum10(Json.Encode.list Json.Encode.int) (Sum10C [] [])))) + , test "3" (\_ -> equalHack "[\"Sum10B\",[-1]]"(Json.Encode.encode 0 (jsonEncSum10(Json.Encode.list Json.Encode.int) (Sum10B (Just [-1]))))) + , test "4" (\_ -> equalHack "[\"Sum10A\",[-6,4,-3]]"(Json.Encode.encode 0 (jsonEncSum10(Json.Encode.list Json.Encode.int) (Sum10A [-6,4,-3])))) + , test "5" (\_ -> equalHack "[\"Sum10A\",[3,3,6,0,6,6,7]]"(Json.Encode.encode 0 (jsonEncSum10(Json.Encode.list Json.Encode.int) (Sum10A [3,3,6,0,6,6,7])))) + , test "6" (\_ -> equalHack "[\"Sum10D\",{\"foo\":[-6]}]"(Json.Encode.encode 0 (jsonEncSum10(Json.Encode.list Json.Encode.int) (Sum10D {foo = [-6]})))) + , test "7" (\_ -> equalHack "[\"Sum10D\",{\"foo\":[2,2,2,10,6,-4,12,-6,-8]}]"(Json.Encode.encode 0 (jsonEncSum10(Json.Encode.list Json.Encode.int) (Sum10D {foo = [2,2,2,10,6,-4,12,-6,-8]})))) + , test "8" (\_ -> equalHack "[\"Sum10D\",{\"foo\":[7,1]}]"(Json.Encode.encode 0 (jsonEncSum10(Json.Encode.list Json.Encode.int) (Sum10D {foo = [7,1]})))) + , test "9" (\_ -> equalHack "[\"Sum10D\",{\"foo\":[9,10,11,-12,-1,-16,-3,10,-7,-16,-12,10]}]"(Json.Encode.encode 0 (jsonEncSum10(Json.Encode.list Json.Encode.int) (Sum10D {foo = [9,10,11,-12,-1,-16,-3,10,-7,-16,-12,10]})))) + , test "10" (\_ -> equalHack "[\"Sum10A\",[-17,11,-9,5]]"(Json.Encode.encode 0 (jsonEncSum10(Json.Encode.list Json.Encode.int) (Sum10A [-17,11,-9,5])))) + , test "11" (\_ -> equalHack "[\"Sum10E\",{\"bar\":5,\"baz\":-2}]"(Json.Encode.encode 0 (jsonEncSum10(Json.Encode.list Json.Encode.int) (Sum10E {bar = 5, baz = -2})))) ] sumEncode11 : Test sumEncode11 = describe "Sum encode 11" [ test "1" (\_ -> equalHack "[\"Sum11C\",[[],[]]]"(Json.Encode.encode 0 (jsonEncSum11(Json.Encode.list Json.Encode.int) (Sum11C [] [])))) - , test "2" (\_ -> equalHack "[\"Sum11A\",[1,0]]"(Json.Encode.encode 0 (jsonEncSum11(Json.Encode.list Json.Encode.int) (Sum11A [1,0])))) - , test "3" (\_ -> equalHack "[\"Sum11B\",[3,3,2]]"(Json.Encode.encode 0 (jsonEncSum11(Json.Encode.list Json.Encode.int) (Sum11B (Just [3,3,2]))))) - , test "4" (\_ -> equalHack "[\"Sum11E\",{\"bar\":4,\"baz\":-1}]"(Json.Encode.encode 0 (jsonEncSum11(Json.Encode.list Json.Encode.int) (Sum11E {bar = 4, baz = -1})))) - , test "5" (\_ -> equalHack "[\"Sum11A\",[3,1,1,3,-5,4,5,-7]]"(Json.Encode.encode 0 (jsonEncSum11(Json.Encode.list Json.Encode.int) (Sum11A [3,1,1,3,-5,4,5,-7])))) - , test "6" (\_ -> equalHack "[\"Sum11D\",{\"foo\":[2,-8,1,-5,-1,-10]}]"(Json.Encode.encode 0 (jsonEncSum11(Json.Encode.list Json.Encode.int) (Sum11D {foo = [2,-8,1,-5,-1,-10]})))) - , test "7" (\_ -> equalHack "[\"Sum11E\",{\"bar\":0,\"baz\":12}]"(Json.Encode.encode 0 (jsonEncSum11(Json.Encode.list Json.Encode.int) (Sum11E {bar = 0, baz = 12})))) - , test "8" (\_ -> equalHack "[\"Sum11E\",{\"bar\":-10,\"baz\":-6}]"(Json.Encode.encode 0 (jsonEncSum11(Json.Encode.list Json.Encode.int) (Sum11E {bar = -10, baz = -6})))) - , test "9" (\_ -> equalHack "[\"Sum11A\",[4]]"(Json.Encode.encode 0 (jsonEncSum11(Json.Encode.list Json.Encode.int) (Sum11A [4])))) - , test "10" (\_ -> equalHack "[\"Sum11C\",[[],[16,8,-7,16,18,-6,7,1,-8,15,-6,1,-1]]]"(Json.Encode.encode 0 (jsonEncSum11(Json.Encode.list Json.Encode.int) (Sum11C [] [16,8,-7,16,18,-6,7,1,-8,15,-6,1,-1])))) - , test "11" (\_ -> equalHack "[\"Sum11D\",{\"foo\":[-16,6,14,2,-11,8,13,13,-13,-15]}]"(Json.Encode.encode 0 (jsonEncSum11(Json.Encode.list Json.Encode.int) (Sum11D {foo = [-16,6,14,2,-11,8,13,13,-13,-15]})))) + , test "2" (\_ -> equalHack "[\"Sum11E\",{\"bar\":-2,\"baz\":-2}]"(Json.Encode.encode 0 (jsonEncSum11(Json.Encode.list Json.Encode.int) (Sum11E {bar = -2, baz = -2})))) + , test "3" (\_ -> equalHack "[\"Sum11B\",[1,-4]]"(Json.Encode.encode 0 (jsonEncSum11(Json.Encode.list Json.Encode.int) (Sum11B (Just [1,-4]))))) + , test "4" (\_ -> equalHack "[\"Sum11D\",{\"foo\":[1,-1,-3,-4,3]}]"(Json.Encode.encode 0 (jsonEncSum11(Json.Encode.list Json.Encode.int) (Sum11D {foo = [1,-1,-3,-4,3]})))) + , test "5" (\_ -> equalHack "[\"Sum11A\",[5,-8,-4,-7,1,7,0,-7]]"(Json.Encode.encode 0 (jsonEncSum11(Json.Encode.list Json.Encode.int) (Sum11A [5,-8,-4,-7,1,7,0,-7])))) + , test "6" (\_ -> equalHack "[\"Sum11B\",[-6,-9,6,6,0]]"(Json.Encode.encode 0 (jsonEncSum11(Json.Encode.list Json.Encode.int) (Sum11B (Just [-6,-9,6,6,0]))))) + , test "7" (\_ -> equalHack "[\"Sum11B\",[-5,-7,9,-7,-3,-4,-9,0,3]]"(Json.Encode.encode 0 (jsonEncSum11(Json.Encode.list Json.Encode.int) (Sum11B (Just [-5,-7,9,-7,-3,-4,-9,0,3]))))) + , test "8" (\_ -> equalHack "[\"Sum11C\",[[-2,-3,-1,9],[-11]]]"(Json.Encode.encode 0 (jsonEncSum11(Json.Encode.list Json.Encode.int) (Sum11C [-2,-3,-1,9] [-11])))) + , test "9" (\_ -> equalHack "[\"Sum11B\",[-16,-10,9,15,13,-16,-16,12,-13,-13]]"(Json.Encode.encode 0 (jsonEncSum11(Json.Encode.list Json.Encode.int) (Sum11B (Just [-16,-10,9,15,13,-16,-16,12,-13,-13]))))) + , test "10" (\_ -> equalHack "[\"Sum11E\",{\"bar\":3,\"baz\":-18}]"(Json.Encode.encode 0 (jsonEncSum11(Json.Encode.list Json.Encode.int) (Sum11E {bar = 3, baz = -18})))) + , test "11" (\_ -> equalHack "[\"Sum11E\",{\"bar\":9,\"baz\":-9}]"(Json.Encode.encode 0 (jsonEncSum11(Json.Encode.list Json.Encode.int) (Sum11E {bar = 9, baz = -9})))) ] sumEncode12 : Test sumEncode12 = describe "Sum encode 12" [ test "1" (\_ -> equalHack "[\"Sum12B\",[]]"(Json.Encode.encode 0 (jsonEncSum12(Json.Encode.list Json.Encode.int) (Sum12B (Just []))))) - , test "2" (\_ -> equalHack "[\"Sum12D\",{\"foo\":[]}]"(Json.Encode.encode 0 (jsonEncSum12(Json.Encode.list Json.Encode.int) (Sum12D {foo = []})))) - , test "3" (\_ -> equalHack "[\"Sum12B\",[-1]]"(Json.Encode.encode 0 (jsonEncSum12(Json.Encode.list Json.Encode.int) (Sum12B (Just [-1]))))) - , test "4" (\_ -> equalHack "[\"Sum12D\",{\"foo\":[6,5,0]}]"(Json.Encode.encode 0 (jsonEncSum12(Json.Encode.list Json.Encode.int) (Sum12D {foo = [6,5,0]})))) - , test "5" (\_ -> equalHack "[\"Sum12E\",{\"bar\":4,\"baz\":0}]"(Json.Encode.encode 0 (jsonEncSum12(Json.Encode.list Json.Encode.int) (Sum12E {bar = 4, baz = 0})))) - , test "6" (\_ -> equalHack "[\"Sum12A\",[-5,4,-7,-9,-4,-8,-9,8,6,-5]]"(Json.Encode.encode 0 (jsonEncSum12(Json.Encode.list Json.Encode.int) (Sum12A [-5,4,-7,-9,-4,-8,-9,8,6,-5])))) - , test "7" (\_ -> equalHack "[\"Sum12E\",{\"bar\":-7,\"baz\":-7}]"(Json.Encode.encode 0 (jsonEncSum12(Json.Encode.list Json.Encode.int) (Sum12E {bar = -7, baz = -7})))) - , test "8" (\_ -> equalHack "[\"Sum12C\",[[4,-2,1,-6,14,3,-2,-14,9],[-1,-6,-13,-7,2,-4,-6,-13,-10,-5,14,3,6]]]"(Json.Encode.encode 0 (jsonEncSum12(Json.Encode.list Json.Encode.int) (Sum12C [4,-2,1,-6,14,3,-2,-14,9] [-1,-6,-13,-7,2,-4,-6,-13,-10,-5,14,3,6])))) - , test "9" (\_ -> equalHack "[\"Sum12B\",[-11,-12,15,7,-12,9,-6,9]]"(Json.Encode.encode 0 (jsonEncSum12(Json.Encode.list Json.Encode.int) (Sum12B (Just [-11,-12,15,7,-12,9,-6,9]))))) - , test "10" (\_ -> equalHack "[\"Sum12C\",[[-2,14,5,18,-11,9],[-9,-9,-10,3,9,-4,-13,17,-14,-13,18,18,13,15,0,17,-7,13]]]"(Json.Encode.encode 0 (jsonEncSum12(Json.Encode.list Json.Encode.int) (Sum12C [-2,14,5,18,-11,9] [-9,-9,-10,3,9,-4,-13,17,-14,-13,18,18,13,15,0,17,-7,13])))) - , test "11" (\_ -> equalHack "[\"Sum12C\",[[1,0,3,15,11,7,-2,-6,-20,-11,-20,12,-14,-17,-17],[-16,19,-11,7,18,12,2,-7,5,13]]]"(Json.Encode.encode 0 (jsonEncSum12(Json.Encode.list Json.Encode.int) (Sum12C [1,0,3,15,11,7,-2,-6,-20,-11,-20,12,-14,-17,-17] [-16,19,-11,7,18,12,2,-7,5,13])))) + , test "2" (\_ -> equalHack "[\"Sum12C\",[[-2,2],[2]]]"(Json.Encode.encode 0 (jsonEncSum12(Json.Encode.list Json.Encode.int) (Sum12C [-2,2] [2])))) + , test "3" (\_ -> equalHack "[\"Sum12B\",[0,-3,4]]"(Json.Encode.encode 0 (jsonEncSum12(Json.Encode.list Json.Encode.int) (Sum12B (Just [0,-3,4]))))) + , test "4" (\_ -> equalHack "[\"Sum12C\",[[6,0],[-2,1,-3,1,-6]]]"(Json.Encode.encode 0 (jsonEncSum12(Json.Encode.list Json.Encode.int) (Sum12C [6,0] [-2,1,-3,1,-6])))) + , test "5" (\_ -> equalHack "[\"Sum12B\",[1,-7,2,-7,-6]]"(Json.Encode.encode 0 (jsonEncSum12(Json.Encode.list Json.Encode.int) (Sum12B (Just [1,-7,2,-7,-6]))))) + , test "6" (\_ -> equalHack "[\"Sum12B\",[-4]]"(Json.Encode.encode 0 (jsonEncSum12(Json.Encode.list Json.Encode.int) (Sum12B (Just [-4]))))) + , test "7" (\_ -> equalHack "[\"Sum12C\",[[-2,7],[4,10,3,-6,-1,-4,11,7,-9]]]"(Json.Encode.encode 0 (jsonEncSum12(Json.Encode.list Json.Encode.int) (Sum12C [-2,7] [4,10,3,-6,-1,-4,11,7,-9])))) + , test "8" (\_ -> equalHack "[\"Sum12C\",[[4,5,-5,-13,-1,-5,10,-7,1,-9],[6,12,-6,8,11,-9,6,6,6,-10,11,-8,3]]]"(Json.Encode.encode 0 (jsonEncSum12(Json.Encode.list Json.Encode.int) (Sum12C [4,5,-5,-13,-1,-5,10,-7,1,-9] [6,12,-6,8,11,-9,6,6,6,-10,11,-8,3])))) + , test "9" (\_ -> equalHack "[\"Sum12D\",{\"foo\":[-13,14,9,0]}]"(Json.Encode.encode 0 (jsonEncSum12(Json.Encode.list Json.Encode.int) (Sum12D {foo = [-13,14,9,0]})))) + , test "10" (\_ -> equalHack "[\"Sum12C\",[[15,-8,18,5,17,10,-12,18,2,-1,17,11,-11,2,-8],[]]]"(Json.Encode.encode 0 (jsonEncSum12(Json.Encode.list Json.Encode.int) (Sum12C [15,-8,18,5,17,10,-12,18,2,-1,17,11,-11,2,-8] [])))) + , test "11" (\_ -> equalHack "[\"Sum12D\",{\"foo\":[11,-11,11,10,13,-1,-15,-11,20,19,0,0,-6,-20,-16]}]"(Json.Encode.encode 0 (jsonEncSum12(Json.Encode.list Json.Encode.int) (Sum12D {foo = [11,-11,11,10,13,-1,-15,-11,20,19,0,0,-6,-20,-16]})))) ] sumDecode01 : Test sumDecode01 = describe "Sum decode 01" - [ test "1" (\_ -> equal (Ok (Sum01E {bar = 0, baz = 0})) (Json.Decode.decodeString (jsonDecSum01 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum01E\",\"bar\":0,\"baz\":0}")) - , test "2" (\_ -> equal (Ok (Sum01A [-1,1])) (Json.Decode.decodeString (jsonDecSum01 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum01A\",\"content\":[-1,1]}")) - , test "3" (\_ -> equal (Ok (Sum01C [-1,2,4,-3] [])) (Json.Decode.decodeString (jsonDecSum01 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum01C\",\"content\":[[-1,2,4,-3],[]]}")) - , test "4" (\_ -> equal (Ok (Sum01D {foo = [6,5,3]})) (Json.Decode.decodeString (jsonDecSum01 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum01D\",\"foo\":[6,5,3]}")) - , test "5" (\_ -> equal (Ok (Sum01D {foo = [2,-8,4]})) (Json.Decode.decodeString (jsonDecSum01 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum01D\",\"foo\":[2,-8,4]}")) - , test "6" (\_ -> equal (Ok (Sum01B (Just [-2,-8,-6]))) (Json.Decode.decodeString (jsonDecSum01 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum01B\",\"content\":[-2,-8,-6]}")) - , test "7" (\_ -> equal (Ok (Sum01C [-8,1,-10,-1,2] [9,4,5,-12,2,-5,8])) (Json.Decode.decodeString (jsonDecSum01 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum01C\",\"content\":[[-8,1,-10,-1,2],[9,4,5,-12,2,-5,8]]}")) - , test "8" (\_ -> equal (Ok (Sum01A [-14,1,-9,-2,0,-1,7,-14,-14,5,-10])) (Json.Decode.decodeString (jsonDecSum01 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum01A\",\"content\":[-14,1,-9,-2,0,-1,7,-14,-14,5,-10]}")) - , test "9" (\_ -> equal (Ok (Sum01A [13,15,-14,3,0,2,-9,4,-1,-2,-5,-2,3,-15,5])) (Json.Decode.decodeString (jsonDecSum01 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum01A\",\"content\":[13,15,-14,3,0,2,-9,4,-1,-2,-5,-2,3,-15,5]}")) - , test "10" (\_ -> equal (Ok (Sum01E {bar = -17, baz = 13})) (Json.Decode.decodeString (jsonDecSum01 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum01E\",\"bar\":-17,\"baz\":13}")) - , test "11" (\_ -> equal (Ok (Sum01C [19,5,5,3,-12,-9,14,18,-18,-2,-15,-11,-16,13,-20] [-13,-3,-13,-15,-2])) (Json.Decode.decodeString (jsonDecSum01 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum01C\",\"content\":[[19,5,5,3,-12,-9,14,18,-18,-2,-15,-11,-16,13,-20],[-13,-3,-13,-15,-2]]}")) + [ test "1" (\_ -> equal (Ok (Sum01D {foo = []})) (Json.Decode.decodeString (jsonDecSum01 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum01D\",\"foo\":[]}")) + , test "2" (\_ -> equal (Ok (Sum01B (Just [2]))) (Json.Decode.decodeString (jsonDecSum01 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum01B\",\"content\":[2]}")) + , test "3" (\_ -> equal (Ok (Sum01B (Just [-3,1,-2,-4]))) (Json.Decode.decodeString (jsonDecSum01 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum01B\",\"content\":[-3,1,-2,-4]}")) + , test "4" (\_ -> equal (Ok (Sum01B (Just []))) (Json.Decode.decodeString (jsonDecSum01 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum01B\",\"content\":[]}")) + , test "5" (\_ -> equal (Ok (Sum01C [4,2,4,-8,7,-2,3,0] [8,-2,-3])) (Json.Decode.decodeString (jsonDecSum01 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum01C\",\"content\":[[4,2,4,-8,7,-2,3,0],[8,-2,-3]]}")) + , test "6" (\_ -> equal (Ok (Sum01A [-3,-3,1,2])) (Json.Decode.decodeString (jsonDecSum01 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum01A\",\"content\":[-3,-3,1,2]}")) + , test "7" (\_ -> equal (Ok (Sum01A [4,-4,-10,8,12,10,9,0,-3,3,11,-8])) (Json.Decode.decodeString (jsonDecSum01 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum01A\",\"content\":[4,-4,-10,8,12,10,9,0,-3,3,11,-8]}")) + , test "8" (\_ -> equal (Ok (Sum01C [9,-8,-9,0,4,6,3] [3,-13,13,13,3,-14,-11,3,3])) (Json.Decode.decodeString (jsonDecSum01 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum01C\",\"content\":[[9,-8,-9,0,4,6,3],[3,-13,13,13,3,-14,-11,3,3]]}")) + , test "9" (\_ -> equal (Ok (Sum01E {bar = 10, baz = 6})) (Json.Decode.decodeString (jsonDecSum01 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum01E\",\"bar\":10,\"baz\":6}")) + , test "10" (\_ -> equal (Ok (Sum01A [-3,-6,-9,13])) (Json.Decode.decodeString (jsonDecSum01 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum01A\",\"content\":[-3,-6,-9,13]}")) + , test "11" (\_ -> equal (Ok (Sum01A [6,-11,6,16,-11,-10])) (Json.Decode.decodeString (jsonDecSum01 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum01A\",\"content\":[6,-11,6,16,-11,-10]}")) ] sumDecode02 : Test sumDecode02 = describe "Sum decode 02" [ test "1" (\_ -> equal (Ok (Sum02E {bar = 0, baz = 0})) (Json.Decode.decodeString (jsonDecSum02 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum02E\",\"bar\":0,\"baz\":0}")) - , test "2" (\_ -> equal (Ok (Sum02D {foo = [-2,2]})) (Json.Decode.decodeString (jsonDecSum02 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum02D\",\"foo\":[-2,2]}")) - , test "3" (\_ -> equal (Ok (Sum02A [3,-2])) (Json.Decode.decodeString (jsonDecSum02 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum02A\",\"content\":[3,-2]}")) - , test "4" (\_ -> equal (Ok (Sum02A [-3,3,4])) (Json.Decode.decodeString (jsonDecSum02 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum02A\",\"content\":[-3,3,4]}")) - , test "5" (\_ -> equal (Ok (Sum02A [-2,-4,-1,-1,5,-7])) (Json.Decode.decodeString (jsonDecSum02 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum02A\",\"content\":[-2,-4,-1,-1,5,-7]}")) - , test "6" (\_ -> equal (Ok (Sum02E {bar = -1, baz = 10})) (Json.Decode.decodeString (jsonDecSum02 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum02E\",\"bar\":-1,\"baz\":10}")) - , test "7" (\_ -> equal (Ok (Sum02E {bar = 8, baz = 12})) (Json.Decode.decodeString (jsonDecSum02 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum02E\",\"bar\":8,\"baz\":12}")) - , test "8" (\_ -> equal (Ok (Sum02E {bar = -9, baz = -13})) (Json.Decode.decodeString (jsonDecSum02 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum02E\",\"bar\":-9,\"baz\":-13}")) - , test "9" (\_ -> equal (Ok (Sum02C [-9] [])) (Json.Decode.decodeString (jsonDecSum02 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum02C\",\"content\":[[-9],[]]}")) - , test "10" (\_ -> equal (Ok (Sum02A [14,4,5,-2,-2])) (Json.Decode.decodeString (jsonDecSum02 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum02A\",\"content\":[14,4,5,-2,-2]}")) - , test "11" (\_ -> equal (Ok (Sum02D {foo = [19,17,14,14,1,-20,-4,9,2,3,2,4,16,-19,-15]})) (Json.Decode.decodeString (jsonDecSum02 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum02D\",\"foo\":[19,17,14,14,1,-20,-4,9,2,3,2,4,16,-19,-15]}")) + , test "2" (\_ -> equal (Ok (Sum02D {foo = [1]})) (Json.Decode.decodeString (jsonDecSum02 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum02D\",\"foo\":[1]}")) + , test "3" (\_ -> equal (Ok (Sum02C [2,0,1,4] [4,2])) (Json.Decode.decodeString (jsonDecSum02 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum02C\",\"content\":[[2,0,1,4],[4,2]]}")) + , test "4" (\_ -> equal (Ok (Sum02D {foo = [6,-6,2,-4]})) (Json.Decode.decodeString (jsonDecSum02 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum02D\",\"foo\":[6,-6,2,-4]}")) + , test "5" (\_ -> equal (Ok (Sum02E {bar = -8, baz = 4})) (Json.Decode.decodeString (jsonDecSum02 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum02E\",\"bar\":-8,\"baz\":4}")) + , test "6" (\_ -> equal (Ok (Sum02E {bar = 5, baz = 5})) (Json.Decode.decodeString (jsonDecSum02 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum02E\",\"bar\":5,\"baz\":5}")) + , test "7" (\_ -> equal (Ok (Sum02B (Just [-1,-4,7,10,1,10,12,-7,-6]))) (Json.Decode.decodeString (jsonDecSum02 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum02B\",\"content\":[-1,-4,7,10,1,10,12,-7,-6]}")) + , test "8" (\_ -> equal (Ok (Sum02D {foo = [-8,-7,14,10,4,0,10,1]})) (Json.Decode.decodeString (jsonDecSum02 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum02D\",\"foo\":[-8,-7,14,10,4,0,10,1]}")) + , test "9" (\_ -> equal (Ok (Sum02B (Just [-11]))) (Json.Decode.decodeString (jsonDecSum02 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum02B\",\"content\":[-11]}")) + , test "10" (\_ -> equal (Ok (Sum02A [-13,-1,-18,15,-13,13,2,-16,1,2,-16,10,-4,14,18,-2,-7])) (Json.Decode.decodeString (jsonDecSum02 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum02A\",\"content\":[-13,-1,-18,15,-13,13,2,-16,1,2,-16,10,-4,14,18,-2,-7]}")) + , test "11" (\_ -> equal (Ok (Sum02D {foo = [11,15,-13,10,-14,9,13,-13,20,-13,9,-19,7,14,14,-18]})) (Json.Decode.decodeString (jsonDecSum02 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum02D\",\"foo\":[11,15,-13,10,-14,9,13,-13,20,-13,9,-19,7,14,14,-18]}")) ] sumDecode03 : Test sumDecode03 = describe "Sum decode 03" - [ test "1" (\_ -> equal (Ok (Sum03C [] [])) (Json.Decode.decodeString (jsonDecSum03 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum03C\",\"content\":[[],[]]}")) - , test "2" (\_ -> equal (Ok (Sum03C [-1] [])) (Json.Decode.decodeString (jsonDecSum03 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum03C\",\"content\":[[-1],[]]}")) - , test "3" (\_ -> equal (Ok (Sum03C [-2,3,1,-4] [1,-1,1])) (Json.Decode.decodeString (jsonDecSum03 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum03C\",\"content\":[[-2,3,1,-4],[1,-1,1]]}")) - , test "4" (\_ -> equal (Ok (Sum03E {bar = 3, baz = -4})) (Json.Decode.decodeString (jsonDecSum03 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum03E\",\"bar\":3,\"baz\":-4}")) - , test "5" (\_ -> equal (Ok (Sum03D {foo = [-3,-1,5,-4]})) (Json.Decode.decodeString (jsonDecSum03 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum03D\",\"foo\":[-3,-1,5,-4]}")) - , test "6" (\_ -> equal (Ok (Sum03B (Just [10,-3]))) (Json.Decode.decodeString (jsonDecSum03 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum03B\",\"content\":[10,-3]}")) - , test "7" (\_ -> equal (Ok (Sum03C [-4,-5,-8] [-5])) (Json.Decode.decodeString (jsonDecSum03 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum03C\",\"content\":[[-4,-5,-8],[-5]]}")) - , test "8" (\_ -> equal (Ok (Sum03A [5,5,1,2,0,5,-12,13,-2,-3,-4,11,4,12])) (Json.Decode.decodeString (jsonDecSum03 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum03A\",\"content\":[5,5,1,2,0,5,-12,13,-2,-3,-4,11,4,12]}")) - , test "9" (\_ -> equal (Ok (Sum03A [])) (Json.Decode.decodeString (jsonDecSum03 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum03A\",\"content\":[]}")) - , test "10" (\_ -> equal (Ok (Sum03D {foo = [-16,-6,10,16,-9,-15,6,14,-12,9,1,-6,17,12,-12]})) (Json.Decode.decodeString (jsonDecSum03 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum03D\",\"foo\":[-16,-6,10,16,-9,-15,6,14,-12,9,1,-6,17,12,-12]}")) - , test "11" (\_ -> equal (Ok (Sum03C [11,19,20,-8,12,19,-14,10,2,-14,1,4,-9] [14,-12,-12,2,-11,7,14,17,-1,8,7,2,-18,6,4,13,13,5])) (Json.Decode.decodeString (jsonDecSum03 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum03C\",\"content\":[[11,19,20,-8,12,19,-14,10,2,-14,1,4,-9],[14,-12,-12,2,-11,7,14,17,-1,8,7,2,-18,6,4,13,13,5]]}")) + [ test "1" (\_ -> equal (Ok (Sum03A [])) (Json.Decode.decodeString (jsonDecSum03 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum03A\",\"content\":[]}")) + , test "2" (\_ -> equal (Ok (Sum03C [-2] [-1,-1])) (Json.Decode.decodeString (jsonDecSum03 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum03C\",\"content\":[[-2],[-1,-1]]}")) + , test "3" (\_ -> equal (Ok (Sum03A [0,1])) (Json.Decode.decodeString (jsonDecSum03 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum03A\",\"content\":[0,1]}")) + , test "4" (\_ -> equal (Ok (Sum03C [6,2] [0,0,-6,4,3])) (Json.Decode.decodeString (jsonDecSum03 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum03C\",\"content\":[[6,2],[0,0,-6,4,3]]}")) + , test "5" (\_ -> equal (Ok (Sum03B (Just [3,6]))) (Json.Decode.decodeString (jsonDecSum03 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum03B\",\"content\":[3,6]}")) + , test "6" (\_ -> equal (Ok (Sum03A [-2])) (Json.Decode.decodeString (jsonDecSum03 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum03A\",\"content\":[-2]}")) + , test "7" (\_ -> equal (Ok (Sum03E {bar = 9, baz = 7})) (Json.Decode.decodeString (jsonDecSum03 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum03E\",\"bar\":9,\"baz\":7}")) + , test "8" (\_ -> equal (Ok (Sum03B (Just [-7,-13,-14,-14]))) (Json.Decode.decodeString (jsonDecSum03 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum03B\",\"content\":[-7,-13,-14,-14]}")) + , test "9" (\_ -> equal (Ok (Sum03D {foo = [-13,11,4,16,-8,0,-3,11,-16,-15,-5,15,2,-4]})) (Json.Decode.decodeString (jsonDecSum03 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum03D\",\"foo\":[-13,11,4,16,-8,0,-3,11,-16,-15,-5,15,2,-4]}")) + , test "10" (\_ -> equal (Ok (Sum03B (Just [-15,17,2,6,11,3,-15,8,3,10,-14,10,12,4]))) (Json.Decode.decodeString (jsonDecSum03 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum03B\",\"content\":[-15,17,2,6,11,3,-15,8,3,10,-14,10,12,4]}")) + , test "11" (\_ -> equal (Ok (Sum03C [6,-6,-19,-13,-18,10,1,-14,5,13,-9] [-16,-10])) (Json.Decode.decodeString (jsonDecSum03 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum03C\",\"content\":[[6,-6,-19,-13,-18,10,1,-14,5,13,-9],[-16,-10]]}")) ] sumDecode04 : Test sumDecode04 = describe "Sum decode 04" - [ test "1" (\_ -> equal (Ok (Sum04D {foo = []})) (Json.Decode.decodeString (jsonDecSum04 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum04D\",\"foo\":[]}")) - , test "2" (\_ -> equal (Ok (Sum04C [-2,1] [])) (Json.Decode.decodeString (jsonDecSum04 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum04C\",\"content\":[[-2,1],[]]}")) - , test "3" (\_ -> equal (Ok (Sum04B (Just [-3,-1,1]))) (Json.Decode.decodeString (jsonDecSum04 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum04B\",\"content\":[-3,-1,1]}")) - , test "4" (\_ -> equal (Ok (Sum04E {bar = -5, baz = 4})) (Json.Decode.decodeString (jsonDecSum04 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum04E\",\"bar\":-5,\"baz\":4}")) - , test "5" (\_ -> equal (Ok (Sum04C [0,-8,-5,-5,6] [-2,8,-3])) (Json.Decode.decodeString (jsonDecSum04 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum04C\",\"content\":[[0,-8,-5,-5,6],[-2,8,-3]]}")) - , test "6" (\_ -> equal (Ok (Sum04A [8,-4,2,8,-2,9,4,6,4,1])) (Json.Decode.decodeString (jsonDecSum04 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum04A\",\"content\":[8,-4,2,8,-2,9,4,6,4,1]}")) - , test "7" (\_ -> equal (Ok (Sum04C [0,4,11,-9,-4,9,2,9,7,7,8] [-4,-2,12,9,-3,7,-6,7,-12,8])) (Json.Decode.decodeString (jsonDecSum04 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum04C\",\"content\":[[0,4,11,-9,-4,9,2,9,7,7,8],[-4,-2,12,9,-3,7,-6,7,-12,8]]}")) - , test "8" (\_ -> equal (Ok (Sum04C [] [6,-1,-9,-4,14,6,-6,9,8,1,7,13])) (Json.Decode.decodeString (jsonDecSum04 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum04C\",\"content\":[[],[6,-1,-9,-4,14,6,-6,9,8,1,7,13]]}")) - , test "9" (\_ -> equal (Ok (Sum04D {foo = [2,6,2,6,13,-4,11]})) (Json.Decode.decodeString (jsonDecSum04 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum04D\",\"foo\":[2,6,2,6,13,-4,11]}")) - , test "10" (\_ -> equal (Ok (Sum04E {bar = 4, baz = -10})) (Json.Decode.decodeString (jsonDecSum04 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum04E\",\"bar\":4,\"baz\":-10}")) - , test "11" (\_ -> equal (Ok (Sum04D {foo = [-18,15,-10,-20,-18,7,-5,12,-11,19,17,3,14,8,-6,1,-5,-15]})) (Json.Decode.decodeString (jsonDecSum04 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum04D\",\"foo\":[-18,15,-10,-20,-18,7,-5,12,-11,19,17,3,14,8,-6,1,-5,-15]}")) + [ test "1" (\_ -> equal (Ok (Sum04E {bar = 0, baz = 0})) (Json.Decode.decodeString (jsonDecSum04 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum04E\",\"bar\":0,\"baz\":0}")) + , test "2" (\_ -> equal (Ok (Sum04E {bar = 2, baz = 0})) (Json.Decode.decodeString (jsonDecSum04 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum04E\",\"bar\":2,\"baz\":0}")) + , test "3" (\_ -> equal (Ok (Sum04C [] [0])) (Json.Decode.decodeString (jsonDecSum04 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum04C\",\"content\":[[],[0]]}")) + , test "4" (\_ -> equal (Ok (Sum04B (Just [1,-1,-3,3]))) (Json.Decode.decodeString (jsonDecSum04 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum04B\",\"content\":[1,-1,-3,3]}")) + , test "5" (\_ -> equal (Ok (Sum04B (Just [-7]))) (Json.Decode.decodeString (jsonDecSum04 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum04B\",\"content\":[-7]}")) + , test "6" (\_ -> equal (Ok (Sum04B (Just []))) (Json.Decode.decodeString (jsonDecSum04 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum04B\",\"content\":[]}")) + , test "7" (\_ -> equal (Ok (Sum04A [8,-10,-10,1,2,3,-3,-1,5,7,-5])) (Json.Decode.decodeString (jsonDecSum04 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum04A\",\"content\":[8,-10,-10,1,2,3,-3,-1,5,7,-5]}")) + , test "8" (\_ -> equal (Ok (Sum04E {bar = -10, baz = 6})) (Json.Decode.decodeString (jsonDecSum04 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum04E\",\"bar\":-10,\"baz\":6}")) + , test "9" (\_ -> equal (Ok (Sum04E {bar = 15, baz = 6})) (Json.Decode.decodeString (jsonDecSum04 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum04E\",\"bar\":15,\"baz\":6}")) + , test "10" (\_ -> equal (Ok (Sum04E {bar = 6, baz = -6})) (Json.Decode.decodeString (jsonDecSum04 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum04E\",\"bar\":6,\"baz\":-6}")) + , test "11" (\_ -> equal (Ok (Sum04E {bar = -17, baz = 6})) (Json.Decode.decodeString (jsonDecSum04 (Json.Decode.list Json.Decode.int)) "{\"tag\":\"Sum04E\",\"bar\":-17,\"baz\":6}")) ] sumDecode05 : Test sumDecode05 = describe "Sum decode 05" - [ test "1" (\_ -> equal (Ok (Sum05B (Just []))) (Json.Decode.decodeString (jsonDecSum05 (Json.Decode.list Json.Decode.int)) "{\"Sum05B\":[]}")) - , test "2" (\_ -> equal (Ok (Sum05C [0] [-2,0])) (Json.Decode.decodeString (jsonDecSum05 (Json.Decode.list Json.Decode.int)) "{\"Sum05C\":[[0],[-2,0]]}")) - , test "3" (\_ -> equal (Ok (Sum05A [3,-2,4,0])) (Json.Decode.decodeString (jsonDecSum05 (Json.Decode.list Json.Decode.int)) "{\"Sum05A\":[3,-2,4,0]}")) - , test "4" (\_ -> equal (Ok (Sum05B (Just [4,-5,3,6,2]))) (Json.Decode.decodeString (jsonDecSum05 (Json.Decode.list Json.Decode.int)) "{\"Sum05B\":[4,-5,3,6,2]}")) - , test "5" (\_ -> equal (Ok (Sum05D {foo = [5,8,-5,-8,8,3,4]})) (Json.Decode.decodeString (jsonDecSum05 (Json.Decode.list Json.Decode.int)) "{\"Sum05D\":{\"foo\":[5,8,-5,-8,8,3,4]}}")) - , test "6" (\_ -> equal (Ok (Sum05C [-2,3] [-8,8])) (Json.Decode.decodeString (jsonDecSum05 (Json.Decode.list Json.Decode.int)) "{\"Sum05C\":[[-2,3],[-8,8]]}")) - , test "7" (\_ -> equal (Ok (Sum05A [-10,-7])) (Json.Decode.decodeString (jsonDecSum05 (Json.Decode.list Json.Decode.int)) "{\"Sum05A\":[-10,-7]}")) - , test "8" (\_ -> equal (Ok (Sum05A [-8,8,7,-10])) (Json.Decode.decodeString (jsonDecSum05 (Json.Decode.list Json.Decode.int)) "{\"Sum05A\":[-8,8,7,-10]}")) - , test "9" (\_ -> equal (Ok (Sum05D {foo = [2,-1,1,-6,-8,-1,1,-2,16,4,7,-1,-13]})) (Json.Decode.decodeString (jsonDecSum05 (Json.Decode.list Json.Decode.int)) "{\"Sum05D\":{\"foo\":[2,-1,1,-6,-8,-1,1,-2,16,4,7,-1,-13]}}")) - , test "10" (\_ -> equal (Ok (Sum05C [-4,3,-2,3,1,17,16,4,-2,-5,-10] [11,18,-8,7,3])) (Json.Decode.decodeString (jsonDecSum05 (Json.Decode.list Json.Decode.int)) "{\"Sum05C\":[[-4,3,-2,3,1,17,16,4,-2,-5,-10],[11,18,-8,7,3]]}")) - , test "11" (\_ -> equal (Ok (Sum05E {bar = 18, baz = 8})) (Json.Decode.decodeString (jsonDecSum05 (Json.Decode.list Json.Decode.int)) "{\"Sum05E\":{\"bar\":18,\"baz\":8}}")) + [ test "1" (\_ -> equal (Ok (Sum05C [] [])) (Json.Decode.decodeString (jsonDecSum05 (Json.Decode.list Json.Decode.int)) "{\"Sum05C\":[[],[]]}")) + , test "2" (\_ -> equal (Ok (Sum05C [-1,2] [])) (Json.Decode.decodeString (jsonDecSum05 (Json.Decode.list Json.Decode.int)) "{\"Sum05C\":[[-1,2],[]]}")) + , test "3" (\_ -> equal (Ok (Sum05C [-2,1] [-1,-3,0])) (Json.Decode.decodeString (jsonDecSum05 (Json.Decode.list Json.Decode.int)) "{\"Sum05C\":[[-2,1],[-1,-3,0]]}")) + , test "4" (\_ -> equal (Ok (Sum05B (Just [-3,1,3]))) (Json.Decode.decodeString (jsonDecSum05 (Json.Decode.list Json.Decode.int)) "{\"Sum05B\":[-3,1,3]}")) + , test "5" (\_ -> equal (Ok (Sum05E {bar = 6, baz = -8})) (Json.Decode.decodeString (jsonDecSum05 (Json.Decode.list Json.Decode.int)) "{\"Sum05E\":{\"bar\":6,\"baz\":-8}}")) + , test "6" (\_ -> equal (Ok (Sum05B (Just [-9]))) (Json.Decode.decodeString (jsonDecSum05 (Json.Decode.list Json.Decode.int)) "{\"Sum05B\":[-9]}")) + , test "7" (\_ -> equal (Ok (Sum05C [9,6,-6,10,-3,5] [-6,-8,4,10,-12,-5,-4,-1,5,-6,-12,11])) (Json.Decode.decodeString (jsonDecSum05 (Json.Decode.list Json.Decode.int)) "{\"Sum05C\":[[9,6,-6,10,-3,5],[-6,-8,4,10,-12,-5,-4,-1,5,-6,-12,11]]}")) + , test "8" (\_ -> equal (Ok (Sum05B (Just [1,-4,-1,11,-4]))) (Json.Decode.decodeString (jsonDecSum05 (Json.Decode.list Json.Decode.int)) "{\"Sum05B\":[1,-4,-1,11,-4]}")) + , test "9" (\_ -> equal (Ok (Sum05A [-1,-6,0,12,-2,6])) (Json.Decode.decodeString (jsonDecSum05 (Json.Decode.list Json.Decode.int)) "{\"Sum05A\":[-1,-6,0,12,-2,6]}")) + , test "10" (\_ -> equal (Ok (Sum05B (Just [12,-13,-8,15,6,-17,-5,3,-11,-14]))) (Json.Decode.decodeString (jsonDecSum05 (Json.Decode.list Json.Decode.int)) "{\"Sum05B\":[12,-13,-8,15,6,-17,-5,3,-11,-14]}")) + , test "11" (\_ -> equal (Ok (Sum05A [-5,-8,-12,-6,1,20,6,18,-12,-14,-7,-7,5,14,-12,-14,-9])) (Json.Decode.decodeString (jsonDecSum05 (Json.Decode.list Json.Decode.int)) "{\"Sum05A\":[-5,-8,-12,-6,1,20,6,18,-12,-14,-7,-7,5,14,-12,-14,-9]}")) ] sumDecode06 : Test sumDecode06 = describe "Sum decode 06" - [ test "1" (\_ -> equal (Ok (Sum06D {foo = []})) (Json.Decode.decodeString (jsonDecSum06 (Json.Decode.list Json.Decode.int)) "{\"Sum06D\":{\"foo\":[]}}")) - , test "2" (\_ -> equal (Ok (Sum06E {bar = 1, baz = 2})) (Json.Decode.decodeString (jsonDecSum06 (Json.Decode.list Json.Decode.int)) "{\"Sum06E\":{\"bar\":1,\"baz\":2}}")) - , test "3" (\_ -> equal (Ok (Sum06B (Just [-1]))) (Json.Decode.decodeString (jsonDecSum06 (Json.Decode.list Json.Decode.int)) "{\"Sum06B\":[-1]}")) - , test "4" (\_ -> equal (Ok (Sum06B (Just [5,5,3]))) (Json.Decode.decodeString (jsonDecSum06 (Json.Decode.list Json.Decode.int)) "{\"Sum06B\":[5,5,3]}")) - , test "5" (\_ -> equal (Ok (Sum06D {foo = [5,-4]})) (Json.Decode.decodeString (jsonDecSum06 (Json.Decode.list Json.Decode.int)) "{\"Sum06D\":{\"foo\":[5,-4]}}")) - , test "6" (\_ -> equal (Ok (Sum06B (Just [3,3]))) (Json.Decode.decodeString (jsonDecSum06 (Json.Decode.list Json.Decode.int)) "{\"Sum06B\":[3,3]}")) - , test "7" (\_ -> equal (Ok (Sum06A [-12,-3,0,-7,-4,0,-9,0])) (Json.Decode.decodeString (jsonDecSum06 (Json.Decode.list Json.Decode.int)) "{\"Sum06A\":[-12,-3,0,-7,-4,0,-9,0]}")) - , test "8" (\_ -> equal (Ok (Sum06D {foo = [0,0,-6,7,-14,-12,-10,1,3,-14,-6,-10]})) (Json.Decode.decodeString (jsonDecSum06 (Json.Decode.list Json.Decode.int)) "{\"Sum06D\":{\"foo\":[0,0,-6,7,-14,-12,-10,1,3,-14,-6,-10]}}")) - , test "9" (\_ -> equal (Ok (Sum06B (Just [14,6,5,-14,5,-4,16,3,-11,1,-5,-7,12,4,-1,-6]))) (Json.Decode.decodeString (jsonDecSum06 (Json.Decode.list Json.Decode.int)) "{\"Sum06B\":[14,6,5,-14,5,-4,16,3,-11,1,-5,-7,12,4,-1,-6]}")) - , test "10" (\_ -> equal (Ok (Sum06C [16,7,17,18,-15,15,-15,-4,1,-10,-8,11,-7,-8] [11,9,-13,-3,-17,12])) (Json.Decode.decodeString (jsonDecSum06 (Json.Decode.list Json.Decode.int)) "{\"Sum06C\":[[16,7,17,18,-15,15,-15,-4,1,-10,-8,11,-7,-8],[11,9,-13,-3,-17,12]]}")) - , test "11" (\_ -> equal (Ok (Sum06C [-14,20,-11,18,5,1,-12,-8,-15,-9,-5] [0,7])) (Json.Decode.decodeString (jsonDecSum06 (Json.Decode.list Json.Decode.int)) "{\"Sum06C\":[[-14,20,-11,18,5,1,-12,-8,-15,-9,-5],[0,7]]}")) + [ test "1" (\_ -> equal (Ok (Sum06A [])) (Json.Decode.decodeString (jsonDecSum06 (Json.Decode.list Json.Decode.int)) "{\"Sum06A\":[]}")) + , test "2" (\_ -> equal (Ok (Sum06D {foo = [-1,0]})) (Json.Decode.decodeString (jsonDecSum06 (Json.Decode.list Json.Decode.int)) "{\"Sum06D\":{\"foo\":[-1,0]}}")) + , test "3" (\_ -> equal (Ok (Sum06C [2,-4,3,0] [])) (Json.Decode.decodeString (jsonDecSum06 (Json.Decode.list Json.Decode.int)) "{\"Sum06C\":[[2,-4,3,0],[]]}")) + , test "4" (\_ -> equal (Ok (Sum06A [4,2,-5,2])) (Json.Decode.decodeString (jsonDecSum06 (Json.Decode.list Json.Decode.int)) "{\"Sum06A\":[4,2,-5,2]}")) + , test "5" (\_ -> equal (Ok (Sum06E {bar = -8, baz = -2})) (Json.Decode.decodeString (jsonDecSum06 (Json.Decode.list Json.Decode.int)) "{\"Sum06E\":{\"bar\":-8,\"baz\":-2}}")) + , test "6" (\_ -> equal (Ok (Sum06A [5,2,5])) (Json.Decode.decodeString (jsonDecSum06 (Json.Decode.list Json.Decode.int)) "{\"Sum06A\":[5,2,5]}")) + , test "7" (\_ -> equal (Ok (Sum06C [-9,-10,7,-9] [3,-9,-7,-7,-6,2,-3,10])) (Json.Decode.decodeString (jsonDecSum06 (Json.Decode.list Json.Decode.int)) "{\"Sum06C\":[[-9,-10,7,-9],[3,-9,-7,-7,-6,2,-3,10]]}")) + , test "8" (\_ -> equal (Ok (Sum06E {bar = -8, baz = -4})) (Json.Decode.decodeString (jsonDecSum06 (Json.Decode.list Json.Decode.int)) "{\"Sum06E\":{\"bar\":-8,\"baz\":-4}}")) + , test "9" (\_ -> equal (Ok (Sum06B (Just [-14,1,14,3,-8,13,-5,12,6,-6,9,11]))) (Json.Decode.decodeString (jsonDecSum06 (Json.Decode.list Json.Decode.int)) "{\"Sum06B\":[-14,1,14,3,-8,13,-5,12,6,-6,9,11]}")) + , test "10" (\_ -> equal (Ok (Sum06E {bar = -8, baz = 11})) (Json.Decode.decodeString (jsonDecSum06 (Json.Decode.list Json.Decode.int)) "{\"Sum06E\":{\"bar\":-8,\"baz\":11}}")) + , test "11" (\_ -> equal (Ok (Sum06C [16,-4,-14,-18,10,3,8,-12,-19,-7,8,5,-18,20] [-11,-17,4,2])) (Json.Decode.decodeString (jsonDecSum06 (Json.Decode.list Json.Decode.int)) "{\"Sum06C\":[[16,-4,-14,-18,10,3,8,-12,-19,-7,8,5,-18,20],[-11,-17,4,2]]}")) ] sumDecode07 : Test sumDecode07 = describe "Sum decode 07" - [ test "1" (\_ -> equal (Ok (Sum07A [])) (Json.Decode.decodeString (jsonDecSum07 (Json.Decode.list Json.Decode.int)) "{\"Sum07A\":[]}")) - , test "2" (\_ -> equal (Ok (Sum07E {bar = -2, baz = 2})) (Json.Decode.decodeString (jsonDecSum07 (Json.Decode.list Json.Decode.int)) "{\"Sum07E\":{\"bar\":-2,\"baz\":2}}")) - , test "3" (\_ -> equal (Ok (Sum07D {foo = [-4,-2]})) (Json.Decode.decodeString (jsonDecSum07 (Json.Decode.list Json.Decode.int)) "{\"Sum07D\":{\"foo\":[-4,-2]}}")) - , test "4" (\_ -> equal (Ok (Sum07C [] [1])) (Json.Decode.decodeString (jsonDecSum07 (Json.Decode.list Json.Decode.int)) "{\"Sum07C\":[[],[1]]}")) - , test "5" (\_ -> equal (Ok (Sum07D {foo = [-6,7]})) (Json.Decode.decodeString (jsonDecSum07 (Json.Decode.list Json.Decode.int)) "{\"Sum07D\":{\"foo\":[-6,7]}}")) - , test "6" (\_ -> equal (Ok (Sum07A [9,8,-6,-3,-8])) (Json.Decode.decodeString (jsonDecSum07 (Json.Decode.list Json.Decode.int)) "{\"Sum07A\":[9,8,-6,-3,-8]}")) - , test "7" (\_ -> equal (Ok (Sum07C [-12,-4,-12,0,10,0,7] [-7,-3,7,-8,6,-9,1,4])) (Json.Decode.decodeString (jsonDecSum07 (Json.Decode.list Json.Decode.int)) "{\"Sum07C\":[[-12,-4,-12,0,10,0,7],[-7,-3,7,-8,6,-9,1,4]]}")) - , test "8" (\_ -> equal (Ok (Sum07C [8,9,-7,2,12,12,-9,0,7,-6,4] [-11,11,-9,-11,-2,-10,-9,-14,-3])) (Json.Decode.decodeString (jsonDecSum07 (Json.Decode.list Json.Decode.int)) "{\"Sum07C\":[[8,9,-7,2,12,12,-9,0,7,-6,4],[-11,11,-9,-11,-2,-10,-9,-14,-3]]}")) - , test "9" (\_ -> equal (Ok (Sum07A [-12,12,-1,-16])) (Json.Decode.decodeString (jsonDecSum07 (Json.Decode.list Json.Decode.int)) "{\"Sum07A\":[-12,12,-1,-16]}")) - , test "10" (\_ -> equal (Ok (Sum07D {foo = [15,2,6,14,1,-17,-7,6,8]})) (Json.Decode.decodeString (jsonDecSum07 (Json.Decode.list Json.Decode.int)) "{\"Sum07D\":{\"foo\":[15,2,6,14,1,-17,-7,6,8]}}")) - , test "11" (\_ -> equal (Ok (Sum07B (Just [-10,14,-19,-8,-2,17]))) (Json.Decode.decodeString (jsonDecSum07 (Json.Decode.list Json.Decode.int)) "{\"Sum07B\":[-10,14,-19,-8,-2,17]}")) + [ test "1" (\_ -> equal (Ok (Sum07D {foo = []})) (Json.Decode.decodeString (jsonDecSum07 (Json.Decode.list Json.Decode.int)) "{\"Sum07D\":{\"foo\":[]}}")) + , test "2" (\_ -> equal (Ok (Sum07A [])) (Json.Decode.decodeString (jsonDecSum07 (Json.Decode.list Json.Decode.int)) "{\"Sum07A\":[]}")) + , test "3" (\_ -> equal (Ok (Sum07D {foo = [-1,4]})) (Json.Decode.decodeString (jsonDecSum07 (Json.Decode.list Json.Decode.int)) "{\"Sum07D\":{\"foo\":[-1,4]}}")) + , test "4" (\_ -> equal (Ok (Sum07D {foo = [-2]})) (Json.Decode.decodeString (jsonDecSum07 (Json.Decode.list Json.Decode.int)) "{\"Sum07D\":{\"foo\":[-2]}}")) + , test "5" (\_ -> equal (Ok (Sum07D {foo = [5]})) (Json.Decode.decodeString (jsonDecSum07 (Json.Decode.list Json.Decode.int)) "{\"Sum07D\":{\"foo\":[5]}}")) + , test "6" (\_ -> equal (Ok (Sum07A [1,-1,2,-5,-2,4,1,-6,-7])) (Json.Decode.decodeString (jsonDecSum07 (Json.Decode.list Json.Decode.int)) "{\"Sum07A\":[1,-1,2,-5,-2,4,1,-6,-7]}")) + , test "7" (\_ -> equal (Ok (Sum07C [7,5,-7,1,-8,-11,-4,-4,-5,9] [3,-3,-3])) (Json.Decode.decodeString (jsonDecSum07 (Json.Decode.list Json.Decode.int)) "{\"Sum07C\":[[7,5,-7,1,-8,-11,-4,-4,-5,9],[3,-3,-3]]}")) + , test "8" (\_ -> equal (Ok (Sum07A [-14,0,-10,-8,0,12,-5,14,-14])) (Json.Decode.decodeString (jsonDecSum07 (Json.Decode.list Json.Decode.int)) "{\"Sum07A\":[-14,0,-10,-8,0,12,-5,14,-14]}")) + , test "9" (\_ -> equal (Ok (Sum07C [-1,13,-13,-11] [3,5,-16,13,14,-9,-3,-13,-10,-4,-8,-12,-14,-9])) (Json.Decode.decodeString (jsonDecSum07 (Json.Decode.list Json.Decode.int)) "{\"Sum07C\":[[-1,13,-13,-11],[3,5,-16,13,14,-9,-3,-13,-10,-4,-8,-12,-14,-9]]}")) + , test "10" (\_ -> equal (Ok (Sum07C [-9,18,-8,-1,3,-8,-2,-17,-12,1,-2,-9,-9,-17,-3] [1,-4,2,-4,0,8,6,4])) (Json.Decode.decodeString (jsonDecSum07 (Json.Decode.list Json.Decode.int)) "{\"Sum07C\":[[-9,18,-8,-1,3,-8,-2,-17,-12,1,-2,-9,-9,-17,-3],[1,-4,2,-4,0,8,6,4]]}")) + , test "11" (\_ -> equal (Ok (Sum07A [-18,10,1,-8,9,-14,6,6,2,19,8,-19,17,-17,4,7,19,14])) (Json.Decode.decodeString (jsonDecSum07 (Json.Decode.list Json.Decode.int)) "{\"Sum07A\":[-18,10,1,-8,9,-14,6,6,2,19,8,-19,17,-17,4,7,19,14]}")) ] sumDecode08 : Test sumDecode08 = describe "Sum decode 08" [ test "1" (\_ -> equal (Ok (Sum08E {bar = 0, baz = 0})) (Json.Decode.decodeString (jsonDecSum08 (Json.Decode.list Json.Decode.int)) "{\"Sum08E\":{\"bar\":0,\"baz\":0}}")) - , test "2" (\_ -> equal (Ok (Sum08E {bar = -2, baz = 0})) (Json.Decode.decodeString (jsonDecSum08 (Json.Decode.list Json.Decode.int)) "{\"Sum08E\":{\"bar\":-2,\"baz\":0}}")) - , test "3" (\_ -> equal (Ok (Sum08D {foo = [-3,-4]})) (Json.Decode.decodeString (jsonDecSum08 (Json.Decode.list Json.Decode.int)) "{\"Sum08D\":{\"foo\":[-3,-4]}}")) - , test "4" (\_ -> equal (Ok (Sum08D {foo = [5,-3]})) (Json.Decode.decodeString (jsonDecSum08 (Json.Decode.list Json.Decode.int)) "{\"Sum08D\":{\"foo\":[5,-3]}}")) - , test "5" (\_ -> equal (Ok (Sum08E {bar = 3, baz = -1})) (Json.Decode.decodeString (jsonDecSum08 (Json.Decode.list Json.Decode.int)) "{\"Sum08E\":{\"bar\":3,\"baz\":-1}}")) - , test "6" (\_ -> equal (Ok (Sum08A [6,-9,5,6,3,-2])) (Json.Decode.decodeString (jsonDecSum08 (Json.Decode.list Json.Decode.int)) "{\"Sum08A\":[6,-9,5,6,3,-2]}")) - , test "7" (\_ -> equal (Ok (Sum08C [-5,9,12] [8,6,-3])) (Json.Decode.decodeString (jsonDecSum08 (Json.Decode.list Json.Decode.int)) "{\"Sum08C\":[[-5,9,12],[8,6,-3]]}")) - , test "8" (\_ -> equal (Ok (Sum08C [] [2,1,-12,3,7,2])) (Json.Decode.decodeString (jsonDecSum08 (Json.Decode.list Json.Decode.int)) "{\"Sum08C\":[[],[2,1,-12,3,7,2]]}")) - , test "9" (\_ -> equal (Ok (Sum08A [-5,-2,-14,14,2,-9,-15,-10,5])) (Json.Decode.decodeString (jsonDecSum08 (Json.Decode.list Json.Decode.int)) "{\"Sum08A\":[-5,-2,-14,14,2,-9,-15,-10,5]}")) - , test "10" (\_ -> equal (Ok (Sum08C [14,-5,14,18,4,14,-6,-1,-11,-10] [-17,0,12,10,-5,-18,17])) (Json.Decode.decodeString (jsonDecSum08 (Json.Decode.list Json.Decode.int)) "{\"Sum08C\":[[14,-5,14,18,4,14,-6,-1,-11,-10],[-17,0,12,10,-5,-18,17]]}")) - , test "11" (\_ -> equal (Ok (Sum08C [-14,-9,-18,2] [18,-12,0])) (Json.Decode.decodeString (jsonDecSum08 (Json.Decode.list Json.Decode.int)) "{\"Sum08C\":[[-14,-9,-18,2],[18,-12,0]]}")) + , test "2" (\_ -> equal (Ok (Sum08D {foo = [0,-1]})) (Json.Decode.decodeString (jsonDecSum08 (Json.Decode.list Json.Decode.int)) "{\"Sum08D\":{\"foo\":[0,-1]}}")) + , test "3" (\_ -> equal (Ok (Sum08E {bar = -2, baz = 2})) (Json.Decode.decodeString (jsonDecSum08 (Json.Decode.list Json.Decode.int)) "{\"Sum08E\":{\"bar\":-2,\"baz\":2}}")) + , test "4" (\_ -> equal (Ok (Sum08D {foo = [-4,-6,4,-1,1]})) (Json.Decode.decodeString (jsonDecSum08 (Json.Decode.list Json.Decode.int)) "{\"Sum08D\":{\"foo\":[-4,-6,4,-1,1]}}")) + , test "5" (\_ -> equal (Ok (Sum08A [-2,2,-2,-7,5])) (Json.Decode.decodeString (jsonDecSum08 (Json.Decode.list Json.Decode.int)) "{\"Sum08A\":[-2,2,-2,-7,5]}")) + , test "6" (\_ -> equal (Ok (Sum08A [1])) (Json.Decode.decodeString (jsonDecSum08 (Json.Decode.list Json.Decode.int)) "{\"Sum08A\":[1]}")) + , test "7" (\_ -> equal (Ok (Sum08E {bar = 4, baz = -4})) (Json.Decode.decodeString (jsonDecSum08 (Json.Decode.list Json.Decode.int)) "{\"Sum08E\":{\"bar\":4,\"baz\":-4}}")) + , test "8" (\_ -> equal (Ok (Sum08E {bar = -14, baz = 8})) (Json.Decode.decodeString (jsonDecSum08 (Json.Decode.list Json.Decode.int)) "{\"Sum08E\":{\"bar\":-14,\"baz\":8}}")) + , test "9" (\_ -> equal (Ok (Sum08B (Just [-5,-9,-11,9,1,11,6,-1]))) (Json.Decode.decodeString (jsonDecSum08 (Json.Decode.list Json.Decode.int)) "{\"Sum08B\":[-5,-9,-11,9,1,11,6,-1]}")) + , test "10" (\_ -> equal (Ok (Sum08C [-4,-11,11,-18,-12,-5,13,1,-12,-18,2,14,10,-13,6,5,-17] [6,7,-16,7,-15,-9,-18,16,-9,-5,-15,7,17,-6])) (Json.Decode.decodeString (jsonDecSum08 (Json.Decode.list Json.Decode.int)) "{\"Sum08C\":[[-4,-11,11,-18,-12,-5,13,1,-12,-18,2,14,10,-13,6,5,-17],[6,7,-16,7,-15,-9,-18,16,-9,-5,-15,7,17,-6]]}")) + , test "11" (\_ -> equal (Ok (Sum08E {bar = -18, baz = -4})) (Json.Decode.decodeString (jsonDecSum08 (Json.Decode.list Json.Decode.int)) "{\"Sum08E\":{\"bar\":-18,\"baz\":-4}}")) ] sumDecode09 : Test sumDecode09 = describe "Sum decode 09" - [ test "1" (\_ -> equal (Ok (Sum09E {bar = 0, baz = 0})) (Json.Decode.decodeString (jsonDecSum09 (Json.Decode.list Json.Decode.int)) "[\"Sum09E\",{\"bar\":0,\"baz\":0}]")) - , test "2" (\_ -> equal (Ok (Sum09C [2] [])) (Json.Decode.decodeString (jsonDecSum09 (Json.Decode.list Json.Decode.int)) "[\"Sum09C\",[[2],[]]]")) - , test "3" (\_ -> equal (Ok (Sum09E {bar = -3, baz = -2})) (Json.Decode.decodeString (jsonDecSum09 (Json.Decode.list Json.Decode.int)) "[\"Sum09E\",{\"bar\":-3,\"baz\":-2}]")) - , test "4" (\_ -> equal (Ok (Sum09C [-2,1,-2,-3,2] [1,-2,0,-2])) (Json.Decode.decodeString (jsonDecSum09 (Json.Decode.list Json.Decode.int)) "[\"Sum09C\",[[-2,1,-2,-3,2],[1,-2,0,-2]]]")) - , test "5" (\_ -> equal (Ok (Sum09A [3,-7,-2,0,3])) (Json.Decode.decodeString (jsonDecSum09 (Json.Decode.list Json.Decode.int)) "[\"Sum09A\",[3,-7,-2,0,3]]")) - , test "6" (\_ -> equal (Ok (Sum09D {foo = [-2,5,-9,7,0,10,7,10,-1]})) (Json.Decode.decodeString (jsonDecSum09 (Json.Decode.list Json.Decode.int)) "[\"Sum09D\",{\"foo\":[-2,5,-9,7,0,10,7,10,-1]}]")) - , test "7" (\_ -> equal (Ok (Sum09C [-10,-7,-7,-11,-9,8,-6] [12])) (Json.Decode.decodeString (jsonDecSum09 (Json.Decode.list Json.Decode.int)) "[\"Sum09C\",[[-10,-7,-7,-11,-9,8,-6],[12]]]")) - , test "8" (\_ -> equal (Ok (Sum09B (Just [8,10,-5,7,-3,-2,-8,-1,-11,14]))) (Json.Decode.decodeString (jsonDecSum09 (Json.Decode.list Json.Decode.int)) "[\"Sum09B\",[8,10,-5,7,-3,-2,-8,-1,-11,14]]")) - , test "9" (\_ -> equal (Ok (Sum09E {bar = -12, baz = 3})) (Json.Decode.decodeString (jsonDecSum09 (Json.Decode.list Json.Decode.int)) "[\"Sum09E\",{\"bar\":-12,\"baz\":3}]")) - , test "10" (\_ -> equal (Ok (Sum09B (Just [14,5,-18,-7,-18,-16,2,8,4,7,-8,5,10,10]))) (Json.Decode.decodeString (jsonDecSum09 (Json.Decode.list Json.Decode.int)) "[\"Sum09B\",[14,5,-18,-7,-18,-16,2,8,4,7,-8,5,10,10]]")) - , test "11" (\_ -> equal (Ok (Sum09E {bar = -15, baz = 18})) (Json.Decode.decodeString (jsonDecSum09 (Json.Decode.list Json.Decode.int)) "[\"Sum09E\",{\"bar\":-15,\"baz\":18}]")) + [ test "1" (\_ -> equal (Ok (Sum09D {foo = []})) (Json.Decode.decodeString (jsonDecSum09 (Json.Decode.list Json.Decode.int)) "[\"Sum09D\",{\"foo\":[]}]")) + , test "2" (\_ -> equal (Ok (Sum09B (Just []))) (Json.Decode.decodeString (jsonDecSum09 (Json.Decode.list Json.Decode.int)) "[\"Sum09B\",[]]")) + , test "3" (\_ -> equal (Ok (Sum09B (Just [4]))) (Json.Decode.decodeString (jsonDecSum09 (Json.Decode.list Json.Decode.int)) "[\"Sum09B\",[4]]")) + , test "4" (\_ -> equal (Ok (Sum09C [-6,2,1,-6] [-4,-1])) (Json.Decode.decodeString (jsonDecSum09 (Json.Decode.list Json.Decode.int)) "[\"Sum09C\",[[-6,2,1,-6],[-4,-1]]]")) + , test "5" (\_ -> equal (Ok (Sum09D {foo = [-6,-7,-7,2,-3,-6]})) (Json.Decode.decodeString (jsonDecSum09 (Json.Decode.list Json.Decode.int)) "[\"Sum09D\",{\"foo\":[-6,-7,-7,2,-3,-6]}]")) + , test "6" (\_ -> equal (Ok (Sum09C [10,-7,0,-7,-3,-1,7,3,4,-8] [])) (Json.Decode.decodeString (jsonDecSum09 (Json.Decode.list Json.Decode.int)) "[\"Sum09C\",[[10,-7,0,-7,-3,-1,7,3,4,-8],[]]]")) + , test "7" (\_ -> equal (Ok (Sum09E {bar = 11, baz = -11})) (Json.Decode.decodeString (jsonDecSum09 (Json.Decode.list Json.Decode.int)) "[\"Sum09E\",{\"bar\":11,\"baz\":-11}]")) + , test "8" (\_ -> equal (Ok (Sum09B (Just [3,1,-2,13,-11,8,1,-11]))) (Json.Decode.decodeString (jsonDecSum09 (Json.Decode.list Json.Decode.int)) "[\"Sum09B\",[3,1,-2,13,-11,8,1,-11]]")) + , test "9" (\_ -> equal (Ok (Sum09C [7,-15,13,9,13,-4,-6,-2,12,-16,15,16,-10,-3,1,-6] [15,-11,-2,1,-14,2,-4,-15,16,-5,1,-1,6,-2])) (Json.Decode.decodeString (jsonDecSum09 (Json.Decode.list Json.Decode.int)) "[\"Sum09C\",[[7,-15,13,9,13,-4,-6,-2,12,-16,15,16,-10,-3,1,-6],[15,-11,-2,1,-14,2,-4,-15,16,-5,1,-1,6,-2]]]")) + , test "10" (\_ -> equal (Ok (Sum09E {bar = 0, baz = -6})) (Json.Decode.decodeString (jsonDecSum09 (Json.Decode.list Json.Decode.int)) "[\"Sum09E\",{\"bar\":0,\"baz\":-6}]")) + , test "11" (\_ -> equal (Ok (Sum09A [6,3,-2,-12,1,-4,-18,-16,7,-9,3,11])) (Json.Decode.decodeString (jsonDecSum09 (Json.Decode.list Json.Decode.int)) "[\"Sum09A\",[6,3,-2,-12,1,-4,-18,-16,7,-9,3,11]]")) ] sumDecode10 : Test sumDecode10 = describe "Sum decode 10" - [ test "1" (\_ -> equal (Ok (Sum10C [] [])) (Json.Decode.decodeString (jsonDecSum10 (Json.Decode.list Json.Decode.int)) "[\"Sum10C\",[[],[]]]")) - , test "2" (\_ -> equal (Ok (Sum10D {foo = [1]})) (Json.Decode.decodeString (jsonDecSum10 (Json.Decode.list Json.Decode.int)) "[\"Sum10D\",{\"foo\":[1]}]")) - , test "3" (\_ -> equal (Ok (Sum10E {bar = 0, baz = -2})) (Json.Decode.decodeString (jsonDecSum10 (Json.Decode.list Json.Decode.int)) "[\"Sum10E\",{\"bar\":0,\"baz\":-2}]")) - , test "4" (\_ -> equal (Ok (Sum10E {bar = -1, baz = 2})) (Json.Decode.decodeString (jsonDecSum10 (Json.Decode.list Json.Decode.int)) "[\"Sum10E\",{\"bar\":-1,\"baz\":2}]")) - , test "5" (\_ -> equal (Ok (Sum10D {foo = [5,-3,7,0,-2,-4]})) (Json.Decode.decodeString (jsonDecSum10 (Json.Decode.list Json.Decode.int)) "[\"Sum10D\",{\"foo\":[5,-3,7,0,-2,-4]}]")) - , test "6" (\_ -> equal (Ok (Sum10D {foo = [-8,-6,7,0,5]})) (Json.Decode.decodeString (jsonDecSum10 (Json.Decode.list Json.Decode.int)) "[\"Sum10D\",{\"foo\":[-8,-6,7,0,5]}]")) - , test "7" (\_ -> equal (Ok (Sum10B (Just [-1,-7,0,6,7,2,-12,12,-8,-12]))) (Json.Decode.decodeString (jsonDecSum10 (Json.Decode.list Json.Decode.int)) "[\"Sum10B\",[-1,-7,0,6,7,2,-12,12,-8,-12]]")) - , test "8" (\_ -> equal (Ok (Sum10A [-12,0,6,12,-14,14,-6,8,10,14,7])) (Json.Decode.decodeString (jsonDecSum10 (Json.Decode.list Json.Decode.int)) "[\"Sum10A\",[-12,0,6,12,-14,14,-6,8,10,14,7]]")) - , test "9" (\_ -> equal (Ok (Sum10A [])) (Json.Decode.decodeString (jsonDecSum10 (Json.Decode.list Json.Decode.int)) "[\"Sum10A\",[]]")) - , test "10" (\_ -> equal (Ok (Sum10E {bar = 16, baz = 14})) (Json.Decode.decodeString (jsonDecSum10 (Json.Decode.list Json.Decode.int)) "[\"Sum10E\",{\"bar\":16,\"baz\":14}]")) - , test "11" (\_ -> equal (Ok (Sum10A [10,-14,6,9,-15,7,5,13,-1,10,-10,-6,-6,5])) (Json.Decode.decodeString (jsonDecSum10 (Json.Decode.list Json.Decode.int)) "[\"Sum10A\",[10,-14,6,9,-15,7,5,13,-1,10,-10,-6,-6,5]]")) + [ test "1" (\_ -> equal (Ok (Sum10D {foo = []})) (Json.Decode.decodeString (jsonDecSum10 (Json.Decode.list Json.Decode.int)) "[\"Sum10D\",{\"foo\":[]}]")) + , test "2" (\_ -> equal (Ok (Sum10C [] [])) (Json.Decode.decodeString (jsonDecSum10 (Json.Decode.list Json.Decode.int)) "[\"Sum10C\",[[],[]]]")) + , test "3" (\_ -> equal (Ok (Sum10B (Just [-1]))) (Json.Decode.decodeString (jsonDecSum10 (Json.Decode.list Json.Decode.int)) "[\"Sum10B\",[-1]]")) + , test "4" (\_ -> equal (Ok (Sum10A [-6,4,-3])) (Json.Decode.decodeString (jsonDecSum10 (Json.Decode.list Json.Decode.int)) "[\"Sum10A\",[-6,4,-3]]")) + , test "5" (\_ -> equal (Ok (Sum10A [3,3,6,0,6,6,7])) (Json.Decode.decodeString (jsonDecSum10 (Json.Decode.list Json.Decode.int)) "[\"Sum10A\",[3,3,6,0,6,6,7]]")) + , test "6" (\_ -> equal (Ok (Sum10D {foo = [-6]})) (Json.Decode.decodeString (jsonDecSum10 (Json.Decode.list Json.Decode.int)) "[\"Sum10D\",{\"foo\":[-6]}]")) + , test "7" (\_ -> equal (Ok (Sum10D {foo = [2,2,2,10,6,-4,12,-6,-8]})) (Json.Decode.decodeString (jsonDecSum10 (Json.Decode.list Json.Decode.int)) "[\"Sum10D\",{\"foo\":[2,2,2,10,6,-4,12,-6,-8]}]")) + , test "8" (\_ -> equal (Ok (Sum10D {foo = [7,1]})) (Json.Decode.decodeString (jsonDecSum10 (Json.Decode.list Json.Decode.int)) "[\"Sum10D\",{\"foo\":[7,1]}]")) + , test "9" (\_ -> equal (Ok (Sum10D {foo = [9,10,11,-12,-1,-16,-3,10,-7,-16,-12,10]})) (Json.Decode.decodeString (jsonDecSum10 (Json.Decode.list Json.Decode.int)) "[\"Sum10D\",{\"foo\":[9,10,11,-12,-1,-16,-3,10,-7,-16,-12,10]}]")) + , test "10" (\_ -> equal (Ok (Sum10A [-17,11,-9,5])) (Json.Decode.decodeString (jsonDecSum10 (Json.Decode.list Json.Decode.int)) "[\"Sum10A\",[-17,11,-9,5]]")) + , test "11" (\_ -> equal (Ok (Sum10E {bar = 5, baz = -2})) (Json.Decode.decodeString (jsonDecSum10 (Json.Decode.list Json.Decode.int)) "[\"Sum10E\",{\"bar\":5,\"baz\":-2}]")) ] sumDecode11 : Test sumDecode11 = describe "Sum decode 11" [ test "1" (\_ -> equal (Ok (Sum11C [] [])) (Json.Decode.decodeString (jsonDecSum11 (Json.Decode.list Json.Decode.int)) "[\"Sum11C\",[[],[]]]")) - , test "2" (\_ -> equal (Ok (Sum11A [1,0])) (Json.Decode.decodeString (jsonDecSum11 (Json.Decode.list Json.Decode.int)) "[\"Sum11A\",[1,0]]")) - , test "3" (\_ -> equal (Ok (Sum11B (Just [3,3,2]))) (Json.Decode.decodeString (jsonDecSum11 (Json.Decode.list Json.Decode.int)) "[\"Sum11B\",[3,3,2]]")) - , test "4" (\_ -> equal (Ok (Sum11E {bar = 4, baz = -1})) (Json.Decode.decodeString (jsonDecSum11 (Json.Decode.list Json.Decode.int)) "[\"Sum11E\",{\"bar\":4,\"baz\":-1}]")) - , test "5" (\_ -> equal (Ok (Sum11A [3,1,1,3,-5,4,5,-7])) (Json.Decode.decodeString (jsonDecSum11 (Json.Decode.list Json.Decode.int)) "[\"Sum11A\",[3,1,1,3,-5,4,5,-7]]")) - , test "6" (\_ -> equal (Ok (Sum11D {foo = [2,-8,1,-5,-1,-10]})) (Json.Decode.decodeString (jsonDecSum11 (Json.Decode.list Json.Decode.int)) "[\"Sum11D\",{\"foo\":[2,-8,1,-5,-1,-10]}]")) - , test "7" (\_ -> equal (Ok (Sum11E {bar = 0, baz = 12})) (Json.Decode.decodeString (jsonDecSum11 (Json.Decode.list Json.Decode.int)) "[\"Sum11E\",{\"bar\":0,\"baz\":12}]")) - , test "8" (\_ -> equal (Ok (Sum11E {bar = -10, baz = -6})) (Json.Decode.decodeString (jsonDecSum11 (Json.Decode.list Json.Decode.int)) "[\"Sum11E\",{\"bar\":-10,\"baz\":-6}]")) - , test "9" (\_ -> equal (Ok (Sum11A [4])) (Json.Decode.decodeString (jsonDecSum11 (Json.Decode.list Json.Decode.int)) "[\"Sum11A\",[4]]")) - , test "10" (\_ -> equal (Ok (Sum11C [] [16,8,-7,16,18,-6,7,1,-8,15,-6,1,-1])) (Json.Decode.decodeString (jsonDecSum11 (Json.Decode.list Json.Decode.int)) "[\"Sum11C\",[[],[16,8,-7,16,18,-6,7,1,-8,15,-6,1,-1]]]")) - , test "11" (\_ -> equal (Ok (Sum11D {foo = [-16,6,14,2,-11,8,13,13,-13,-15]})) (Json.Decode.decodeString (jsonDecSum11 (Json.Decode.list Json.Decode.int)) "[\"Sum11D\",{\"foo\":[-16,6,14,2,-11,8,13,13,-13,-15]}]")) + , test "2" (\_ -> equal (Ok (Sum11E {bar = -2, baz = -2})) (Json.Decode.decodeString (jsonDecSum11 (Json.Decode.list Json.Decode.int)) "[\"Sum11E\",{\"bar\":-2,\"baz\":-2}]")) + , test "3" (\_ -> equal (Ok (Sum11B (Just [1,-4]))) (Json.Decode.decodeString (jsonDecSum11 (Json.Decode.list Json.Decode.int)) "[\"Sum11B\",[1,-4]]")) + , test "4" (\_ -> equal (Ok (Sum11D {foo = [1,-1,-3,-4,3]})) (Json.Decode.decodeString (jsonDecSum11 (Json.Decode.list Json.Decode.int)) "[\"Sum11D\",{\"foo\":[1,-1,-3,-4,3]}]")) + , test "5" (\_ -> equal (Ok (Sum11A [5,-8,-4,-7,1,7,0,-7])) (Json.Decode.decodeString (jsonDecSum11 (Json.Decode.list Json.Decode.int)) "[\"Sum11A\",[5,-8,-4,-7,1,7,0,-7]]")) + , test "6" (\_ -> equal (Ok (Sum11B (Just [-6,-9,6,6,0]))) (Json.Decode.decodeString (jsonDecSum11 (Json.Decode.list Json.Decode.int)) "[\"Sum11B\",[-6,-9,6,6,0]]")) + , test "7" (\_ -> equal (Ok (Sum11B (Just [-5,-7,9,-7,-3,-4,-9,0,3]))) (Json.Decode.decodeString (jsonDecSum11 (Json.Decode.list Json.Decode.int)) "[\"Sum11B\",[-5,-7,9,-7,-3,-4,-9,0,3]]")) + , test "8" (\_ -> equal (Ok (Sum11C [-2,-3,-1,9] [-11])) (Json.Decode.decodeString (jsonDecSum11 (Json.Decode.list Json.Decode.int)) "[\"Sum11C\",[[-2,-3,-1,9],[-11]]]")) + , test "9" (\_ -> equal (Ok (Sum11B (Just [-16,-10,9,15,13,-16,-16,12,-13,-13]))) (Json.Decode.decodeString (jsonDecSum11 (Json.Decode.list Json.Decode.int)) "[\"Sum11B\",[-16,-10,9,15,13,-16,-16,12,-13,-13]]")) + , test "10" (\_ -> equal (Ok (Sum11E {bar = 3, baz = -18})) (Json.Decode.decodeString (jsonDecSum11 (Json.Decode.list Json.Decode.int)) "[\"Sum11E\",{\"bar\":3,\"baz\":-18}]")) + , test "11" (\_ -> equal (Ok (Sum11E {bar = 9, baz = -9})) (Json.Decode.decodeString (jsonDecSum11 (Json.Decode.list Json.Decode.int)) "[\"Sum11E\",{\"bar\":9,\"baz\":-9}]")) ] sumDecode12 : Test sumDecode12 = describe "Sum decode 12" [ test "1" (\_ -> equal (Ok (Sum12B (Just []))) (Json.Decode.decodeString (jsonDecSum12 (Json.Decode.list Json.Decode.int)) "[\"Sum12B\",[]]")) - , test "2" (\_ -> equal (Ok (Sum12D {foo = []})) (Json.Decode.decodeString (jsonDecSum12 (Json.Decode.list Json.Decode.int)) "[\"Sum12D\",{\"foo\":[]}]")) - , test "3" (\_ -> equal (Ok (Sum12B (Just [-1]))) (Json.Decode.decodeString (jsonDecSum12 (Json.Decode.list Json.Decode.int)) "[\"Sum12B\",[-1]]")) - , test "4" (\_ -> equal (Ok (Sum12D {foo = [6,5,0]})) (Json.Decode.decodeString (jsonDecSum12 (Json.Decode.list Json.Decode.int)) "[\"Sum12D\",{\"foo\":[6,5,0]}]")) - , test "5" (\_ -> equal (Ok (Sum12E {bar = 4, baz = 0})) (Json.Decode.decodeString (jsonDecSum12 (Json.Decode.list Json.Decode.int)) "[\"Sum12E\",{\"bar\":4,\"baz\":0}]")) - , test "6" (\_ -> equal (Ok (Sum12A [-5,4,-7,-9,-4,-8,-9,8,6,-5])) (Json.Decode.decodeString (jsonDecSum12 (Json.Decode.list Json.Decode.int)) "[\"Sum12A\",[-5,4,-7,-9,-4,-8,-9,8,6,-5]]")) - , test "7" (\_ -> equal (Ok (Sum12E {bar = -7, baz = -7})) (Json.Decode.decodeString (jsonDecSum12 (Json.Decode.list Json.Decode.int)) "[\"Sum12E\",{\"bar\":-7,\"baz\":-7}]")) - , test "8" (\_ -> equal (Ok (Sum12C [4,-2,1,-6,14,3,-2,-14,9] [-1,-6,-13,-7,2,-4,-6,-13,-10,-5,14,3,6])) (Json.Decode.decodeString (jsonDecSum12 (Json.Decode.list Json.Decode.int)) "[\"Sum12C\",[[4,-2,1,-6,14,3,-2,-14,9],[-1,-6,-13,-7,2,-4,-6,-13,-10,-5,14,3,6]]]")) - , test "9" (\_ -> equal (Ok (Sum12B (Just [-11,-12,15,7,-12,9,-6,9]))) (Json.Decode.decodeString (jsonDecSum12 (Json.Decode.list Json.Decode.int)) "[\"Sum12B\",[-11,-12,15,7,-12,9,-6,9]]")) - , test "10" (\_ -> equal (Ok (Sum12C [-2,14,5,18,-11,9] [-9,-9,-10,3,9,-4,-13,17,-14,-13,18,18,13,15,0,17,-7,13])) (Json.Decode.decodeString (jsonDecSum12 (Json.Decode.list Json.Decode.int)) "[\"Sum12C\",[[-2,14,5,18,-11,9],[-9,-9,-10,3,9,-4,-13,17,-14,-13,18,18,13,15,0,17,-7,13]]]")) - , test "11" (\_ -> equal (Ok (Sum12C [1,0,3,15,11,7,-2,-6,-20,-11,-20,12,-14,-17,-17] [-16,19,-11,7,18,12,2,-7,5,13])) (Json.Decode.decodeString (jsonDecSum12 (Json.Decode.list Json.Decode.int)) "[\"Sum12C\",[[1,0,3,15,11,7,-2,-6,-20,-11,-20,12,-14,-17,-17],[-16,19,-11,7,18,12,2,-7,5,13]]]")) + , test "2" (\_ -> equal (Ok (Sum12C [-2,2] [2])) (Json.Decode.decodeString (jsonDecSum12 (Json.Decode.list Json.Decode.int)) "[\"Sum12C\",[[-2,2],[2]]]")) + , test "3" (\_ -> equal (Ok (Sum12B (Just [0,-3,4]))) (Json.Decode.decodeString (jsonDecSum12 (Json.Decode.list Json.Decode.int)) "[\"Sum12B\",[0,-3,4]]")) + , test "4" (\_ -> equal (Ok (Sum12C [6,0] [-2,1,-3,1,-6])) (Json.Decode.decodeString (jsonDecSum12 (Json.Decode.list Json.Decode.int)) "[\"Sum12C\",[[6,0],[-2,1,-3,1,-6]]]")) + , test "5" (\_ -> equal (Ok (Sum12B (Just [1,-7,2,-7,-6]))) (Json.Decode.decodeString (jsonDecSum12 (Json.Decode.list Json.Decode.int)) "[\"Sum12B\",[1,-7,2,-7,-6]]")) + , test "6" (\_ -> equal (Ok (Sum12B (Just [-4]))) (Json.Decode.decodeString (jsonDecSum12 (Json.Decode.list Json.Decode.int)) "[\"Sum12B\",[-4]]")) + , test "7" (\_ -> equal (Ok (Sum12C [-2,7] [4,10,3,-6,-1,-4,11,7,-9])) (Json.Decode.decodeString (jsonDecSum12 (Json.Decode.list Json.Decode.int)) "[\"Sum12C\",[[-2,7],[4,10,3,-6,-1,-4,11,7,-9]]]")) + , test "8" (\_ -> equal (Ok (Sum12C [4,5,-5,-13,-1,-5,10,-7,1,-9] [6,12,-6,8,11,-9,6,6,6,-10,11,-8,3])) (Json.Decode.decodeString (jsonDecSum12 (Json.Decode.list Json.Decode.int)) "[\"Sum12C\",[[4,5,-5,-13,-1,-5,10,-7,1,-9],[6,12,-6,8,11,-9,6,6,6,-10,11,-8,3]]]")) + , test "9" (\_ -> equal (Ok (Sum12D {foo = [-13,14,9,0]})) (Json.Decode.decodeString (jsonDecSum12 (Json.Decode.list Json.Decode.int)) "[\"Sum12D\",{\"foo\":[-13,14,9,0]}]")) + , test "10" (\_ -> equal (Ok (Sum12C [15,-8,18,5,17,10,-12,18,2,-1,17,11,-11,2,-8] [])) (Json.Decode.decodeString (jsonDecSum12 (Json.Decode.list Json.Decode.int)) "[\"Sum12C\",[[15,-8,18,5,17,10,-12,18,2,-1,17,11,-11,2,-8],[]]]")) + , test "11" (\_ -> equal (Ok (Sum12D {foo = [11,-11,11,10,13,-1,-15,-11,20,19,0,0,-6,-20,-16]})) (Json.Decode.decodeString (jsonDecSum12 (Json.Decode.list Json.Decode.int)) "[\"Sum12D\",{\"foo\":[11,-11,11,10,13,-1,-15,-11,20,19,0,0,-6,-20,-16]}]")) ] recordDecode1 : Test recordDecode1 = describe "Record decode 1" [ test "1" (\_ -> equal (Ok (Record1 {foo = 0, bar = Just 0, baz = [], qux = Just [], jmap = fromList [("a",0)]})) (Json.Decode.decodeString (jsonDecRecord1 (Json.Decode.list Json.Decode.int)) "{\"foo\":0,\"bar\":0,\"baz\":[],\"qux\":[],\"jmap\":{\"a\":0}}")) - , test "2" (\_ -> equal (Ok (Record1 {foo = -2, bar = Just (-1), baz = [-2], qux = Just [2,2], jmap = fromList [("a",-1)]})) (Json.Decode.decodeString (jsonDecRecord1 (Json.Decode.list Json.Decode.int)) "{\"foo\":-2,\"bar\":-1,\"baz\":[-2],\"qux\":[2,2],\"jmap\":{\"a\":-1}}")) - , test "3" (\_ -> equal (Ok (Record1 {foo = -4, bar = Just 3, baz = [-1,-4,4,-4], qux = Just [-4,0,4], jmap = fromList [("a",4)]})) (Json.Decode.decodeString (jsonDecRecord1 (Json.Decode.list Json.Decode.int)) "{\"foo\":-4,\"bar\":3,\"baz\":[-1,-4,4,-4],\"qux\":[-4,0,4],\"jmap\":{\"a\":4}}")) - , test "4" (\_ -> equal (Ok (Record1 {foo = -6, bar = Just 3, baz = [6,-1,-2,1,1,4], qux = Just [-3,1,-1,6,5], jmap = fromList [("a",1)]})) (Json.Decode.decodeString (jsonDecRecord1 (Json.Decode.list Json.Decode.int)) "{\"foo\":-6,\"bar\":3,\"baz\":[6,-1,-2,1,1,4],\"qux\":[-3,1,-1,6,5],\"jmap\":{\"a\":1}}")) - , test "5" (\_ -> equal (Ok (Record1 {foo = 5, bar = Just 7, baz = [5,2,-4,-2], qux = Just [], jmap = fromList [("a",-8)]})) (Json.Decode.decodeString (jsonDecRecord1 (Json.Decode.list Json.Decode.int)) "{\"foo\":5,\"bar\":7,\"baz\":[5,2,-4,-2],\"qux\":[],\"jmap\":{\"a\":-8}}")) - , test "6" (\_ -> equal (Ok (Record1 {foo = -9, bar = Just (-7), baz = [10,7,-4,4,2,-1], qux = Just [0,-5,-2,0,0,10,-3,10], jmap = fromList [("a",6)]})) (Json.Decode.decodeString (jsonDecRecord1 (Json.Decode.list Json.Decode.int)) "{\"foo\":-9,\"bar\":-7,\"baz\":[10,7,-4,4,2,-1],\"qux\":[0,-5,-2,0,0,10,-3,10],\"jmap\":{\"a\":6}}")) - , test "7" (\_ -> equal (Ok (Record1 {foo = 2, bar = Just 6, baz = [], qux = Just [1,-10,8,-10,11,-12], jmap = fromList [("a",7)]})) (Json.Decode.decodeString (jsonDecRecord1 (Json.Decode.list Json.Decode.int)) "{\"foo\":2,\"bar\":6,\"baz\":[],\"qux\":[1,-10,8,-10,11,-12],\"jmap\":{\"a\":7}}")) - , test "8" (\_ -> equal (Ok (Record1 {foo = 0, bar = Just 1, baz = [-11,14], qux = Just [-14,14,-3,-2], jmap = fromList [("a",-7)]})) (Json.Decode.decodeString (jsonDecRecord1 (Json.Decode.list Json.Decode.int)) "{\"foo\":0,\"bar\":1,\"baz\":[-11,14],\"qux\":[-14,14,-3,-2],\"jmap\":{\"a\":-7}}")) - , test "9" (\_ -> equal (Ok (Record1 {foo = -9, bar = Just 10, baz = [10,1,16,7,0,11,10,1,-16,-2], qux = Just [0,-1,-1,13,15,-12,-13,3,5,0], jmap = fromList [("a",9)]})) (Json.Decode.decodeString (jsonDecRecord1 (Json.Decode.list Json.Decode.int)) "{\"foo\":-9,\"bar\":10,\"baz\":[10,1,16,7,0,11,10,1,-16,-2],\"qux\":[0,-1,-1,13,15,-12,-13,3,5,0],\"jmap\":{\"a\":9}}")) - , test "10" (\_ -> equal (Ok (Record1 {foo = -3, bar = Just (-10), baz = [16,-12,-14,9,-14,4], qux = Just [], jmap = fromList [("a",-8)]})) (Json.Decode.decodeString (jsonDecRecord1 (Json.Decode.list Json.Decode.int)) "{\"foo\":-3,\"bar\":-10,\"baz\":[16,-12,-14,9,-14,4],\"qux\":[],\"jmap\":{\"a\":-8}}")) - , test "11" (\_ -> equal (Ok (Record1 {foo = -2, bar = Just 14, baz = [-20,-10,10,-1,-3,-3,-19,-2,-8,-7,-5,20,11,17,-19,-7], qux = Just [10,6,16,16,1,-20,18], jmap = fromList [("a",16)]})) (Json.Decode.decodeString (jsonDecRecord1 (Json.Decode.list Json.Decode.int)) "{\"foo\":-2,\"bar\":14,\"baz\":[-20,-10,10,-1,-3,-3,-19,-2,-8,-7,-5,20,11,17,-19,-7],\"qux\":[10,6,16,16,1,-20,18],\"jmap\":{\"a\":16}}")) + , test "2" (\_ -> equal (Ok (Record1 {foo = 0, bar = Just (-2), baz = [1,0], qux = Just [-2], jmap = fromList [("a",1)]})) (Json.Decode.decodeString (jsonDecRecord1 (Json.Decode.list Json.Decode.int)) "{\"foo\":0,\"bar\":-2,\"baz\":[1,0],\"qux\":[-2],\"jmap\":{\"a\":1}}")) + , test "3" (\_ -> equal (Ok (Record1 {foo = 4, bar = Just (-2), baz = [-2,-2,0,-4], qux = Just [4], jmap = fromList [("a",0)]})) (Json.Decode.decodeString (jsonDecRecord1 (Json.Decode.list Json.Decode.int)) "{\"foo\":4,\"bar\":-2,\"baz\":[-2,-2,0,-4],\"qux\":[4],\"jmap\":{\"a\":0}}")) + , test "4" (\_ -> equal (Ok (Record1 {foo = 4, bar = Just 6, baz = [-6,-2,5], qux = Just [-1], jmap = fromList [("a",-4)]})) (Json.Decode.decodeString (jsonDecRecord1 (Json.Decode.list Json.Decode.int)) "{\"foo\":4,\"bar\":6,\"baz\":[-6,-2,5],\"qux\":[-1],\"jmap\":{\"a\":-4}}")) + , test "5" (\_ -> equal (Ok (Record1 {foo = -5, bar = Just (-1), baz = [7,7,5,-3,-2,4], qux = Just [-4,-5], jmap = fromList [("a",1)]})) (Json.Decode.decodeString (jsonDecRecord1 (Json.Decode.list Json.Decode.int)) "{\"foo\":-5,\"bar\":-1,\"baz\":[7,7,5,-3,-2,4],\"qux\":[-4,-5],\"jmap\":{\"a\":1}}")) + , test "6" (\_ -> equal (Ok (Record1 {foo = 3, bar = Just (-2), baz = [2,1,5,2,0,-1,-10,1,-2,-2], qux = Just [-3,9,8,6,-7,-6,5,8,-9], jmap = fromList [("a",3)]})) (Json.Decode.decodeString (jsonDecRecord1 (Json.Decode.list Json.Decode.int)) "{\"foo\":3,\"bar\":-2,\"baz\":[2,1,5,2,0,-1,-10,1,-2,-2],\"qux\":[-3,9,8,6,-7,-6,5,8,-9],\"jmap\":{\"a\":3}}")) + , test "7" (\_ -> equal (Ok (Record1 {foo = 9, bar = Just (-10), baz = [1,9,6,-9,10,-8], qux = Just [11,3,10,12,-4,0,6,6], jmap = fromList [("a",-10)]})) (Json.Decode.decodeString (jsonDecRecord1 (Json.Decode.list Json.Decode.int)) "{\"foo\":9,\"bar\":-10,\"baz\":[1,9,6,-9,10,-8],\"qux\":[11,3,10,12,-4,0,6,6],\"jmap\":{\"a\":-10}}")) + , test "8" (\_ -> equal (Ok (Record1 {foo = -2, bar = Just (-6), baz = [-7,-8,13], qux = Just [], jmap = fromList [("a",12)]})) (Json.Decode.decodeString (jsonDecRecord1 (Json.Decode.list Json.Decode.int)) "{\"foo\":-2,\"bar\":-6,\"baz\":[-7,-8,13],\"qux\":[],\"jmap\":{\"a\":12}}")) + , test "9" (\_ -> equal (Ok (Record1 {foo = 12, bar = Just (-13), baz = [10,3,-15,-3,1,12,11,-15,14], qux = Just [9,4,-10,-15,-4], jmap = fromList [("a",13)]})) (Json.Decode.decodeString (jsonDecRecord1 (Json.Decode.list Json.Decode.int)) "{\"foo\":12,\"bar\":-13,\"baz\":[10,3,-15,-3,1,12,11,-15,14],\"qux\":[9,4,-10,-15,-4],\"jmap\":{\"a\":13}}")) + , test "10" (\_ -> equal (Ok (Record1 {foo = -17, bar = Just (-8), baz = [18,5,6,4,-7,14,-10,-11,-10,-6,0,-8,-14], qux = Just [13,-3,7,12,-18,2,-17,-15,-17,-6,5,-10,-18,11,8,2,-16], jmap = fromList [("a",-13)]})) (Json.Decode.decodeString (jsonDecRecord1 (Json.Decode.list Json.Decode.int)) "{\"foo\":-17,\"bar\":-8,\"baz\":[18,5,6,4,-7,14,-10,-11,-10,-6,0,-8,-14],\"qux\":[13,-3,7,12,-18,2,-17,-15,-17,-6,5,-10,-18,11,8,2,-16],\"jmap\":{\"a\":-13}}")) + , test "11" (\_ -> equal (Ok (Record1 {foo = -17, bar = Just (-6), baz = [14], qux = Just [-14,-9,20,2,14,13,-4,-20,-16,2,7,14,-14,17,-11], jmap = fromList [("a",6)]})) (Json.Decode.decodeString (jsonDecRecord1 (Json.Decode.list Json.Decode.int)) "{\"foo\":-17,\"bar\":-6,\"baz\":[14],\"qux\":[-14,-9,20,2,14,13,-4,-20,-16,2,7,14,-14,17,-11],\"jmap\":{\"a\":6}}")) ] recordDecode2 : Test recordDecode2 = describe "Record decode 2" [ test "1" (\_ -> equal (Ok (Record2 {foo = 0, bar = Just 0, baz = [], qux = Just []})) (Json.Decode.decodeString (jsonDecRecord2 (Json.Decode.list Json.Decode.int)) "{\"bar\":0,\"qux\":[],\"foo\":0,\"baz\":[]}")) - , test "2" (\_ -> equal (Ok (Record2 {foo = -1, bar = Just (-1), baz = [0], qux = Just [1]})) (Json.Decode.decodeString (jsonDecRecord2 (Json.Decode.list Json.Decode.int)) "{\"bar\":-1,\"qux\":[1],\"foo\":-1,\"baz\":[0]}")) - , test "3" (\_ -> equal (Ok (Record2 {foo = -4, bar = Just 2, baz = [1,-3], qux = Just [-3]})) (Json.Decode.decodeString (jsonDecRecord2 (Json.Decode.list Json.Decode.int)) "{\"bar\":2,\"qux\":[-3],\"foo\":-4,\"baz\":[1,-3]}")) - , test "4" (\_ -> equal (Ok (Record2 {foo = 1, bar = Just 6, baz = [-3,2,5,-3,3,2], qux = Just [-2,-1,6,-5,-3,-2]})) (Json.Decode.decodeString (jsonDecRecord2 (Json.Decode.list Json.Decode.int)) "{\"bar\":6,\"qux\":[-2,-1,6,-5,-3,-2],\"foo\":1,\"baz\":[-3,2,5,-3,3,2]}")) - , test "5" (\_ -> equal (Ok (Record2 {foo = 6, bar = Just (-8), baz = [4], qux = Just []})) (Json.Decode.decodeString (jsonDecRecord2 (Json.Decode.list Json.Decode.int)) "{\"bar\":-8,\"qux\":[],\"foo\":6,\"baz\":[4]}")) - , test "6" (\_ -> equal (Ok (Record2 {foo = -8, bar = Just 0, baz = [0,-7,-9,-2,1,10,-7,10,2,9], qux = Just []})) (Json.Decode.decodeString (jsonDecRecord2 (Json.Decode.list Json.Decode.int)) "{\"bar\":0,\"qux\":[],\"foo\":-8,\"baz\":[0,-7,-9,-2,1,10,-7,10,2,9]}")) - , test "7" (\_ -> equal (Ok (Record2 {foo = 2, bar = Just 0, baz = [10,-12,-8,-7,-10,-4,-9,-4,-10,-9], qux = Just [1,10,-10]})) (Json.Decode.decodeString (jsonDecRecord2 (Json.Decode.list Json.Decode.int)) "{\"bar\":0,\"qux\":[1,10,-10],\"foo\":2,\"baz\":[10,-12,-8,-7,-10,-4,-9,-4,-10,-9]}")) - , test "8" (\_ -> equal (Ok (Record2 {foo = 10, bar = Just 5, baz = [], qux = Just [-13,10,13,13,-7,6,10]})) (Json.Decode.decodeString (jsonDecRecord2 (Json.Decode.list Json.Decode.int)) "{\"bar\":5,\"qux\":[-13,10,13,13,-7,6,10],\"foo\":10,\"baz\":[]}")) - , test "9" (\_ -> equal (Ok (Record2 {foo = 8, bar = Just (-11), baz = [-2,-3,-11,7,12,3,2,15,4,14,9,-2,-10,-5], qux = Just [7,-13,7,-6,13,4]})) (Json.Decode.decodeString (jsonDecRecord2 (Json.Decode.list Json.Decode.int)) "{\"bar\":-11,\"qux\":[7,-13,7,-6,13,4],\"foo\":8,\"baz\":[-2,-3,-11,7,12,3,2,15,4,14,9,-2,-10,-5]}")) - , test "10" (\_ -> equal (Ok (Record2 {foo = 7, bar = Just (-13), baz = [3,-11,-18,-4,5,18,-15,17,9], qux = Just [-17,-17,-14,7,-8,13,8,-4,15,-2,8,7]})) (Json.Decode.decodeString (jsonDecRecord2 (Json.Decode.list Json.Decode.int)) "{\"bar\":-13,\"qux\":[-17,-17,-14,7,-8,13,8,-4,15,-2,8,7],\"foo\":7,\"baz\":[3,-11,-18,-4,5,18,-15,17,9]}")) - , test "11" (\_ -> equal (Ok (Record2 {foo = -12, bar = Just 3, baz = [-14,10,-11,3,-9,2,10,-1], qux = Just [10,6,-11,12,-18,-6,-17,17,16,19,9,-12,12,1,18,-9,1,-4]})) (Json.Decode.decodeString (jsonDecRecord2 (Json.Decode.list Json.Decode.int)) "{\"bar\":3,\"qux\":[10,6,-11,12,-18,-6,-17,17,16,19,9,-12,12,1,18,-9,1,-4],\"foo\":-12,\"baz\":[-14,10,-11,3,-9,2,10,-1]}")) + , test "2" (\_ -> equal (Ok (Record2 {foo = -2, bar = Just 2, baz = [], qux = Just [1]})) (Json.Decode.decodeString (jsonDecRecord2 (Json.Decode.list Json.Decode.int)) "{\"bar\":2,\"qux\":[1],\"foo\":-2,\"baz\":[]}")) + , test "3" (\_ -> equal (Ok (Record2 {foo = 0, bar = Just (-1), baz = [], qux = Just []})) (Json.Decode.decodeString (jsonDecRecord2 (Json.Decode.list Json.Decode.int)) "{\"bar\":-1,\"qux\":[],\"foo\":0,\"baz\":[]}")) + , test "4" (\_ -> equal (Ok (Record2 {foo = -5, bar = Just (-2), baz = [4], qux = Just [4,-3,3,-1,0]})) (Json.Decode.decodeString (jsonDecRecord2 (Json.Decode.list Json.Decode.int)) "{\"bar\":-2,\"qux\":[4,-3,3,-1,0],\"foo\":-5,\"baz\":[4]}")) + , test "5" (\_ -> equal (Ok (Record2 {foo = -4, bar = Just (-5), baz = [-5,8,-1,-3], qux = Just []})) (Json.Decode.decodeString (jsonDecRecord2 (Json.Decode.list Json.Decode.int)) "{\"bar\":-5,\"qux\":[],\"foo\":-4,\"baz\":[-5,8,-1,-3]}")) + , test "6" (\_ -> equal (Ok (Record2 {foo = 1, bar = Just (-1), baz = [-10,1,8], qux = Just [4,9,6,6,0,-4,8,5,5]})) (Json.Decode.decodeString (jsonDecRecord2 (Json.Decode.list Json.Decode.int)) "{\"bar\":-1,\"qux\":[4,9,6,6,0,-4,8,5,5],\"foo\":1,\"baz\":[-10,1,8]}")) + , test "7" (\_ -> equal (Ok (Record2 {foo = -10, bar = Just 0, baz = [12,4,0,-3,-5,-2,-10,-1,-9,4,-1,1], qux = Just []})) (Json.Decode.decodeString (jsonDecRecord2 (Json.Decode.list Json.Decode.int)) "{\"bar\":0,\"qux\":[],\"foo\":-10,\"baz\":[12,4,0,-3,-5,-2,-10,-1,-9,4,-1,1]}")) + , test "8" (\_ -> equal (Ok (Record2 {foo = -6, bar = Just (-9), baz = [-11,-3,-3,10], qux = Just [13,-3,14]})) (Json.Decode.decodeString (jsonDecRecord2 (Json.Decode.list Json.Decode.int)) "{\"bar\":-9,\"qux\":[13,-3,14],\"foo\":-6,\"baz\":[-11,-3,-3,10]}")) + , test "9" (\_ -> equal (Ok (Record2 {foo = -8, bar = Just 12, baz = [15,10], qux = Just [-1,-10,-4,-12,-4]})) (Json.Decode.decodeString (jsonDecRecord2 (Json.Decode.list Json.Decode.int)) "{\"bar\":12,\"qux\":[-1,-10,-4,-12,-4],\"foo\":-8,\"baz\":[15,10]}")) + , test "10" (\_ -> equal (Ok (Record2 {foo = 6, bar = Just 9, baz = [16,16,-6,6,13,12,-5,-9,14,-12,-4,9,0,-8,-15,-11,-4,-17], qux = Just [-4,-2,16,3,8,3,-8,-7]})) (Json.Decode.decodeString (jsonDecRecord2 (Json.Decode.list Json.Decode.int)) "{\"bar\":9,\"qux\":[-4,-2,16,3,8,3,-8,-7],\"foo\":6,\"baz\":[16,16,-6,6,13,12,-5,-9,14,-12,-4,9,0,-8,-15,-11,-4,-17]}")) + , test "11" (\_ -> equal (Ok (Record2 {foo = 16, bar = Just 19, baz = [2,10], qux = Just [5]})) (Json.Decode.decodeString (jsonDecRecord2 (Json.Decode.list Json.Decode.int)) "{\"bar\":19,\"qux\":[5],\"foo\":16,\"baz\":[2,10]}")) ] recordEncode1 : Test recordEncode1 = describe "Record encode 1" [ test "1" (\_ -> equalHack "{\"foo\":0,\"bar\":0,\"baz\":[],\"qux\":[],\"jmap\":{\"a\":0}}"(Json.Encode.encode 0 (jsonEncRecord1(Json.Encode.list Json.Encode.int) (Record1 {foo = 0, bar = Just 0, baz = [], qux = Just [], jmap = fromList [("a",0)]})))) - , test "2" (\_ -> equalHack "{\"foo\":-2,\"bar\":-1,\"baz\":[-2],\"qux\":[2,2],\"jmap\":{\"a\":-1}}"(Json.Encode.encode 0 (jsonEncRecord1(Json.Encode.list Json.Encode.int) (Record1 {foo = -2, bar = Just (-1), baz = [-2], qux = Just [2,2], jmap = fromList [("a",-1)]})))) - , test "3" (\_ -> equalHack "{\"foo\":-4,\"bar\":3,\"baz\":[-1,-4,4,-4],\"qux\":[-4,0,4],\"jmap\":{\"a\":4}}"(Json.Encode.encode 0 (jsonEncRecord1(Json.Encode.list Json.Encode.int) (Record1 {foo = -4, bar = Just 3, baz = [-1,-4,4,-4], qux = Just [-4,0,4], jmap = fromList [("a",4)]})))) - , test "4" (\_ -> equalHack "{\"foo\":-6,\"bar\":3,\"baz\":[6,-1,-2,1,1,4],\"qux\":[-3,1,-1,6,5],\"jmap\":{\"a\":1}}"(Json.Encode.encode 0 (jsonEncRecord1(Json.Encode.list Json.Encode.int) (Record1 {foo = -6, bar = Just 3, baz = [6,-1,-2,1,1,4], qux = Just [-3,1,-1,6,5], jmap = fromList [("a",1)]})))) - , test "5" (\_ -> equalHack "{\"foo\":5,\"bar\":7,\"baz\":[5,2,-4,-2],\"qux\":[],\"jmap\":{\"a\":-8}}"(Json.Encode.encode 0 (jsonEncRecord1(Json.Encode.list Json.Encode.int) (Record1 {foo = 5, bar = Just 7, baz = [5,2,-4,-2], qux = Just [], jmap = fromList [("a",-8)]})))) - , test "6" (\_ -> equalHack "{\"foo\":-9,\"bar\":-7,\"baz\":[10,7,-4,4,2,-1],\"qux\":[0,-5,-2,0,0,10,-3,10],\"jmap\":{\"a\":6}}"(Json.Encode.encode 0 (jsonEncRecord1(Json.Encode.list Json.Encode.int) (Record1 {foo = -9, bar = Just (-7), baz = [10,7,-4,4,2,-1], qux = Just [0,-5,-2,0,0,10,-3,10], jmap = fromList [("a",6)]})))) - , test "7" (\_ -> equalHack "{\"foo\":2,\"bar\":6,\"baz\":[],\"qux\":[1,-10,8,-10,11,-12],\"jmap\":{\"a\":7}}"(Json.Encode.encode 0 (jsonEncRecord1(Json.Encode.list Json.Encode.int) (Record1 {foo = 2, bar = Just 6, baz = [], qux = Just [1,-10,8,-10,11,-12], jmap = fromList [("a",7)]})))) - , test "8" (\_ -> equalHack "{\"foo\":0,\"bar\":1,\"baz\":[-11,14],\"qux\":[-14,14,-3,-2],\"jmap\":{\"a\":-7}}"(Json.Encode.encode 0 (jsonEncRecord1(Json.Encode.list Json.Encode.int) (Record1 {foo = 0, bar = Just 1, baz = [-11,14], qux = Just [-14,14,-3,-2], jmap = fromList [("a",-7)]})))) - , test "9" (\_ -> equalHack "{\"foo\":-9,\"bar\":10,\"baz\":[10,1,16,7,0,11,10,1,-16,-2],\"qux\":[0,-1,-1,13,15,-12,-13,3,5,0],\"jmap\":{\"a\":9}}"(Json.Encode.encode 0 (jsonEncRecord1(Json.Encode.list Json.Encode.int) (Record1 {foo = -9, bar = Just 10, baz = [10,1,16,7,0,11,10,1,-16,-2], qux = Just [0,-1,-1,13,15,-12,-13,3,5,0], jmap = fromList [("a",9)]})))) - , test "10" (\_ -> equalHack "{\"foo\":-3,\"bar\":-10,\"baz\":[16,-12,-14,9,-14,4],\"qux\":[],\"jmap\":{\"a\":-8}}"(Json.Encode.encode 0 (jsonEncRecord1(Json.Encode.list Json.Encode.int) (Record1 {foo = -3, bar = Just (-10), baz = [16,-12,-14,9,-14,4], qux = Just [], jmap = fromList [("a",-8)]})))) - , test "11" (\_ -> equalHack "{\"foo\":-2,\"bar\":14,\"baz\":[-20,-10,10,-1,-3,-3,-19,-2,-8,-7,-5,20,11,17,-19,-7],\"qux\":[10,6,16,16,1,-20,18],\"jmap\":{\"a\":16}}"(Json.Encode.encode 0 (jsonEncRecord1(Json.Encode.list Json.Encode.int) (Record1 {foo = -2, bar = Just 14, baz = [-20,-10,10,-1,-3,-3,-19,-2,-8,-7,-5,20,11,17,-19,-7], qux = Just [10,6,16,16,1,-20,18], jmap = fromList [("a",16)]})))) + , test "2" (\_ -> equalHack "{\"foo\":0,\"bar\":-2,\"baz\":[1,0],\"qux\":[-2],\"jmap\":{\"a\":1}}"(Json.Encode.encode 0 (jsonEncRecord1(Json.Encode.list Json.Encode.int) (Record1 {foo = 0, bar = Just (-2), baz = [1,0], qux = Just [-2], jmap = fromList [("a",1)]})))) + , test "3" (\_ -> equalHack "{\"foo\":4,\"bar\":-2,\"baz\":[-2,-2,0,-4],\"qux\":[4],\"jmap\":{\"a\":0}}"(Json.Encode.encode 0 (jsonEncRecord1(Json.Encode.list Json.Encode.int) (Record1 {foo = 4, bar = Just (-2), baz = [-2,-2,0,-4], qux = Just [4], jmap = fromList [("a",0)]})))) + , test "4" (\_ -> equalHack "{\"foo\":4,\"bar\":6,\"baz\":[-6,-2,5],\"qux\":[-1],\"jmap\":{\"a\":-4}}"(Json.Encode.encode 0 (jsonEncRecord1(Json.Encode.list Json.Encode.int) (Record1 {foo = 4, bar = Just 6, baz = [-6,-2,5], qux = Just [-1], jmap = fromList [("a",-4)]})))) + , test "5" (\_ -> equalHack "{\"foo\":-5,\"bar\":-1,\"baz\":[7,7,5,-3,-2,4],\"qux\":[-4,-5],\"jmap\":{\"a\":1}}"(Json.Encode.encode 0 (jsonEncRecord1(Json.Encode.list Json.Encode.int) (Record1 {foo = -5, bar = Just (-1), baz = [7,7,5,-3,-2,4], qux = Just [-4,-5], jmap = fromList [("a",1)]})))) + , test "6" (\_ -> equalHack "{\"foo\":3,\"bar\":-2,\"baz\":[2,1,5,2,0,-1,-10,1,-2,-2],\"qux\":[-3,9,8,6,-7,-6,5,8,-9],\"jmap\":{\"a\":3}}"(Json.Encode.encode 0 (jsonEncRecord1(Json.Encode.list Json.Encode.int) (Record1 {foo = 3, bar = Just (-2), baz = [2,1,5,2,0,-1,-10,1,-2,-2], qux = Just [-3,9,8,6,-7,-6,5,8,-9], jmap = fromList [("a",3)]})))) + , test "7" (\_ -> equalHack "{\"foo\":9,\"bar\":-10,\"baz\":[1,9,6,-9,10,-8],\"qux\":[11,3,10,12,-4,0,6,6],\"jmap\":{\"a\":-10}}"(Json.Encode.encode 0 (jsonEncRecord1(Json.Encode.list Json.Encode.int) (Record1 {foo = 9, bar = Just (-10), baz = [1,9,6,-9,10,-8], qux = Just [11,3,10,12,-4,0,6,6], jmap = fromList [("a",-10)]})))) + , test "8" (\_ -> equalHack "{\"foo\":-2,\"bar\":-6,\"baz\":[-7,-8,13],\"qux\":[],\"jmap\":{\"a\":12}}"(Json.Encode.encode 0 (jsonEncRecord1(Json.Encode.list Json.Encode.int) (Record1 {foo = -2, bar = Just (-6), baz = [-7,-8,13], qux = Just [], jmap = fromList [("a",12)]})))) + , test "9" (\_ -> equalHack "{\"foo\":12,\"bar\":-13,\"baz\":[10,3,-15,-3,1,12,11,-15,14],\"qux\":[9,4,-10,-15,-4],\"jmap\":{\"a\":13}}"(Json.Encode.encode 0 (jsonEncRecord1(Json.Encode.list Json.Encode.int) (Record1 {foo = 12, bar = Just (-13), baz = [10,3,-15,-3,1,12,11,-15,14], qux = Just [9,4,-10,-15,-4], jmap = fromList [("a",13)]})))) + , test "10" (\_ -> equalHack "{\"foo\":-17,\"bar\":-8,\"baz\":[18,5,6,4,-7,14,-10,-11,-10,-6,0,-8,-14],\"qux\":[13,-3,7,12,-18,2,-17,-15,-17,-6,5,-10,-18,11,8,2,-16],\"jmap\":{\"a\":-13}}"(Json.Encode.encode 0 (jsonEncRecord1(Json.Encode.list Json.Encode.int) (Record1 {foo = -17, bar = Just (-8), baz = [18,5,6,4,-7,14,-10,-11,-10,-6,0,-8,-14], qux = Just [13,-3,7,12,-18,2,-17,-15,-17,-6,5,-10,-18,11,8,2,-16], jmap = fromList [("a",-13)]})))) + , test "11" (\_ -> equalHack "{\"foo\":-17,\"bar\":-6,\"baz\":[14],\"qux\":[-14,-9,20,2,14,13,-4,-20,-16,2,7,14,-14,17,-11],\"jmap\":{\"a\":6}}"(Json.Encode.encode 0 (jsonEncRecord1(Json.Encode.list Json.Encode.int) (Record1 {foo = -17, bar = Just (-6), baz = [14], qux = Just [-14,-9,20,2,14,13,-4,-20,-16,2,7,14,-14,17,-11], jmap = fromList [("a",6)]})))) ] recordEncode2 : Test recordEncode2 = describe "Record encode 2" [ test "1" (\_ -> equalHack "{\"bar\":0,\"qux\":[],\"foo\":0,\"baz\":[]}"(Json.Encode.encode 0 (jsonEncRecord2(Json.Encode.list Json.Encode.int) (Record2 {foo = 0, bar = Just 0, baz = [], qux = Just []})))) - , test "2" (\_ -> equalHack "{\"bar\":-1,\"qux\":[1],\"foo\":-1,\"baz\":[0]}"(Json.Encode.encode 0 (jsonEncRecord2(Json.Encode.list Json.Encode.int) (Record2 {foo = -1, bar = Just (-1), baz = [0], qux = Just [1]})))) - , test "3" (\_ -> equalHack "{\"bar\":2,\"qux\":[-3],\"foo\":-4,\"baz\":[1,-3]}"(Json.Encode.encode 0 (jsonEncRecord2(Json.Encode.list Json.Encode.int) (Record2 {foo = -4, bar = Just 2, baz = [1,-3], qux = Just [-3]})))) - , test "4" (\_ -> equalHack "{\"bar\":6,\"qux\":[-2,-1,6,-5,-3,-2],\"foo\":1,\"baz\":[-3,2,5,-3,3,2]}"(Json.Encode.encode 0 (jsonEncRecord2(Json.Encode.list Json.Encode.int) (Record2 {foo = 1, bar = Just 6, baz = [-3,2,5,-3,3,2], qux = Just [-2,-1,6,-5,-3,-2]})))) - , test "5" (\_ -> equalHack "{\"bar\":-8,\"qux\":[],\"foo\":6,\"baz\":[4]}"(Json.Encode.encode 0 (jsonEncRecord2(Json.Encode.list Json.Encode.int) (Record2 {foo = 6, bar = Just (-8), baz = [4], qux = Just []})))) - , test "6" (\_ -> equalHack "{\"bar\":0,\"qux\":[],\"foo\":-8,\"baz\":[0,-7,-9,-2,1,10,-7,10,2,9]}"(Json.Encode.encode 0 (jsonEncRecord2(Json.Encode.list Json.Encode.int) (Record2 {foo = -8, bar = Just 0, baz = [0,-7,-9,-2,1,10,-7,10,2,9], qux = Just []})))) - , test "7" (\_ -> equalHack "{\"bar\":0,\"qux\":[1,10,-10],\"foo\":2,\"baz\":[10,-12,-8,-7,-10,-4,-9,-4,-10,-9]}"(Json.Encode.encode 0 (jsonEncRecord2(Json.Encode.list Json.Encode.int) (Record2 {foo = 2, bar = Just 0, baz = [10,-12,-8,-7,-10,-4,-9,-4,-10,-9], qux = Just [1,10,-10]})))) - , test "8" (\_ -> equalHack "{\"bar\":5,\"qux\":[-13,10,13,13,-7,6,10],\"foo\":10,\"baz\":[]}"(Json.Encode.encode 0 (jsonEncRecord2(Json.Encode.list Json.Encode.int) (Record2 {foo = 10, bar = Just 5, baz = [], qux = Just [-13,10,13,13,-7,6,10]})))) - , test "9" (\_ -> equalHack "{\"bar\":-11,\"qux\":[7,-13,7,-6,13,4],\"foo\":8,\"baz\":[-2,-3,-11,7,12,3,2,15,4,14,9,-2,-10,-5]}"(Json.Encode.encode 0 (jsonEncRecord2(Json.Encode.list Json.Encode.int) (Record2 {foo = 8, bar = Just (-11), baz = [-2,-3,-11,7,12,3,2,15,4,14,9,-2,-10,-5], qux = Just [7,-13,7,-6,13,4]})))) - , test "10" (\_ -> equalHack "{\"bar\":-13,\"qux\":[-17,-17,-14,7,-8,13,8,-4,15,-2,8,7],\"foo\":7,\"baz\":[3,-11,-18,-4,5,18,-15,17,9]}"(Json.Encode.encode 0 (jsonEncRecord2(Json.Encode.list Json.Encode.int) (Record2 {foo = 7, bar = Just (-13), baz = [3,-11,-18,-4,5,18,-15,17,9], qux = Just [-17,-17,-14,7,-8,13,8,-4,15,-2,8,7]})))) - , test "11" (\_ -> equalHack "{\"bar\":3,\"qux\":[10,6,-11,12,-18,-6,-17,17,16,19,9,-12,12,1,18,-9,1,-4],\"foo\":-12,\"baz\":[-14,10,-11,3,-9,2,10,-1]}"(Json.Encode.encode 0 (jsonEncRecord2(Json.Encode.list Json.Encode.int) (Record2 {foo = -12, bar = Just 3, baz = [-14,10,-11,3,-9,2,10,-1], qux = Just [10,6,-11,12,-18,-6,-17,17,16,19,9,-12,12,1,18,-9,1,-4]})))) + , test "2" (\_ -> equalHack "{\"bar\":2,\"qux\":[1],\"foo\":-2,\"baz\":[]}"(Json.Encode.encode 0 (jsonEncRecord2(Json.Encode.list Json.Encode.int) (Record2 {foo = -2, bar = Just 2, baz = [], qux = Just [1]})))) + , test "3" (\_ -> equalHack "{\"bar\":-1,\"qux\":[],\"foo\":0,\"baz\":[]}"(Json.Encode.encode 0 (jsonEncRecord2(Json.Encode.list Json.Encode.int) (Record2 {foo = 0, bar = Just (-1), baz = [], qux = Just []})))) + , test "4" (\_ -> equalHack "{\"bar\":-2,\"qux\":[4,-3,3,-1,0],\"foo\":-5,\"baz\":[4]}"(Json.Encode.encode 0 (jsonEncRecord2(Json.Encode.list Json.Encode.int) (Record2 {foo = -5, bar = Just (-2), baz = [4], qux = Just [4,-3,3,-1,0]})))) + , test "5" (\_ -> equalHack "{\"bar\":-5,\"qux\":[],\"foo\":-4,\"baz\":[-5,8,-1,-3]}"(Json.Encode.encode 0 (jsonEncRecord2(Json.Encode.list Json.Encode.int) (Record2 {foo = -4, bar = Just (-5), baz = [-5,8,-1,-3], qux = Just []})))) + , test "6" (\_ -> equalHack "{\"bar\":-1,\"qux\":[4,9,6,6,0,-4,8,5,5],\"foo\":1,\"baz\":[-10,1,8]}"(Json.Encode.encode 0 (jsonEncRecord2(Json.Encode.list Json.Encode.int) (Record2 {foo = 1, bar = Just (-1), baz = [-10,1,8], qux = Just [4,9,6,6,0,-4,8,5,5]})))) + , test "7" (\_ -> equalHack "{\"bar\":0,\"qux\":[],\"foo\":-10,\"baz\":[12,4,0,-3,-5,-2,-10,-1,-9,4,-1,1]}"(Json.Encode.encode 0 (jsonEncRecord2(Json.Encode.list Json.Encode.int) (Record2 {foo = -10, bar = Just 0, baz = [12,4,0,-3,-5,-2,-10,-1,-9,4,-1,1], qux = Just []})))) + , test "8" (\_ -> equalHack "{\"bar\":-9,\"qux\":[13,-3,14],\"foo\":-6,\"baz\":[-11,-3,-3,10]}"(Json.Encode.encode 0 (jsonEncRecord2(Json.Encode.list Json.Encode.int) (Record2 {foo = -6, bar = Just (-9), baz = [-11,-3,-3,10], qux = Just [13,-3,14]})))) + , test "9" (\_ -> equalHack "{\"bar\":12,\"qux\":[-1,-10,-4,-12,-4],\"foo\":-8,\"baz\":[15,10]}"(Json.Encode.encode 0 (jsonEncRecord2(Json.Encode.list Json.Encode.int) (Record2 {foo = -8, bar = Just 12, baz = [15,10], qux = Just [-1,-10,-4,-12,-4]})))) + , test "10" (\_ -> equalHack "{\"bar\":9,\"qux\":[-4,-2,16,3,8,3,-8,-7],\"foo\":6,\"baz\":[16,16,-6,6,13,12,-5,-9,14,-12,-4,9,0,-8,-15,-11,-4,-17]}"(Json.Encode.encode 0 (jsonEncRecord2(Json.Encode.list Json.Encode.int) (Record2 {foo = 6, bar = Just 9, baz = [16,16,-6,6,13,12,-5,-9,14,-12,-4,9,0,-8,-15,-11,-4,-17], qux = Just [-4,-2,16,3,8,3,-8,-7]})))) + , test "11" (\_ -> equalHack "{\"bar\":19,\"qux\":[5],\"foo\":16,\"baz\":[2,10]}"(Json.Encode.encode 0 (jsonEncRecord2(Json.Encode.list Json.Encode.int) (Record2 {foo = 16, bar = Just 19, baz = [2,10], qux = Just [5]})))) + ] + +recordDecodeNestTuple : Test +recordDecodeNestTuple = describe "Record decode NestTuple" + [ test "1" (\_ -> equal (Ok (RecordNestTuple ([],([],[])))) (Json.Decode.decodeString (jsonDecRecordNestTuple (Json.Decode.list Json.Decode.int)) "[[],[[],[]]]")) + , test "2" (\_ -> equal (Ok (RecordNestTuple ([2,2],([0,-2],[])))) (Json.Decode.decodeString (jsonDecRecordNestTuple (Json.Decode.list Json.Decode.int)) "[[2,2],[[0,-2],[]]]")) + , test "3" (\_ -> equal (Ok (RecordNestTuple ([-1,0,-2],([3,-2],[2])))) (Json.Decode.decodeString (jsonDecRecordNestTuple (Json.Decode.list Json.Decode.int)) "[[-1,0,-2],[[3,-2],[2]]]")) + , test "4" (\_ -> equal (Ok (RecordNestTuple ([3,6,-2,-2,-3,2],([-2,-2,-1,-1],[-2,2])))) (Json.Decode.decodeString (jsonDecRecordNestTuple (Json.Decode.list Json.Decode.int)) "[[3,6,-2,-2,-3,2],[[-2,-2,-1,-1],[-2,2]]]")) + , test "5" (\_ -> equal (Ok (RecordNestTuple ([8,2,5,0],([],[-5])))) (Json.Decode.decodeString (jsonDecRecordNestTuple (Json.Decode.list Json.Decode.int)) "[[8,2,5,0],[[],[-5]]]")) + , test "6" (\_ -> equal (Ok (RecordNestTuple ([-9,-4,-2,-3],([5],[8,7,-5,9,4,2,-4,-2])))) (Json.Decode.decodeString (jsonDecRecordNestTuple (Json.Decode.list Json.Decode.int)) "[[-9,-4,-2,-3],[[5],[8,7,-5,9,4,2,-4,-2]]]")) + , test "7" (\_ -> equal (Ok (RecordNestTuple ([10,5,-8,5,10,-1,10,-2,-12,12],([-9,1,-2,-6,2,-12,-11],[9,-12,-3,-6,-1,5])))) (Json.Decode.decodeString (jsonDecRecordNestTuple (Json.Decode.list Json.Decode.int)) "[[10,5,-8,5,10,-1,10,-2,-12,12],[[-9,1,-2,-6,2,-12,-11],[9,-12,-3,-6,-1,5]]]")) + , test "8" (\_ -> equal (Ok (RecordNestTuple ([7,0],([2,-8,-8,8,-12,5],[3,12,4,-11,5,-3,-10,4,9,-7,-10,-8,4])))) (Json.Decode.decodeString (jsonDecRecordNestTuple (Json.Decode.list Json.Decode.int)) "[[7,0],[[2,-8,-8,8,-12,5],[3,12,4,-11,5,-3,-10,4,9,-7,-10,-8,4]]]")) + , test "9" (\_ -> equal (Ok (RecordNestTuple ([-9,-6,-2,-14,16,-2,-10],([-14,3,0,-15,-16,-10,10,-8,-9,7],[-4,4,15,-1,-4,13,-16,6])))) (Json.Decode.decodeString (jsonDecRecordNestTuple (Json.Decode.list Json.Decode.int)) "[[-9,-6,-2,-14,16,-2,-10],[[-14,3,0,-15,-16,-10,10,-8,-9,7],[-4,4,15,-1,-4,13,-16,6]]]")) + , test "10" (\_ -> equal (Ok (RecordNestTuple ([-18,-3,-9,-15],([0,-15,-10,-16,-7,-12,-16],[-3,15,-16,-3,-15,17])))) (Json.Decode.decodeString (jsonDecRecordNestTuple (Json.Decode.list Json.Decode.int)) "[[-18,-3,-9,-15],[[0,-15,-10,-16,-7,-12,-16],[-3,15,-16,-3,-15,17]]]")) + , test "11" (\_ -> equal (Ok (RecordNestTuple ([-10,-7,-14,-20,2,3,6,9,17,2,8,-10,9,-12,4,10,-13,-8,-9],([4,11,-7,-14,10,-5],[4,18,0,3,0,13])))) (Json.Decode.decodeString (jsonDecRecordNestTuple (Json.Decode.list Json.Decode.int)) "[[-10,-7,-14,-20,2,3,6,9,17,2,8,-10,9,-12,4,10,-13,-8,-9],[[4,11,-7,-14,10,-5],[4,18,0,3,0,13]]]")) + ] + +recordEncodeNestTuple : Test +recordEncodeNestTuple = describe "Record encode NestTuple" + [ test "1" (\_ -> equalHack "[[],[[],[]]]"(Json.Encode.encode 0 (jsonEncRecordNestTuple(Json.Encode.list Json.Encode.int) (RecordNestTuple ([],([],[])))))) + , test "2" (\_ -> equalHack "[[2,2],[[0,-2],[]]]"(Json.Encode.encode 0 (jsonEncRecordNestTuple(Json.Encode.list Json.Encode.int) (RecordNestTuple ([2,2],([0,-2],[])))))) + , test "3" (\_ -> equalHack "[[-1,0,-2],[[3,-2],[2]]]"(Json.Encode.encode 0 (jsonEncRecordNestTuple(Json.Encode.list Json.Encode.int) (RecordNestTuple ([-1,0,-2],([3,-2],[2])))))) + , test "4" (\_ -> equalHack "[[3,6,-2,-2,-3,2],[[-2,-2,-1,-1],[-2,2]]]"(Json.Encode.encode 0 (jsonEncRecordNestTuple(Json.Encode.list Json.Encode.int) (RecordNestTuple ([3,6,-2,-2,-3,2],([-2,-2,-1,-1],[-2,2])))))) + , test "5" (\_ -> equalHack "[[8,2,5,0],[[],[-5]]]"(Json.Encode.encode 0 (jsonEncRecordNestTuple(Json.Encode.list Json.Encode.int) (RecordNestTuple ([8,2,5,0],([],[-5])))))) + , test "6" (\_ -> equalHack "[[-9,-4,-2,-3],[[5],[8,7,-5,9,4,2,-4,-2]]]"(Json.Encode.encode 0 (jsonEncRecordNestTuple(Json.Encode.list Json.Encode.int) (RecordNestTuple ([-9,-4,-2,-3],([5],[8,7,-5,9,4,2,-4,-2])))))) + , test "7" (\_ -> equalHack "[[10,5,-8,5,10,-1,10,-2,-12,12],[[-9,1,-2,-6,2,-12,-11],[9,-12,-3,-6,-1,5]]]"(Json.Encode.encode 0 (jsonEncRecordNestTuple(Json.Encode.list Json.Encode.int) (RecordNestTuple ([10,5,-8,5,10,-1,10,-2,-12,12],([-9,1,-2,-6,2,-12,-11],[9,-12,-3,-6,-1,5])))))) + , test "8" (\_ -> equalHack "[[7,0],[[2,-8,-8,8,-12,5],[3,12,4,-11,5,-3,-10,4,9,-7,-10,-8,4]]]"(Json.Encode.encode 0 (jsonEncRecordNestTuple(Json.Encode.list Json.Encode.int) (RecordNestTuple ([7,0],([2,-8,-8,8,-12,5],[3,12,4,-11,5,-3,-10,4,9,-7,-10,-8,4])))))) + , test "9" (\_ -> equalHack "[[-9,-6,-2,-14,16,-2,-10],[[-14,3,0,-15,-16,-10,10,-8,-9,7],[-4,4,15,-1,-4,13,-16,6]]]"(Json.Encode.encode 0 (jsonEncRecordNestTuple(Json.Encode.list Json.Encode.int) (RecordNestTuple ([-9,-6,-2,-14,16,-2,-10],([-14,3,0,-15,-16,-10,10,-8,-9,7],[-4,4,15,-1,-4,13,-16,6])))))) + , test "10" (\_ -> equalHack "[[-18,-3,-9,-15],[[0,-15,-10,-16,-7,-12,-16],[-3,15,-16,-3,-15,17]]]"(Json.Encode.encode 0 (jsonEncRecordNestTuple(Json.Encode.list Json.Encode.int) (RecordNestTuple ([-18,-3,-9,-15],([0,-15,-10,-16,-7,-12,-16],[-3,15,-16,-3,-15,17])))))) + , test "11" (\_ -> equalHack "[[-10,-7,-14,-20,2,3,6,9,17,2,8,-10,9,-12,4,10,-13,-8,-9],[[4,11,-7,-14,10,-5],[4,18,0,3,0,13]]]"(Json.Encode.encode 0 (jsonEncRecordNestTuple(Json.Encode.list Json.Encode.int) (RecordNestTuple ([-10,-7,-14,-20,2,3,6,9,17,2,8,-10,9,-12,4,10,-13,-8,-9],([4,11,-7,-14,10,-5],[4,18,0,3,0,13])))))) ] simpleEncode01 : Test simpleEncode01 = describe "Simple encode 01" [ test "1" (\_ -> equalHack "[]"(Json.Encode.encode 0 (jsonEncSimple01(Json.Encode.list Json.Encode.int) (Simple01 [])))) - , test "2" (\_ -> equalHack "[2,1]"(Json.Encode.encode 0 (jsonEncSimple01(Json.Encode.list Json.Encode.int) (Simple01 [2,1])))) - , test "3" (\_ -> equalHack "[3,4,4,-2]"(Json.Encode.encode 0 (jsonEncSimple01(Json.Encode.list Json.Encode.int) (Simple01 [3,4,4,-2])))) - , test "4" (\_ -> equalHack "[1,0,6]"(Json.Encode.encode 0 (jsonEncSimple01(Json.Encode.list Json.Encode.int) (Simple01 [1,0,6])))) - , test "5" (\_ -> equalHack "[4,5,0,-8,3]"(Json.Encode.encode 0 (jsonEncSimple01(Json.Encode.list Json.Encode.int) (Simple01 [4,5,0,-8,3])))) - , test "6" (\_ -> equalHack "[8,-3,9,-4,6,9,7,4]"(Json.Encode.encode 0 (jsonEncSimple01(Json.Encode.list Json.Encode.int) (Simple01 [8,-3,9,-4,6,9,7,4])))) - , test "7" (\_ -> equalHack "[-5,-7]"(Json.Encode.encode 0 (jsonEncSimple01(Json.Encode.list Json.Encode.int) (Simple01 [-5,-7])))) - , test "8" (\_ -> equalHack "[-10,-3]"(Json.Encode.encode 0 (jsonEncSimple01(Json.Encode.list Json.Encode.int) (Simple01 [-10,-3])))) - , test "9" (\_ -> equalHack "[-8,-15,-4]"(Json.Encode.encode 0 (jsonEncSimple01(Json.Encode.list Json.Encode.int) (Simple01 [-8,-15,-4])))) - , test "10" (\_ -> equalHack "[-16,-18,1,8,2,-12,-2,-5,-13,14,3,-15,9]"(Json.Encode.encode 0 (jsonEncSimple01(Json.Encode.list Json.Encode.int) (Simple01 [-16,-18,1,8,2,-12,-2,-5,-13,14,3,-15,9])))) - , test "11" (\_ -> equalHack "[-5,-1,-8,-6,6,8]"(Json.Encode.encode 0 (jsonEncSimple01(Json.Encode.list Json.Encode.int) (Simple01 [-5,-1,-8,-6,6,8])))) + , test "2" (\_ -> equalHack "[0,1]"(Json.Encode.encode 0 (jsonEncSimple01(Json.Encode.list Json.Encode.int) (Simple01 [0,1])))) + , test "3" (\_ -> equalHack "[]"(Json.Encode.encode 0 (jsonEncSimple01(Json.Encode.list Json.Encode.int) (Simple01 [])))) + , test "4" (\_ -> equalHack "[-2,-3]"(Json.Encode.encode 0 (jsonEncSimple01(Json.Encode.list Json.Encode.int) (Simple01 [-2,-3])))) + , test "5" (\_ -> equalHack "[2]"(Json.Encode.encode 0 (jsonEncSimple01(Json.Encode.list Json.Encode.int) (Simple01 [2])))) + , test "6" (\_ -> equalHack "[3,-5,-10,-4,10,-4,-2]"(Json.Encode.encode 0 (jsonEncSimple01(Json.Encode.list Json.Encode.int) (Simple01 [3,-5,-10,-4,10,-4,-2])))) + , test "7" (\_ -> equalHack "[3,12,2]"(Json.Encode.encode 0 (jsonEncSimple01(Json.Encode.list Json.Encode.int) (Simple01 [3,12,2])))) + , test "8" (\_ -> equalHack "[8,-7,-7]"(Json.Encode.encode 0 (jsonEncSimple01(Json.Encode.list Json.Encode.int) (Simple01 [8,-7,-7])))) + , test "9" (\_ -> equalHack "[]"(Json.Encode.encode 0 (jsonEncSimple01(Json.Encode.list Json.Encode.int) (Simple01 [])))) + , test "10" (\_ -> equalHack "[12,13,4,5,11,10,2]"(Json.Encode.encode 0 (jsonEncSimple01(Json.Encode.list Json.Encode.int) (Simple01 [12,13,4,5,11,10,2])))) + , test "11" (\_ -> equalHack "[6,1,-3,-18,-7,1,1,5,-11,20,-8,-8,3,6,-19,20,-8,16,-14]"(Json.Encode.encode 0 (jsonEncSimple01(Json.Encode.list Json.Encode.int) (Simple01 [6,1,-3,-18,-7,1,1,5,-11,20,-8,-8,3,6,-19,20,-8,16,-14])))) ] simpleEncode02 : Test simpleEncode02 = describe "Simple encode 02" [ test "1" (\_ -> equalHack "[]"(Json.Encode.encode 0 (jsonEncSimple02(Json.Encode.list Json.Encode.int) (Simple02 [])))) - , test "2" (\_ -> equalHack "[-2,-2]"(Json.Encode.encode 0 (jsonEncSimple02(Json.Encode.list Json.Encode.int) (Simple02 [-2,-2])))) - , test "3" (\_ -> equalHack "[-2,-1,2]"(Json.Encode.encode 0 (jsonEncSimple02(Json.Encode.list Json.Encode.int) (Simple02 [-2,-1,2])))) - , test "4" (\_ -> equalHack "[-6,0]"(Json.Encode.encode 0 (jsonEncSimple02(Json.Encode.list Json.Encode.int) (Simple02 [-6,0])))) - , test "5" (\_ -> equalHack "[8,-8,2,1,-5,4,6,3]"(Json.Encode.encode 0 (jsonEncSimple02(Json.Encode.list Json.Encode.int) (Simple02 [8,-8,2,1,-5,4,6,3])))) - , test "6" (\_ -> equalHack "[3,0,5,-1,2,-7,3,-4]"(Json.Encode.encode 0 (jsonEncSimple02(Json.Encode.list Json.Encode.int) (Simple02 [3,0,5,-1,2,-7,3,-4])))) - , test "7" (\_ -> equalHack "[-7,2,-11,9,-1,8,-9,4,5,-6,9,-12]"(Json.Encode.encode 0 (jsonEncSimple02(Json.Encode.list Json.Encode.int) (Simple02 [-7,2,-11,9,-1,8,-9,4,5,-6,9,-12])))) - , test "8" (\_ -> equalHack "[-1,-7,-1,-8,-8,13,-8,-5,-9]"(Json.Encode.encode 0 (jsonEncSimple02(Json.Encode.list Json.Encode.int) (Simple02 [-1,-7,-1,-8,-8,13,-8,-5,-9])))) - , test "9" (\_ -> equalHack "[-1,-1,13,-5,-7,-9]"(Json.Encode.encode 0 (jsonEncSimple02(Json.Encode.list Json.Encode.int) (Simple02 [-1,-1,13,-5,-7,-9])))) - , test "10" (\_ -> equalHack "[3,-13,-15,-11,-13,13,6,-2]"(Json.Encode.encode 0 (jsonEncSimple02(Json.Encode.list Json.Encode.int) (Simple02 [3,-13,-15,-11,-13,13,6,-2])))) - , test "11" (\_ -> equalHack "[3,9,-12,-5,-12,5,-20,1,-18,17,-9]"(Json.Encode.encode 0 (jsonEncSimple02(Json.Encode.list Json.Encode.int) (Simple02 [3,9,-12,-5,-12,5,-20,1,-18,17,-9])))) + , test "2" (\_ -> equalHack "[]"(Json.Encode.encode 0 (jsonEncSimple02(Json.Encode.list Json.Encode.int) (Simple02 [])))) + , test "3" (\_ -> equalHack "[-3]"(Json.Encode.encode 0 (jsonEncSimple02(Json.Encode.list Json.Encode.int) (Simple02 [-3])))) + , test "4" (\_ -> equalHack "[1,-2,-1,-2,-5,6]"(Json.Encode.encode 0 (jsonEncSimple02(Json.Encode.list Json.Encode.int) (Simple02 [1,-2,-1,-2,-5,6])))) + , test "5" (\_ -> equalHack "[3,0,4,-3]"(Json.Encode.encode 0 (jsonEncSimple02(Json.Encode.list Json.Encode.int) (Simple02 [3,0,4,-3])))) + , test "6" (\_ -> equalHack "[-8,7,-10,9,0,-7]"(Json.Encode.encode 0 (jsonEncSimple02(Json.Encode.list Json.Encode.int) (Simple02 [-8,7,-10,9,0,-7])))) + , test "7" (\_ -> equalHack "[]"(Json.Encode.encode 0 (jsonEncSimple02(Json.Encode.list Json.Encode.int) (Simple02 [])))) + , test "8" (\_ -> equalHack "[]"(Json.Encode.encode 0 (jsonEncSimple02(Json.Encode.list Json.Encode.int) (Simple02 [])))) + , test "9" (\_ -> equalHack "[-13,15,-2,12]"(Json.Encode.encode 0 (jsonEncSimple02(Json.Encode.list Json.Encode.int) (Simple02 [-13,15,-2,12])))) + , test "10" (\_ -> equalHack "[5,-7,16,2,-1,-5,-8,10,7,-16,12,9,15,9,0,11,12]"(Json.Encode.encode 0 (jsonEncSimple02(Json.Encode.list Json.Encode.int) (Simple02 [5,-7,16,2,-1,-5,-8,10,7,-16,12,9,15,9,0,11,12])))) + , test "11" (\_ -> equalHack "[-3,6,4,5,-3,14,1,2,-13,-4,-16,-17]"(Json.Encode.encode 0 (jsonEncSimple02(Json.Encode.list Json.Encode.int) (Simple02 [-3,6,4,5,-3,14,1,2,-13,-4,-16,-17])))) ] simpleEncode03 : Test simpleEncode03 = describe "Simple encode 03" [ test "1" (\_ -> equalHack "[]"(Json.Encode.encode 0 (jsonEncSimple03(Json.Encode.list Json.Encode.int) (Simple03 [])))) - , test "2" (\_ -> equalHack "[]"(Json.Encode.encode 0 (jsonEncSimple03(Json.Encode.list Json.Encode.int) (Simple03 [])))) - , test "3" (\_ -> equalHack "[1,3,-4]"(Json.Encode.encode 0 (jsonEncSimple03(Json.Encode.list Json.Encode.int) (Simple03 [1,3,-4])))) - , test "4" (\_ -> equalHack "[-3,4,0]"(Json.Encode.encode 0 (jsonEncSimple03(Json.Encode.list Json.Encode.int) (Simple03 [-3,4,0])))) - , test "5" (\_ -> equalHack "[-8,-8,5,-4,6,-7,8]"(Json.Encode.encode 0 (jsonEncSimple03(Json.Encode.list Json.Encode.int) (Simple03 [-8,-8,5,-4,6,-7,8])))) - , test "6" (\_ -> equalHack "[-9,8,-1]"(Json.Encode.encode 0 (jsonEncSimple03(Json.Encode.list Json.Encode.int) (Simple03 [-9,8,-1])))) - , test "7" (\_ -> equalHack "[9,-6,2,11,8,-8,1,3,-7,-3]"(Json.Encode.encode 0 (jsonEncSimple03(Json.Encode.list Json.Encode.int) (Simple03 [9,-6,2,11,8,-8,1,3,-7,-3])))) - , test "8" (\_ -> equalHack "[-8,-14,-2,10,6,-1,11,-2]"(Json.Encode.encode 0 (jsonEncSimple03(Json.Encode.list Json.Encode.int) (Simple03 [-8,-14,-2,10,6,-1,11,-2])))) - , test "9" (\_ -> equalHack "[2]"(Json.Encode.encode 0 (jsonEncSimple03(Json.Encode.list Json.Encode.int) (Simple03 [2])))) - , test "10" (\_ -> equalHack "[16,1]"(Json.Encode.encode 0 (jsonEncSimple03(Json.Encode.list Json.Encode.int) (Simple03 [16,1])))) - , test "11" (\_ -> equalHack "[]"(Json.Encode.encode 0 (jsonEncSimple03(Json.Encode.list Json.Encode.int) (Simple03 [])))) + , test "2" (\_ -> equalHack "[2]"(Json.Encode.encode 0 (jsonEncSimple03(Json.Encode.list Json.Encode.int) (Simple03 [2])))) + , test "3" (\_ -> equalHack "[0,-1]"(Json.Encode.encode 0 (jsonEncSimple03(Json.Encode.list Json.Encode.int) (Simple03 [0,-1])))) + , test "4" (\_ -> equalHack "[3]"(Json.Encode.encode 0 (jsonEncSimple03(Json.Encode.list Json.Encode.int) (Simple03 [3])))) + , test "5" (\_ -> equalHack "[-4,-4,-1,-3,5,-2,-4,-6]"(Json.Encode.encode 0 (jsonEncSimple03(Json.Encode.list Json.Encode.int) (Simple03 [-4,-4,-1,-3,5,-2,-4,-6])))) + , test "6" (\_ -> equalHack "[-2]"(Json.Encode.encode 0 (jsonEncSimple03(Json.Encode.list Json.Encode.int) (Simple03 [-2])))) + , test "7" (\_ -> equalHack "[3,2,-8,-2,-4,-4,-10,9,-3]"(Json.Encode.encode 0 (jsonEncSimple03(Json.Encode.list Json.Encode.int) (Simple03 [3,2,-8,-2,-4,-4,-10,9,-3])))) + , test "8" (\_ -> equalHack "[12,4,10,1,1,-5,-13,-1,13,5,-14,-13]"(Json.Encode.encode 0 (jsonEncSimple03(Json.Encode.list Json.Encode.int) (Simple03 [12,4,10,1,1,-5,-13,-1,13,5,-14,-13])))) + , test "9" (\_ -> equalHack "[-14,13,5,5,11,3,14,-10,-1,-8,-2,15,-15,0,-10,14]"(Json.Encode.encode 0 (jsonEncSimple03(Json.Encode.list Json.Encode.int) (Simple03 [-14,13,5,5,11,3,14,-10,-1,-8,-2,15,-15,0,-10,14])))) + , test "10" (\_ -> equalHack "[3,-4,11,12,15,-2,-8,8,18,-15,-15,8,3,-17,0]"(Json.Encode.encode 0 (jsonEncSimple03(Json.Encode.list Json.Encode.int) (Simple03 [3,-4,11,12,15,-2,-8,8,18,-15,-15,8,3,-17,0])))) + , test "11" (\_ -> equalHack "[5,-1,17,-4,-4,-18,18,-8,11]"(Json.Encode.encode 0 (jsonEncSimple03(Json.Encode.list Json.Encode.int) (Simple03 [5,-1,17,-4,-4,-18,18,-8,11])))) ] simpleEncode04 : Test simpleEncode04 = describe "Simple encode 04" [ test "1" (\_ -> equalHack "[]"(Json.Encode.encode 0 (jsonEncSimple04(Json.Encode.list Json.Encode.int) (Simple04 [])))) - , test "2" (\_ -> equalHack "[2]"(Json.Encode.encode 0 (jsonEncSimple04(Json.Encode.list Json.Encode.int) (Simple04 [2])))) - , test "3" (\_ -> equalHack "[]"(Json.Encode.encode 0 (jsonEncSimple04(Json.Encode.list Json.Encode.int) (Simple04 [])))) - , test "4" (\_ -> equalHack "[-6,-4]"(Json.Encode.encode 0 (jsonEncSimple04(Json.Encode.list Json.Encode.int) (Simple04 [-6,-4])))) - , test "5" (\_ -> equalHack "[2,-5,5,-3]"(Json.Encode.encode 0 (jsonEncSimple04(Json.Encode.list Json.Encode.int) (Simple04 [2,-5,5,-3])))) - , test "6" (\_ -> equalHack "[-5,-4]"(Json.Encode.encode 0 (jsonEncSimple04(Json.Encode.list Json.Encode.int) (Simple04 [-5,-4])))) - , test "7" (\_ -> equalHack "[-12,2,-11,0,5,-7]"(Json.Encode.encode 0 (jsonEncSimple04(Json.Encode.list Json.Encode.int) (Simple04 [-12,2,-11,0,5,-7])))) - , test "8" (\_ -> equalHack "[1,5,14,4,1,4,-9,6,-12,-14]"(Json.Encode.encode 0 (jsonEncSimple04(Json.Encode.list Json.Encode.int) (Simple04 [1,5,14,4,1,4,-9,6,-12,-14])))) - , test "9" (\_ -> equalHack "[2,-2,15,2,0,-14,12,-10,14]"(Json.Encode.encode 0 (jsonEncSimple04(Json.Encode.list Json.Encode.int) (Simple04 [2,-2,15,2,0,-14,12,-10,14])))) - , test "10" (\_ -> equalHack "[]"(Json.Encode.encode 0 (jsonEncSimple04(Json.Encode.list Json.Encode.int) (Simple04 [])))) - , test "11" (\_ -> equalHack "[-2,16]"(Json.Encode.encode 0 (jsonEncSimple04(Json.Encode.list Json.Encode.int) (Simple04 [-2,16])))) + , test "2" (\_ -> equalHack "[]"(Json.Encode.encode 0 (jsonEncSimple04(Json.Encode.list Json.Encode.int) (Simple04 [])))) + , test "3" (\_ -> equalHack "[-2,-2,3]"(Json.Encode.encode 0 (jsonEncSimple04(Json.Encode.list Json.Encode.int) (Simple04 [-2,-2,3])))) + , test "4" (\_ -> equalHack "[3,4,5,-6]"(Json.Encode.encode 0 (jsonEncSimple04(Json.Encode.list Json.Encode.int) (Simple04 [3,4,5,-6])))) + , test "5" (\_ -> equalHack "[1,4,-3,8,5,2,-7]"(Json.Encode.encode 0 (jsonEncSimple04(Json.Encode.list Json.Encode.int) (Simple04 [1,4,-3,8,5,2,-7])))) + , test "6" (\_ -> equalHack "[9,-2,10,1,1,1,3,4,10,1]"(Json.Encode.encode 0 (jsonEncSimple04(Json.Encode.list Json.Encode.int) (Simple04 [9,-2,10,1,1,1,3,4,10,1])))) + , test "7" (\_ -> equalHack "[-11,10]"(Json.Encode.encode 0 (jsonEncSimple04(Json.Encode.list Json.Encode.int) (Simple04 [-11,10])))) + , test "8" (\_ -> equalHack "[7,-12,14,-3,3,2,-5,7,5,11]"(Json.Encode.encode 0 (jsonEncSimple04(Json.Encode.list Json.Encode.int) (Simple04 [7,-12,14,-3,3,2,-5,7,5,11])))) + , test "9" (\_ -> equalHack "[]"(Json.Encode.encode 0 (jsonEncSimple04(Json.Encode.list Json.Encode.int) (Simple04 [])))) + , test "10" (\_ -> equalHack "[-16,-4,16,5,-12,11,-18,7,-12,1,11]"(Json.Encode.encode 0 (jsonEncSimple04(Json.Encode.list Json.Encode.int) (Simple04 [-16,-4,16,5,-12,11,-18,7,-12,1,11])))) + , test "11" (\_ -> equalHack "[4,-18,13,7,9,12,6,7,15,3,17,-18,12,8,5,-5,0,9]"(Json.Encode.encode 0 (jsonEncSimple04(Json.Encode.list Json.Encode.int) (Simple04 [4,-18,13,7,9,12,6,7,15,3,17,-18,12,8,5,-5,0,9])))) ] simpleDecode01 : Test simpleDecode01 = describe "Simple decode 01" [ test "1" (\_ -> equal (Ok (Simple01 [])) (Json.Decode.decodeString (jsonDecSimple01 (Json.Decode.list Json.Decode.int)) "[]")) - , test "2" (\_ -> equal (Ok (Simple01 [2,1])) (Json.Decode.decodeString (jsonDecSimple01 (Json.Decode.list Json.Decode.int)) "[2,1]")) - , test "3" (\_ -> equal (Ok (Simple01 [3,4,4,-2])) (Json.Decode.decodeString (jsonDecSimple01 (Json.Decode.list Json.Decode.int)) "[3,4,4,-2]")) - , test "4" (\_ -> equal (Ok (Simple01 [1,0,6])) (Json.Decode.decodeString (jsonDecSimple01 (Json.Decode.list Json.Decode.int)) "[1,0,6]")) - , test "5" (\_ -> equal (Ok (Simple01 [4,5,0,-8,3])) (Json.Decode.decodeString (jsonDecSimple01 (Json.Decode.list Json.Decode.int)) "[4,5,0,-8,3]")) - , test "6" (\_ -> equal (Ok (Simple01 [8,-3,9,-4,6,9,7,4])) (Json.Decode.decodeString (jsonDecSimple01 (Json.Decode.list Json.Decode.int)) "[8,-3,9,-4,6,9,7,4]")) - , test "7" (\_ -> equal (Ok (Simple01 [-5,-7])) (Json.Decode.decodeString (jsonDecSimple01 (Json.Decode.list Json.Decode.int)) "[-5,-7]")) - , test "8" (\_ -> equal (Ok (Simple01 [-10,-3])) (Json.Decode.decodeString (jsonDecSimple01 (Json.Decode.list Json.Decode.int)) "[-10,-3]")) - , test "9" (\_ -> equal (Ok (Simple01 [-8,-15,-4])) (Json.Decode.decodeString (jsonDecSimple01 (Json.Decode.list Json.Decode.int)) "[-8,-15,-4]")) - , test "10" (\_ -> equal (Ok (Simple01 [-16,-18,1,8,2,-12,-2,-5,-13,14,3,-15,9])) (Json.Decode.decodeString (jsonDecSimple01 (Json.Decode.list Json.Decode.int)) "[-16,-18,1,8,2,-12,-2,-5,-13,14,3,-15,9]")) - , test "11" (\_ -> equal (Ok (Simple01 [-5,-1,-8,-6,6,8])) (Json.Decode.decodeString (jsonDecSimple01 (Json.Decode.list Json.Decode.int)) "[-5,-1,-8,-6,6,8]")) + , test "2" (\_ -> equal (Ok (Simple01 [0,1])) (Json.Decode.decodeString (jsonDecSimple01 (Json.Decode.list Json.Decode.int)) "[0,1]")) + , test "3" (\_ -> equal (Ok (Simple01 [])) (Json.Decode.decodeString (jsonDecSimple01 (Json.Decode.list Json.Decode.int)) "[]")) + , test "4" (\_ -> equal (Ok (Simple01 [-2,-3])) (Json.Decode.decodeString (jsonDecSimple01 (Json.Decode.list Json.Decode.int)) "[-2,-3]")) + , test "5" (\_ -> equal (Ok (Simple01 [2])) (Json.Decode.decodeString (jsonDecSimple01 (Json.Decode.list Json.Decode.int)) "[2]")) + , test "6" (\_ -> equal (Ok (Simple01 [3,-5,-10,-4,10,-4,-2])) (Json.Decode.decodeString (jsonDecSimple01 (Json.Decode.list Json.Decode.int)) "[3,-5,-10,-4,10,-4,-2]")) + , test "7" (\_ -> equal (Ok (Simple01 [3,12,2])) (Json.Decode.decodeString (jsonDecSimple01 (Json.Decode.list Json.Decode.int)) "[3,12,2]")) + , test "8" (\_ -> equal (Ok (Simple01 [8,-7,-7])) (Json.Decode.decodeString (jsonDecSimple01 (Json.Decode.list Json.Decode.int)) "[8,-7,-7]")) + , test "9" (\_ -> equal (Ok (Simple01 [])) (Json.Decode.decodeString (jsonDecSimple01 (Json.Decode.list Json.Decode.int)) "[]")) + , test "10" (\_ -> equal (Ok (Simple01 [12,13,4,5,11,10,2])) (Json.Decode.decodeString (jsonDecSimple01 (Json.Decode.list Json.Decode.int)) "[12,13,4,5,11,10,2]")) + , test "11" (\_ -> equal (Ok (Simple01 [6,1,-3,-18,-7,1,1,5,-11,20,-8,-8,3,6,-19,20,-8,16,-14])) (Json.Decode.decodeString (jsonDecSimple01 (Json.Decode.list Json.Decode.int)) "[6,1,-3,-18,-7,1,1,5,-11,20,-8,-8,3,6,-19,20,-8,16,-14]")) ] simpleDecode02 : Test simpleDecode02 = describe "Simple decode 02" [ test "1" (\_ -> equal (Ok (Simple02 [])) (Json.Decode.decodeString (jsonDecSimple02 (Json.Decode.list Json.Decode.int)) "[]")) - , test "2" (\_ -> equal (Ok (Simple02 [-2,-2])) (Json.Decode.decodeString (jsonDecSimple02 (Json.Decode.list Json.Decode.int)) "[-2,-2]")) - , test "3" (\_ -> equal (Ok (Simple02 [-2,-1,2])) (Json.Decode.decodeString (jsonDecSimple02 (Json.Decode.list Json.Decode.int)) "[-2,-1,2]")) - , test "4" (\_ -> equal (Ok (Simple02 [-6,0])) (Json.Decode.decodeString (jsonDecSimple02 (Json.Decode.list Json.Decode.int)) "[-6,0]")) - , test "5" (\_ -> equal (Ok (Simple02 [8,-8,2,1,-5,4,6,3])) (Json.Decode.decodeString (jsonDecSimple02 (Json.Decode.list Json.Decode.int)) "[8,-8,2,1,-5,4,6,3]")) - , test "6" (\_ -> equal (Ok (Simple02 [3,0,5,-1,2,-7,3,-4])) (Json.Decode.decodeString (jsonDecSimple02 (Json.Decode.list Json.Decode.int)) "[3,0,5,-1,2,-7,3,-4]")) - , test "7" (\_ -> equal (Ok (Simple02 [-7,2,-11,9,-1,8,-9,4,5,-6,9,-12])) (Json.Decode.decodeString (jsonDecSimple02 (Json.Decode.list Json.Decode.int)) "[-7,2,-11,9,-1,8,-9,4,5,-6,9,-12]")) - , test "8" (\_ -> equal (Ok (Simple02 [-1,-7,-1,-8,-8,13,-8,-5,-9])) (Json.Decode.decodeString (jsonDecSimple02 (Json.Decode.list Json.Decode.int)) "[-1,-7,-1,-8,-8,13,-8,-5,-9]")) - , test "9" (\_ -> equal (Ok (Simple02 [-1,-1,13,-5,-7,-9])) (Json.Decode.decodeString (jsonDecSimple02 (Json.Decode.list Json.Decode.int)) "[-1,-1,13,-5,-7,-9]")) - , test "10" (\_ -> equal (Ok (Simple02 [3,-13,-15,-11,-13,13,6,-2])) (Json.Decode.decodeString (jsonDecSimple02 (Json.Decode.list Json.Decode.int)) "[3,-13,-15,-11,-13,13,6,-2]")) - , test "11" (\_ -> equal (Ok (Simple02 [3,9,-12,-5,-12,5,-20,1,-18,17,-9])) (Json.Decode.decodeString (jsonDecSimple02 (Json.Decode.list Json.Decode.int)) "[3,9,-12,-5,-12,5,-20,1,-18,17,-9]")) + , test "2" (\_ -> equal (Ok (Simple02 [])) (Json.Decode.decodeString (jsonDecSimple02 (Json.Decode.list Json.Decode.int)) "[]")) + , test "3" (\_ -> equal (Ok (Simple02 [-3])) (Json.Decode.decodeString (jsonDecSimple02 (Json.Decode.list Json.Decode.int)) "[-3]")) + , test "4" (\_ -> equal (Ok (Simple02 [1,-2,-1,-2,-5,6])) (Json.Decode.decodeString (jsonDecSimple02 (Json.Decode.list Json.Decode.int)) "[1,-2,-1,-2,-5,6]")) + , test "5" (\_ -> equal (Ok (Simple02 [3,0,4,-3])) (Json.Decode.decodeString (jsonDecSimple02 (Json.Decode.list Json.Decode.int)) "[3,0,4,-3]")) + , test "6" (\_ -> equal (Ok (Simple02 [-8,7,-10,9,0,-7])) (Json.Decode.decodeString (jsonDecSimple02 (Json.Decode.list Json.Decode.int)) "[-8,7,-10,9,0,-7]")) + , test "7" (\_ -> equal (Ok (Simple02 [])) (Json.Decode.decodeString (jsonDecSimple02 (Json.Decode.list Json.Decode.int)) "[]")) + , test "8" (\_ -> equal (Ok (Simple02 [])) (Json.Decode.decodeString (jsonDecSimple02 (Json.Decode.list Json.Decode.int)) "[]")) + , test "9" (\_ -> equal (Ok (Simple02 [-13,15,-2,12])) (Json.Decode.decodeString (jsonDecSimple02 (Json.Decode.list Json.Decode.int)) "[-13,15,-2,12]")) + , test "10" (\_ -> equal (Ok (Simple02 [5,-7,16,2,-1,-5,-8,10,7,-16,12,9,15,9,0,11,12])) (Json.Decode.decodeString (jsonDecSimple02 (Json.Decode.list Json.Decode.int)) "[5,-7,16,2,-1,-5,-8,10,7,-16,12,9,15,9,0,11,12]")) + , test "11" (\_ -> equal (Ok (Simple02 [-3,6,4,5,-3,14,1,2,-13,-4,-16,-17])) (Json.Decode.decodeString (jsonDecSimple02 (Json.Decode.list Json.Decode.int)) "[-3,6,4,5,-3,14,1,2,-13,-4,-16,-17]")) ] simpleDecode03 : Test simpleDecode03 = describe "Simple decode 03" [ test "1" (\_ -> equal (Ok (Simple03 [])) (Json.Decode.decodeString (jsonDecSimple03 (Json.Decode.list Json.Decode.int)) "[]")) - , test "2" (\_ -> equal (Ok (Simple03 [])) (Json.Decode.decodeString (jsonDecSimple03 (Json.Decode.list Json.Decode.int)) "[]")) - , test "3" (\_ -> equal (Ok (Simple03 [1,3,-4])) (Json.Decode.decodeString (jsonDecSimple03 (Json.Decode.list Json.Decode.int)) "[1,3,-4]")) - , test "4" (\_ -> equal (Ok (Simple03 [-3,4,0])) (Json.Decode.decodeString (jsonDecSimple03 (Json.Decode.list Json.Decode.int)) "[-3,4,0]")) - , test "5" (\_ -> equal (Ok (Simple03 [-8,-8,5,-4,6,-7,8])) (Json.Decode.decodeString (jsonDecSimple03 (Json.Decode.list Json.Decode.int)) "[-8,-8,5,-4,6,-7,8]")) - , test "6" (\_ -> equal (Ok (Simple03 [-9,8,-1])) (Json.Decode.decodeString (jsonDecSimple03 (Json.Decode.list Json.Decode.int)) "[-9,8,-1]")) - , test "7" (\_ -> equal (Ok (Simple03 [9,-6,2,11,8,-8,1,3,-7,-3])) (Json.Decode.decodeString (jsonDecSimple03 (Json.Decode.list Json.Decode.int)) "[9,-6,2,11,8,-8,1,3,-7,-3]")) - , test "8" (\_ -> equal (Ok (Simple03 [-8,-14,-2,10,6,-1,11,-2])) (Json.Decode.decodeString (jsonDecSimple03 (Json.Decode.list Json.Decode.int)) "[-8,-14,-2,10,6,-1,11,-2]")) - , test "9" (\_ -> equal (Ok (Simple03 [2])) (Json.Decode.decodeString (jsonDecSimple03 (Json.Decode.list Json.Decode.int)) "[2]")) - , test "10" (\_ -> equal (Ok (Simple03 [16,1])) (Json.Decode.decodeString (jsonDecSimple03 (Json.Decode.list Json.Decode.int)) "[16,1]")) - , test "11" (\_ -> equal (Ok (Simple03 [])) (Json.Decode.decodeString (jsonDecSimple03 (Json.Decode.list Json.Decode.int)) "[]")) + , test "2" (\_ -> equal (Ok (Simple03 [2])) (Json.Decode.decodeString (jsonDecSimple03 (Json.Decode.list Json.Decode.int)) "[2]")) + , test "3" (\_ -> equal (Ok (Simple03 [0,-1])) (Json.Decode.decodeString (jsonDecSimple03 (Json.Decode.list Json.Decode.int)) "[0,-1]")) + , test "4" (\_ -> equal (Ok (Simple03 [3])) (Json.Decode.decodeString (jsonDecSimple03 (Json.Decode.list Json.Decode.int)) "[3]")) + , test "5" (\_ -> equal (Ok (Simple03 [-4,-4,-1,-3,5,-2,-4,-6])) (Json.Decode.decodeString (jsonDecSimple03 (Json.Decode.list Json.Decode.int)) "[-4,-4,-1,-3,5,-2,-4,-6]")) + , test "6" (\_ -> equal (Ok (Simple03 [-2])) (Json.Decode.decodeString (jsonDecSimple03 (Json.Decode.list Json.Decode.int)) "[-2]")) + , test "7" (\_ -> equal (Ok (Simple03 [3,2,-8,-2,-4,-4,-10,9,-3])) (Json.Decode.decodeString (jsonDecSimple03 (Json.Decode.list Json.Decode.int)) "[3,2,-8,-2,-4,-4,-10,9,-3]")) + , test "8" (\_ -> equal (Ok (Simple03 [12,4,10,1,1,-5,-13,-1,13,5,-14,-13])) (Json.Decode.decodeString (jsonDecSimple03 (Json.Decode.list Json.Decode.int)) "[12,4,10,1,1,-5,-13,-1,13,5,-14,-13]")) + , test "9" (\_ -> equal (Ok (Simple03 [-14,13,5,5,11,3,14,-10,-1,-8,-2,15,-15,0,-10,14])) (Json.Decode.decodeString (jsonDecSimple03 (Json.Decode.list Json.Decode.int)) "[-14,13,5,5,11,3,14,-10,-1,-8,-2,15,-15,0,-10,14]")) + , test "10" (\_ -> equal (Ok (Simple03 [3,-4,11,12,15,-2,-8,8,18,-15,-15,8,3,-17,0])) (Json.Decode.decodeString (jsonDecSimple03 (Json.Decode.list Json.Decode.int)) "[3,-4,11,12,15,-2,-8,8,18,-15,-15,8,3,-17,0]")) + , test "11" (\_ -> equal (Ok (Simple03 [5,-1,17,-4,-4,-18,18,-8,11])) (Json.Decode.decodeString (jsonDecSimple03 (Json.Decode.list Json.Decode.int)) "[5,-1,17,-4,-4,-18,18,-8,11]")) ] simpleDecode04 : Test simpleDecode04 = describe "Simple decode 04" [ test "1" (\_ -> equal (Ok (Simple04 [])) (Json.Decode.decodeString (jsonDecSimple04 (Json.Decode.list Json.Decode.int)) "[]")) - , test "2" (\_ -> equal (Ok (Simple04 [2])) (Json.Decode.decodeString (jsonDecSimple04 (Json.Decode.list Json.Decode.int)) "[2]")) - , test "3" (\_ -> equal (Ok (Simple04 [])) (Json.Decode.decodeString (jsonDecSimple04 (Json.Decode.list Json.Decode.int)) "[]")) - , test "4" (\_ -> equal (Ok (Simple04 [-6,-4])) (Json.Decode.decodeString (jsonDecSimple04 (Json.Decode.list Json.Decode.int)) "[-6,-4]")) - , test "5" (\_ -> equal (Ok (Simple04 [2,-5,5,-3])) (Json.Decode.decodeString (jsonDecSimple04 (Json.Decode.list Json.Decode.int)) "[2,-5,5,-3]")) - , test "6" (\_ -> equal (Ok (Simple04 [-5,-4])) (Json.Decode.decodeString (jsonDecSimple04 (Json.Decode.list Json.Decode.int)) "[-5,-4]")) - , test "7" (\_ -> equal (Ok (Simple04 [-12,2,-11,0,5,-7])) (Json.Decode.decodeString (jsonDecSimple04 (Json.Decode.list Json.Decode.int)) "[-12,2,-11,0,5,-7]")) - , test "8" (\_ -> equal (Ok (Simple04 [1,5,14,4,1,4,-9,6,-12,-14])) (Json.Decode.decodeString (jsonDecSimple04 (Json.Decode.list Json.Decode.int)) "[1,5,14,4,1,4,-9,6,-12,-14]")) - , test "9" (\_ -> equal (Ok (Simple04 [2,-2,15,2,0,-14,12,-10,14])) (Json.Decode.decodeString (jsonDecSimple04 (Json.Decode.list Json.Decode.int)) "[2,-2,15,2,0,-14,12,-10,14]")) - , test "10" (\_ -> equal (Ok (Simple04 [])) (Json.Decode.decodeString (jsonDecSimple04 (Json.Decode.list Json.Decode.int)) "[]")) - , test "11" (\_ -> equal (Ok (Simple04 [-2,16])) (Json.Decode.decodeString (jsonDecSimple04 (Json.Decode.list Json.Decode.int)) "[-2,16]")) + , test "2" (\_ -> equal (Ok (Simple04 [])) (Json.Decode.decodeString (jsonDecSimple04 (Json.Decode.list Json.Decode.int)) "[]")) + , test "3" (\_ -> equal (Ok (Simple04 [-2,-2,3])) (Json.Decode.decodeString (jsonDecSimple04 (Json.Decode.list Json.Decode.int)) "[-2,-2,3]")) + , test "4" (\_ -> equal (Ok (Simple04 [3,4,5,-6])) (Json.Decode.decodeString (jsonDecSimple04 (Json.Decode.list Json.Decode.int)) "[3,4,5,-6]")) + , test "5" (\_ -> equal (Ok (Simple04 [1,4,-3,8,5,2,-7])) (Json.Decode.decodeString (jsonDecSimple04 (Json.Decode.list Json.Decode.int)) "[1,4,-3,8,5,2,-7]")) + , test "6" (\_ -> equal (Ok (Simple04 [9,-2,10,1,1,1,3,4,10,1])) (Json.Decode.decodeString (jsonDecSimple04 (Json.Decode.list Json.Decode.int)) "[9,-2,10,1,1,1,3,4,10,1]")) + , test "7" (\_ -> equal (Ok (Simple04 [-11,10])) (Json.Decode.decodeString (jsonDecSimple04 (Json.Decode.list Json.Decode.int)) "[-11,10]")) + , test "8" (\_ -> equal (Ok (Simple04 [7,-12,14,-3,3,2,-5,7,5,11])) (Json.Decode.decodeString (jsonDecSimple04 (Json.Decode.list Json.Decode.int)) "[7,-12,14,-3,3,2,-5,7,5,11]")) + , test "9" (\_ -> equal (Ok (Simple04 [])) (Json.Decode.decodeString (jsonDecSimple04 (Json.Decode.list Json.Decode.int)) "[]")) + , test "10" (\_ -> equal (Ok (Simple04 [-16,-4,16,5,-12,11,-18,7,-12,1,11])) (Json.Decode.decodeString (jsonDecSimple04 (Json.Decode.list Json.Decode.int)) "[-16,-4,16,5,-12,11,-18,7,-12,1,11]")) + , test "11" (\_ -> equal (Ok (Simple04 [4,-18,13,7,9,12,6,7,15,3,17,-18,12,8,5,-5,0,9])) (Json.Decode.decodeString (jsonDecSimple04 (Json.Decode.list Json.Decode.int)) "[4,-18,13,7,9,12,6,7,15,3,17,-18,12,8,5,-5,0,9]")) ] simplerecordEncode01 : Test simplerecordEncode01 = describe "SimpleRecord encode 01" [ test "1" (\_ -> equalHack "{\"qux\":[]}"(Json.Encode.encode 0 (jsonEncSimpleRecord01(Json.Encode.list Json.Encode.int) (SimpleRecord01 {qux = []})))) - , test "2" (\_ -> equalHack "{\"qux\":[]}"(Json.Encode.encode 0 (jsonEncSimpleRecord01(Json.Encode.list Json.Encode.int) (SimpleRecord01 {qux = []})))) - , test "3" (\_ -> equalHack "{\"qux\":[2,0,-2,3]}"(Json.Encode.encode 0 (jsonEncSimpleRecord01(Json.Encode.list Json.Encode.int) (SimpleRecord01 {qux = [2,0,-2,3]})))) - , test "4" (\_ -> equalHack "{\"qux\":[2]}"(Json.Encode.encode 0 (jsonEncSimpleRecord01(Json.Encode.list Json.Encode.int) (SimpleRecord01 {qux = [2]})))) - , test "5" (\_ -> equalHack "{\"qux\":[1,6,5,7,-2,8,4]}"(Json.Encode.encode 0 (jsonEncSimpleRecord01(Json.Encode.list Json.Encode.int) (SimpleRecord01 {qux = [1,6,5,7,-2,8,4]})))) - , test "6" (\_ -> equalHack "{\"qux\":[4,10,0,-2,-10,-2,3,0,-9]}"(Json.Encode.encode 0 (jsonEncSimpleRecord01(Json.Encode.list Json.Encode.int) (SimpleRecord01 {qux = [4,10,0,-2,-10,-2,3,0,-9]})))) - , test "7" (\_ -> equalHack "{\"qux\":[-7,-3,5,4]}"(Json.Encode.encode 0 (jsonEncSimpleRecord01(Json.Encode.list Json.Encode.int) (SimpleRecord01 {qux = [-7,-3,5,4]})))) - , test "8" (\_ -> equalHack "{\"qux\":[-9,4,-1,-12,2,-8,11,-12,7,-5]}"(Json.Encode.encode 0 (jsonEncSimpleRecord01(Json.Encode.list Json.Encode.int) (SimpleRecord01 {qux = [-9,4,-1,-12,2,-8,11,-12,7,-5]})))) - , test "9" (\_ -> equalHack "{\"qux\":[-6,-9,3,-8,6]}"(Json.Encode.encode 0 (jsonEncSimpleRecord01(Json.Encode.list Json.Encode.int) (SimpleRecord01 {qux = [-6,-9,3,-8,6]})))) - , test "10" (\_ -> equalHack "{\"qux\":[9,-15,-8,15,-7,-1,14,-7,0,14,-8,-7]}"(Json.Encode.encode 0 (jsonEncSimpleRecord01(Json.Encode.list Json.Encode.int) (SimpleRecord01 {qux = [9,-15,-8,15,-7,-1,14,-7,0,14,-8,-7]})))) - , test "11" (\_ -> equalHack "{\"qux\":[-11,-6,-12,-19,11,7,-1]}"(Json.Encode.encode 0 (jsonEncSimpleRecord01(Json.Encode.list Json.Encode.int) (SimpleRecord01 {qux = [-11,-6,-12,-19,11,7,-1]})))) + , test "2" (\_ -> equalHack "{\"qux\":[0]}"(Json.Encode.encode 0 (jsonEncSimpleRecord01(Json.Encode.list Json.Encode.int) (SimpleRecord01 {qux = [0]})))) + , test "3" (\_ -> equalHack "{\"qux\":[-3,0,0,4]}"(Json.Encode.encode 0 (jsonEncSimpleRecord01(Json.Encode.list Json.Encode.int) (SimpleRecord01 {qux = [-3,0,0,4]})))) + , test "4" (\_ -> equalHack "{\"qux\":[5,-2,3,0,-3]}"(Json.Encode.encode 0 (jsonEncSimpleRecord01(Json.Encode.list Json.Encode.int) (SimpleRecord01 {qux = [5,-2,3,0,-3]})))) + , test "5" (\_ -> equalHack "{\"qux\":[-3,-2]}"(Json.Encode.encode 0 (jsonEncSimpleRecord01(Json.Encode.list Json.Encode.int) (SimpleRecord01 {qux = [-3,-2]})))) + , test "6" (\_ -> equalHack "{\"qux\":[8,-8,5]}"(Json.Encode.encode 0 (jsonEncSimpleRecord01(Json.Encode.list Json.Encode.int) (SimpleRecord01 {qux = [8,-8,5]})))) + , test "7" (\_ -> equalHack "{\"qux\":[-10,7,-4,-6,-3,-11,-9,5,-6,8,6]}"(Json.Encode.encode 0 (jsonEncSimpleRecord01(Json.Encode.list Json.Encode.int) (SimpleRecord01 {qux = [-10,7,-4,-6,-3,-11,-9,5,-6,8,6]})))) + , test "8" (\_ -> equalHack "{\"qux\":[-7,-8,-5,13,10,-9]}"(Json.Encode.encode 0 (jsonEncSimpleRecord01(Json.Encode.list Json.Encode.int) (SimpleRecord01 {qux = [-7,-8,-5,13,10,-9]})))) + , test "9" (\_ -> equalHack "{\"qux\":[-5,2,10,4]}"(Json.Encode.encode 0 (jsonEncSimpleRecord01(Json.Encode.list Json.Encode.int) (SimpleRecord01 {qux = [-5,2,10,4]})))) + , test "10" (\_ -> equalHack "{\"qux\":[7,16,18,-8,-9,8,4,5,-9,-15]}"(Json.Encode.encode 0 (jsonEncSimpleRecord01(Json.Encode.list Json.Encode.int) (SimpleRecord01 {qux = [7,16,18,-8,-9,8,4,5,-9,-15]})))) + , test "11" (\_ -> equalHack "{\"qux\":[-19,18]}"(Json.Encode.encode 0 (jsonEncSimpleRecord01(Json.Encode.list Json.Encode.int) (SimpleRecord01 {qux = [-19,18]})))) ] simplerecordEncode02 : Test simplerecordEncode02 = describe "SimpleRecord encode 02" [ test "1" (\_ -> equalHack "[]"(Json.Encode.encode 0 (jsonEncSimpleRecord02(Json.Encode.list Json.Encode.int) (SimpleRecord02 {qux = []})))) - , test "2" (\_ -> equalHack "[-1,2]"(Json.Encode.encode 0 (jsonEncSimpleRecord02(Json.Encode.list Json.Encode.int) (SimpleRecord02 {qux = [-1,2]})))) - , test "3" (\_ -> equalHack "[]"(Json.Encode.encode 0 (jsonEncSimpleRecord02(Json.Encode.list Json.Encode.int) (SimpleRecord02 {qux = []})))) + , test "2" (\_ -> equalHack "[]"(Json.Encode.encode 0 (jsonEncSimpleRecord02(Json.Encode.list Json.Encode.int) (SimpleRecord02 {qux = []})))) + , test "3" (\_ -> equalHack "[0,-4]"(Json.Encode.encode 0 (jsonEncSimpleRecord02(Json.Encode.list Json.Encode.int) (SimpleRecord02 {qux = [0,-4]})))) , test "4" (\_ -> equalHack "[]"(Json.Encode.encode 0 (jsonEncSimpleRecord02(Json.Encode.list Json.Encode.int) (SimpleRecord02 {qux = []})))) - , test "5" (\_ -> equalHack "[-1,-5,-7,4,-5,0,-2]"(Json.Encode.encode 0 (jsonEncSimpleRecord02(Json.Encode.list Json.Encode.int) (SimpleRecord02 {qux = [-1,-5,-7,4,-5,0,-2]})))) - , test "6" (\_ -> equalHack "[-5]"(Json.Encode.encode 0 (jsonEncSimpleRecord02(Json.Encode.list Json.Encode.int) (SimpleRecord02 {qux = [-5]})))) - , test "7" (\_ -> equalHack "[8,-6,-11,4,5,9,0,-12,-6,3,11]"(Json.Encode.encode 0 (jsonEncSimpleRecord02(Json.Encode.list Json.Encode.int) (SimpleRecord02 {qux = [8,-6,-11,4,5,9,0,-12,-6,3,11]})))) - , test "8" (\_ -> equalHack "[9,-3,11,14,3,1,-3]"(Json.Encode.encode 0 (jsonEncSimpleRecord02(Json.Encode.list Json.Encode.int) (SimpleRecord02 {qux = [9,-3,11,14,3,1,-3]})))) - , test "9" (\_ -> equalHack "[12,-6,-1,14,13,14,8,13,-9,-14,-1,1,-16,-3]"(Json.Encode.encode 0 (jsonEncSimpleRecord02(Json.Encode.list Json.Encode.int) (SimpleRecord02 {qux = [12,-6,-1,14,13,14,8,13,-9,-14,-1,1,-16,-3]})))) - , test "10" (\_ -> equalHack "[]"(Json.Encode.encode 0 (jsonEncSimpleRecord02(Json.Encode.list Json.Encode.int) (SimpleRecord02 {qux = []})))) - , test "11" (\_ -> equalHack "[-4,-17,19,4,-20,-9,16,-18,7,14,15,-13,19,-3,6,-17]"(Json.Encode.encode 0 (jsonEncSimpleRecord02(Json.Encode.list Json.Encode.int) (SimpleRecord02 {qux = [-4,-17,19,4,-20,-9,16,-18,7,14,15,-13,19,-3,6,-17]})))) + , test "5" (\_ -> equalHack "[4,1,-3]"(Json.Encode.encode 0 (jsonEncSimpleRecord02(Json.Encode.list Json.Encode.int) (SimpleRecord02 {qux = [4,1,-3]})))) + , test "6" (\_ -> equalHack "[-3,7,6,-8]"(Json.Encode.encode 0 (jsonEncSimpleRecord02(Json.Encode.list Json.Encode.int) (SimpleRecord02 {qux = [-3,7,6,-8]})))) + , test "7" (\_ -> equalHack "[7,9,12,5,-9,-4,-5,-7]"(Json.Encode.encode 0 (jsonEncSimpleRecord02(Json.Encode.list Json.Encode.int) (SimpleRecord02 {qux = [7,9,12,5,-9,-4,-5,-7]})))) + , test "8" (\_ -> equalHack "[-2,-2,2,7,3,13,-6,-8,2]"(Json.Encode.encode 0 (jsonEncSimpleRecord02(Json.Encode.list Json.Encode.int) (SimpleRecord02 {qux = [-2,-2,2,7,3,13,-6,-8,2]})))) + , test "9" (\_ -> equalHack "[4,2,-13,-14,14,-8,-5,14,-12,8,-8,15,-12,-5,-15]"(Json.Encode.encode 0 (jsonEncSimpleRecord02(Json.Encode.list Json.Encode.int) (SimpleRecord02 {qux = [4,2,-13,-14,14,-8,-5,14,-12,8,-8,15,-12,-5,-15]})))) + , test "10" (\_ -> equalHack "[13,-9,6,18,-13,14,-1,-7]"(Json.Encode.encode 0 (jsonEncSimpleRecord02(Json.Encode.list Json.Encode.int) (SimpleRecord02 {qux = [13,-9,6,18,-13,14,-1,-7]})))) + , test "11" (\_ -> equalHack "[2,2]"(Json.Encode.encode 0 (jsonEncSimpleRecord02(Json.Encode.list Json.Encode.int) (SimpleRecord02 {qux = [2,2]})))) ] simplerecordEncode03 : Test simplerecordEncode03 = describe "SimpleRecord encode 03" [ test "1" (\_ -> equalHack "{\"qux\":[]}"(Json.Encode.encode 0 (jsonEncSimpleRecord03(Json.Encode.list Json.Encode.int) (SimpleRecord03 {qux = []})))) - , test "2" (\_ -> equalHack "{\"qux\":[-1,1]}"(Json.Encode.encode 0 (jsonEncSimpleRecord03(Json.Encode.list Json.Encode.int) (SimpleRecord03 {qux = [-1,1]})))) - , test "3" (\_ -> equalHack "{\"qux\":[-1,-3,4]}"(Json.Encode.encode 0 (jsonEncSimpleRecord03(Json.Encode.list Json.Encode.int) (SimpleRecord03 {qux = [-1,-3,4]})))) - , test "4" (\_ -> equalHack "{\"qux\":[-4,2,2,0,1]}"(Json.Encode.encode 0 (jsonEncSimpleRecord03(Json.Encode.list Json.Encode.int) (SimpleRecord03 {qux = [-4,2,2,0,1]})))) - , test "5" (\_ -> equalHack "{\"qux\":[7,-6,-8,-3,1,-7,3,0]}"(Json.Encode.encode 0 (jsonEncSimpleRecord03(Json.Encode.list Json.Encode.int) (SimpleRecord03 {qux = [7,-6,-8,-3,1,-7,3,0]})))) - , test "6" (\_ -> equalHack "{\"qux\":[9,-9,-6,-3,-4,10,3,0,-6,-3]}"(Json.Encode.encode 0 (jsonEncSimpleRecord03(Json.Encode.list Json.Encode.int) (SimpleRecord03 {qux = [9,-9,-6,-3,-4,10,3,0,-6,-3]})))) - , test "7" (\_ -> equalHack "{\"qux\":[7,5,-5,2,0,-11]}"(Json.Encode.encode 0 (jsonEncSimpleRecord03(Json.Encode.list Json.Encode.int) (SimpleRecord03 {qux = [7,5,-5,2,0,-11]})))) - , test "8" (\_ -> equalHack "{\"qux\":[]}"(Json.Encode.encode 0 (jsonEncSimpleRecord03(Json.Encode.list Json.Encode.int) (SimpleRecord03 {qux = []})))) - , test "9" (\_ -> equalHack "{\"qux\":[-1,1,15,10,8,-8,12,-11,-11,4,3,11,-8,13,10,-14]}"(Json.Encode.encode 0 (jsonEncSimpleRecord03(Json.Encode.list Json.Encode.int) (SimpleRecord03 {qux = [-1,1,15,10,8,-8,12,-11,-11,4,3,11,-8,13,10,-14]})))) - , test "10" (\_ -> equalHack "{\"qux\":[-17,-17,-16,-15,3,17,13]}"(Json.Encode.encode 0 (jsonEncSimpleRecord03(Json.Encode.list Json.Encode.int) (SimpleRecord03 {qux = [-17,-17,-16,-15,3,17,13]})))) - , test "11" (\_ -> equalHack "{\"qux\":[17,-19,5,13,-13,-5,9,-13,-18,17,-10,-8,-7,-20,-10,9]}"(Json.Encode.encode 0 (jsonEncSimpleRecord03(Json.Encode.list Json.Encode.int) (SimpleRecord03 {qux = [17,-19,5,13,-13,-5,9,-13,-18,17,-10,-8,-7,-20,-10,9]})))) + , test "2" (\_ -> equalHack "{\"qux\":[]}"(Json.Encode.encode 0 (jsonEncSimpleRecord03(Json.Encode.list Json.Encode.int) (SimpleRecord03 {qux = []})))) + , test "3" (\_ -> equalHack "{\"qux\":[-1,-3,-3]}"(Json.Encode.encode 0 (jsonEncSimpleRecord03(Json.Encode.list Json.Encode.int) (SimpleRecord03 {qux = [-1,-3,-3]})))) + , test "4" (\_ -> equalHack "{\"qux\":[]}"(Json.Encode.encode 0 (jsonEncSimpleRecord03(Json.Encode.list Json.Encode.int) (SimpleRecord03 {qux = []})))) + , test "5" (\_ -> equalHack "{\"qux\":[8,-7,4,-3,1,2]}"(Json.Encode.encode 0 (jsonEncSimpleRecord03(Json.Encode.list Json.Encode.int) (SimpleRecord03 {qux = [8,-7,4,-3,1,2]})))) + , test "6" (\_ -> equalHack "{\"qux\":[-8,10,0,-4,-2,-7,5,8,-3,-6]}"(Json.Encode.encode 0 (jsonEncSimpleRecord03(Json.Encode.list Json.Encode.int) (SimpleRecord03 {qux = [-8,10,0,-4,-2,-7,5,8,-3,-6]})))) + , test "7" (\_ -> equalHack "{\"qux\":[9,-3,-8,-10,2,9,-5]}"(Json.Encode.encode 0 (jsonEncSimpleRecord03(Json.Encode.list Json.Encode.int) (SimpleRecord03 {qux = [9,-3,-8,-10,2,9,-5]})))) + , test "8" (\_ -> equalHack "{\"qux\":[-13]}"(Json.Encode.encode 0 (jsonEncSimpleRecord03(Json.Encode.list Json.Encode.int) (SimpleRecord03 {qux = [-13]})))) + , test "9" (\_ -> equalHack "{\"qux\":[1,-1,16,14,-4,11,14,1]}"(Json.Encode.encode 0 (jsonEncSimpleRecord03(Json.Encode.list Json.Encode.int) (SimpleRecord03 {qux = [1,-1,16,14,-4,11,14,1]})))) + , test "10" (\_ -> equalHack "{\"qux\":[2,-18,13,9,-10,-3,5,-9,-8,-13,-15,-6,-17,0,3,-17,8,-5]}"(Json.Encode.encode 0 (jsonEncSimpleRecord03(Json.Encode.list Json.Encode.int) (SimpleRecord03 {qux = [2,-18,13,9,-10,-3,5,-9,-8,-13,-15,-6,-17,0,3,-17,8,-5]})))) + , test "11" (\_ -> equalHack "{\"qux\":[-7,-19,7,4,16,-16,-20,-8,-4,15,-14,18,16,14]}"(Json.Encode.encode 0 (jsonEncSimpleRecord03(Json.Encode.list Json.Encode.int) (SimpleRecord03 {qux = [-7,-19,7,4,16,-16,-20,-8,-4,15,-14,18,16,14]})))) ] simplerecordEncode04 : Test simplerecordEncode04 = describe "SimpleRecord encode 04" [ test "1" (\_ -> equalHack "[]"(Json.Encode.encode 0 (jsonEncSimpleRecord04(Json.Encode.list Json.Encode.int) (SimpleRecord04 {qux = []})))) - , test "2" (\_ -> equalHack "[0,2]"(Json.Encode.encode 0 (jsonEncSimpleRecord04(Json.Encode.list Json.Encode.int) (SimpleRecord04 {qux = [0,2]})))) - , test "3" (\_ -> equalHack "[-2,-2,0,3]"(Json.Encode.encode 0 (jsonEncSimpleRecord04(Json.Encode.list Json.Encode.int) (SimpleRecord04 {qux = [-2,-2,0,3]})))) - , test "4" (\_ -> equalHack "[-2,-4,-2,-4,0]"(Json.Encode.encode 0 (jsonEncSimpleRecord04(Json.Encode.list Json.Encode.int) (SimpleRecord04 {qux = [-2,-4,-2,-4,0]})))) - , test "5" (\_ -> equalHack "[8,1,6,2,2,3,-1]"(Json.Encode.encode 0 (jsonEncSimpleRecord04(Json.Encode.list Json.Encode.int) (SimpleRecord04 {qux = [8,1,6,2,2,3,-1]})))) - , test "6" (\_ -> equalHack "[-4,2,-8,-5,-3,-2,10,-8,0]"(Json.Encode.encode 0 (jsonEncSimpleRecord04(Json.Encode.list Json.Encode.int) (SimpleRecord04 {qux = [-4,2,-8,-5,-3,-2,10,-8,0]})))) - , test "7" (\_ -> equalHack "[6,5,-9,5,-1]"(Json.Encode.encode 0 (jsonEncSimpleRecord04(Json.Encode.list Json.Encode.int) (SimpleRecord04 {qux = [6,5,-9,5,-1]})))) - , test "8" (\_ -> equalHack "[-6,-7]"(Json.Encode.encode 0 (jsonEncSimpleRecord04(Json.Encode.list Json.Encode.int) (SimpleRecord04 {qux = [-6,-7]})))) - , test "9" (\_ -> equalHack "[13,-6,3,3,3,15,-3,-2,-2,15]"(Json.Encode.encode 0 (jsonEncSimpleRecord04(Json.Encode.list Json.Encode.int) (SimpleRecord04 {qux = [13,-6,3,3,3,15,-3,-2,-2,15]})))) - , test "10" (\_ -> equalHack "[17,18,-11,11,7,-4,-15,13,9,15,11]"(Json.Encode.encode 0 (jsonEncSimpleRecord04(Json.Encode.list Json.Encode.int) (SimpleRecord04 {qux = [17,18,-11,11,7,-4,-15,13,9,15,11]})))) - , test "11" (\_ -> equalHack "[2,-18,3,2,10,14,20,-8,17,3,20,4,-17,18,10,-7,-12]"(Json.Encode.encode 0 (jsonEncSimpleRecord04(Json.Encode.list Json.Encode.int) (SimpleRecord04 {qux = [2,-18,3,2,10,14,20,-8,17,3,20,4,-17,18,10,-7,-12]})))) + , test "2" (\_ -> equalHack "[-2,0]"(Json.Encode.encode 0 (jsonEncSimpleRecord04(Json.Encode.list Json.Encode.int) (SimpleRecord04 {qux = [-2,0]})))) + , test "3" (\_ -> equalHack "[-2,3,-1,0]"(Json.Encode.encode 0 (jsonEncSimpleRecord04(Json.Encode.list Json.Encode.int) (SimpleRecord04 {qux = [-2,3,-1,0]})))) + , test "4" (\_ -> equalHack "[6,-5,-2]"(Json.Encode.encode 0 (jsonEncSimpleRecord04(Json.Encode.list Json.Encode.int) (SimpleRecord04 {qux = [6,-5,-2]})))) + , test "5" (\_ -> equalHack "[3,-4,-1,-6,2,-6,0,1]"(Json.Encode.encode 0 (jsonEncSimpleRecord04(Json.Encode.list Json.Encode.int) (SimpleRecord04 {qux = [3,-4,-1,-6,2,-6,0,1]})))) + , test "6" (\_ -> equalHack "[-3]"(Json.Encode.encode 0 (jsonEncSimpleRecord04(Json.Encode.list Json.Encode.int) (SimpleRecord04 {qux = [-3]})))) + , test "7" (\_ -> equalHack "[12,2,10,-12,0,-4,-10,2,-7,6,3]"(Json.Encode.encode 0 (jsonEncSimpleRecord04(Json.Encode.list Json.Encode.int) (SimpleRecord04 {qux = [12,2,10,-12,0,-4,-10,2,-7,6,3]})))) + , test "8" (\_ -> equalHack "[-10,14,12,9,2,-8,-11,0,14,-9]"(Json.Encode.encode 0 (jsonEncSimpleRecord04(Json.Encode.list Json.Encode.int) (SimpleRecord04 {qux = [-10,14,12,9,2,-8,-11,0,14,-9]})))) + , test "9" (\_ -> equalHack "[14,12,-8,-7,14,-12]"(Json.Encode.encode 0 (jsonEncSimpleRecord04(Json.Encode.list Json.Encode.int) (SimpleRecord04 {qux = [14,12,-8,-7,14,-12]})))) + , test "10" (\_ -> equalHack "[]"(Json.Encode.encode 0 (jsonEncSimpleRecord04(Json.Encode.list Json.Encode.int) (SimpleRecord04 {qux = []})))) + , test "11" (\_ -> equalHack "[-15,9,-16,11,-8,-7,-3,-8,-8,-16,4,12,-14,5,15,-13,5,5,3]"(Json.Encode.encode 0 (jsonEncSimpleRecord04(Json.Encode.list Json.Encode.int) (SimpleRecord04 {qux = [-15,9,-16,11,-8,-7,-3,-8,-8,-16,4,12,-14,5,15,-13,5,5,3]})))) ] simplerecordDecode01 : Test simplerecordDecode01 = describe "SimpleRecord decode 01" [ test "1" (\_ -> equal (Ok (SimpleRecord01 {qux = []})) (Json.Decode.decodeString (jsonDecSimpleRecord01 (Json.Decode.list Json.Decode.int)) "{\"qux\":[]}")) - , test "2" (\_ -> equal (Ok (SimpleRecord01 {qux = []})) (Json.Decode.decodeString (jsonDecSimpleRecord01 (Json.Decode.list Json.Decode.int)) "{\"qux\":[]}")) - , test "3" (\_ -> equal (Ok (SimpleRecord01 {qux = [2,0,-2,3]})) (Json.Decode.decodeString (jsonDecSimpleRecord01 (Json.Decode.list Json.Decode.int)) "{\"qux\":[2,0,-2,3]}")) - , test "4" (\_ -> equal (Ok (SimpleRecord01 {qux = [2]})) (Json.Decode.decodeString (jsonDecSimpleRecord01 (Json.Decode.list Json.Decode.int)) "{\"qux\":[2]}")) - , test "5" (\_ -> equal (Ok (SimpleRecord01 {qux = [1,6,5,7,-2,8,4]})) (Json.Decode.decodeString (jsonDecSimpleRecord01 (Json.Decode.list Json.Decode.int)) "{\"qux\":[1,6,5,7,-2,8,4]}")) - , test "6" (\_ -> equal (Ok (SimpleRecord01 {qux = [4,10,0,-2,-10,-2,3,0,-9]})) (Json.Decode.decodeString (jsonDecSimpleRecord01 (Json.Decode.list Json.Decode.int)) "{\"qux\":[4,10,0,-2,-10,-2,3,0,-9]}")) - , test "7" (\_ -> equal (Ok (SimpleRecord01 {qux = [-7,-3,5,4]})) (Json.Decode.decodeString (jsonDecSimpleRecord01 (Json.Decode.list Json.Decode.int)) "{\"qux\":[-7,-3,5,4]}")) - , test "8" (\_ -> equal (Ok (SimpleRecord01 {qux = [-9,4,-1,-12,2,-8,11,-12,7,-5]})) (Json.Decode.decodeString (jsonDecSimpleRecord01 (Json.Decode.list Json.Decode.int)) "{\"qux\":[-9,4,-1,-12,2,-8,11,-12,7,-5]}")) - , test "9" (\_ -> equal (Ok (SimpleRecord01 {qux = [-6,-9,3,-8,6]})) (Json.Decode.decodeString (jsonDecSimpleRecord01 (Json.Decode.list Json.Decode.int)) "{\"qux\":[-6,-9,3,-8,6]}")) - , test "10" (\_ -> equal (Ok (SimpleRecord01 {qux = [9,-15,-8,15,-7,-1,14,-7,0,14,-8,-7]})) (Json.Decode.decodeString (jsonDecSimpleRecord01 (Json.Decode.list Json.Decode.int)) "{\"qux\":[9,-15,-8,15,-7,-1,14,-7,0,14,-8,-7]}")) - , test "11" (\_ -> equal (Ok (SimpleRecord01 {qux = [-11,-6,-12,-19,11,7,-1]})) (Json.Decode.decodeString (jsonDecSimpleRecord01 (Json.Decode.list Json.Decode.int)) "{\"qux\":[-11,-6,-12,-19,11,7,-1]}")) + , test "2" (\_ -> equal (Ok (SimpleRecord01 {qux = [0]})) (Json.Decode.decodeString (jsonDecSimpleRecord01 (Json.Decode.list Json.Decode.int)) "{\"qux\":[0]}")) + , test "3" (\_ -> equal (Ok (SimpleRecord01 {qux = [-3,0,0,4]})) (Json.Decode.decodeString (jsonDecSimpleRecord01 (Json.Decode.list Json.Decode.int)) "{\"qux\":[-3,0,0,4]}")) + , test "4" (\_ -> equal (Ok (SimpleRecord01 {qux = [5,-2,3,0,-3]})) (Json.Decode.decodeString (jsonDecSimpleRecord01 (Json.Decode.list Json.Decode.int)) "{\"qux\":[5,-2,3,0,-3]}")) + , test "5" (\_ -> equal (Ok (SimpleRecord01 {qux = [-3,-2]})) (Json.Decode.decodeString (jsonDecSimpleRecord01 (Json.Decode.list Json.Decode.int)) "{\"qux\":[-3,-2]}")) + , test "6" (\_ -> equal (Ok (SimpleRecord01 {qux = [8,-8,5]})) (Json.Decode.decodeString (jsonDecSimpleRecord01 (Json.Decode.list Json.Decode.int)) "{\"qux\":[8,-8,5]}")) + , test "7" (\_ -> equal (Ok (SimpleRecord01 {qux = [-10,7,-4,-6,-3,-11,-9,5,-6,8,6]})) (Json.Decode.decodeString (jsonDecSimpleRecord01 (Json.Decode.list Json.Decode.int)) "{\"qux\":[-10,7,-4,-6,-3,-11,-9,5,-6,8,6]}")) + , test "8" (\_ -> equal (Ok (SimpleRecord01 {qux = [-7,-8,-5,13,10,-9]})) (Json.Decode.decodeString (jsonDecSimpleRecord01 (Json.Decode.list Json.Decode.int)) "{\"qux\":[-7,-8,-5,13,10,-9]}")) + , test "9" (\_ -> equal (Ok (SimpleRecord01 {qux = [-5,2,10,4]})) (Json.Decode.decodeString (jsonDecSimpleRecord01 (Json.Decode.list Json.Decode.int)) "{\"qux\":[-5,2,10,4]}")) + , test "10" (\_ -> equal (Ok (SimpleRecord01 {qux = [7,16,18,-8,-9,8,4,5,-9,-15]})) (Json.Decode.decodeString (jsonDecSimpleRecord01 (Json.Decode.list Json.Decode.int)) "{\"qux\":[7,16,18,-8,-9,8,4,5,-9,-15]}")) + , test "11" (\_ -> equal (Ok (SimpleRecord01 {qux = [-19,18]})) (Json.Decode.decodeString (jsonDecSimpleRecord01 (Json.Decode.list Json.Decode.int)) "{\"qux\":[-19,18]}")) ] simplerecordDecode02 : Test simplerecordDecode02 = describe "SimpleRecord decode 02" [ test "1" (\_ -> equal (Ok (SimpleRecord02 {qux = []})) (Json.Decode.decodeString (jsonDecSimpleRecord02 (Json.Decode.list Json.Decode.int)) "[]")) - , test "2" (\_ -> equal (Ok (SimpleRecord02 {qux = [-1,2]})) (Json.Decode.decodeString (jsonDecSimpleRecord02 (Json.Decode.list Json.Decode.int)) "[-1,2]")) - , test "3" (\_ -> equal (Ok (SimpleRecord02 {qux = []})) (Json.Decode.decodeString (jsonDecSimpleRecord02 (Json.Decode.list Json.Decode.int)) "[]")) + , test "2" (\_ -> equal (Ok (SimpleRecord02 {qux = []})) (Json.Decode.decodeString (jsonDecSimpleRecord02 (Json.Decode.list Json.Decode.int)) "[]")) + , test "3" (\_ -> equal (Ok (SimpleRecord02 {qux = [0,-4]})) (Json.Decode.decodeString (jsonDecSimpleRecord02 (Json.Decode.list Json.Decode.int)) "[0,-4]")) , test "4" (\_ -> equal (Ok (SimpleRecord02 {qux = []})) (Json.Decode.decodeString (jsonDecSimpleRecord02 (Json.Decode.list Json.Decode.int)) "[]")) - , test "5" (\_ -> equal (Ok (SimpleRecord02 {qux = [-1,-5,-7,4,-5,0,-2]})) (Json.Decode.decodeString (jsonDecSimpleRecord02 (Json.Decode.list Json.Decode.int)) "[-1,-5,-7,4,-5,0,-2]")) - , test "6" (\_ -> equal (Ok (SimpleRecord02 {qux = [-5]})) (Json.Decode.decodeString (jsonDecSimpleRecord02 (Json.Decode.list Json.Decode.int)) "[-5]")) - , test "7" (\_ -> equal (Ok (SimpleRecord02 {qux = [8,-6,-11,4,5,9,0,-12,-6,3,11]})) (Json.Decode.decodeString (jsonDecSimpleRecord02 (Json.Decode.list Json.Decode.int)) "[8,-6,-11,4,5,9,0,-12,-6,3,11]")) - , test "8" (\_ -> equal (Ok (SimpleRecord02 {qux = [9,-3,11,14,3,1,-3]})) (Json.Decode.decodeString (jsonDecSimpleRecord02 (Json.Decode.list Json.Decode.int)) "[9,-3,11,14,3,1,-3]")) - , test "9" (\_ -> equal (Ok (SimpleRecord02 {qux = [12,-6,-1,14,13,14,8,13,-9,-14,-1,1,-16,-3]})) (Json.Decode.decodeString (jsonDecSimpleRecord02 (Json.Decode.list Json.Decode.int)) "[12,-6,-1,14,13,14,8,13,-9,-14,-1,1,-16,-3]")) - , test "10" (\_ -> equal (Ok (SimpleRecord02 {qux = []})) (Json.Decode.decodeString (jsonDecSimpleRecord02 (Json.Decode.list Json.Decode.int)) "[]")) - , test "11" (\_ -> equal (Ok (SimpleRecord02 {qux = [-4,-17,19,4,-20,-9,16,-18,7,14,15,-13,19,-3,6,-17]})) (Json.Decode.decodeString (jsonDecSimpleRecord02 (Json.Decode.list Json.Decode.int)) "[-4,-17,19,4,-20,-9,16,-18,7,14,15,-13,19,-3,6,-17]")) + , test "5" (\_ -> equal (Ok (SimpleRecord02 {qux = [4,1,-3]})) (Json.Decode.decodeString (jsonDecSimpleRecord02 (Json.Decode.list Json.Decode.int)) "[4,1,-3]")) + , test "6" (\_ -> equal (Ok (SimpleRecord02 {qux = [-3,7,6,-8]})) (Json.Decode.decodeString (jsonDecSimpleRecord02 (Json.Decode.list Json.Decode.int)) "[-3,7,6,-8]")) + , test "7" (\_ -> equal (Ok (SimpleRecord02 {qux = [7,9,12,5,-9,-4,-5,-7]})) (Json.Decode.decodeString (jsonDecSimpleRecord02 (Json.Decode.list Json.Decode.int)) "[7,9,12,5,-9,-4,-5,-7]")) + , test "8" (\_ -> equal (Ok (SimpleRecord02 {qux = [-2,-2,2,7,3,13,-6,-8,2]})) (Json.Decode.decodeString (jsonDecSimpleRecord02 (Json.Decode.list Json.Decode.int)) "[-2,-2,2,7,3,13,-6,-8,2]")) + , test "9" (\_ -> equal (Ok (SimpleRecord02 {qux = [4,2,-13,-14,14,-8,-5,14,-12,8,-8,15,-12,-5,-15]})) (Json.Decode.decodeString (jsonDecSimpleRecord02 (Json.Decode.list Json.Decode.int)) "[4,2,-13,-14,14,-8,-5,14,-12,8,-8,15,-12,-5,-15]")) + , test "10" (\_ -> equal (Ok (SimpleRecord02 {qux = [13,-9,6,18,-13,14,-1,-7]})) (Json.Decode.decodeString (jsonDecSimpleRecord02 (Json.Decode.list Json.Decode.int)) "[13,-9,6,18,-13,14,-1,-7]")) + , test "11" (\_ -> equal (Ok (SimpleRecord02 {qux = [2,2]})) (Json.Decode.decodeString (jsonDecSimpleRecord02 (Json.Decode.list Json.Decode.int)) "[2,2]")) ] simplerecordDecode03 : Test simplerecordDecode03 = describe "SimpleRecord decode 03" [ test "1" (\_ -> equal (Ok (SimpleRecord03 {qux = []})) (Json.Decode.decodeString (jsonDecSimpleRecord03 (Json.Decode.list Json.Decode.int)) "{\"qux\":[]}")) - , test "2" (\_ -> equal (Ok (SimpleRecord03 {qux = [-1,1]})) (Json.Decode.decodeString (jsonDecSimpleRecord03 (Json.Decode.list Json.Decode.int)) "{\"qux\":[-1,1]}")) - , test "3" (\_ -> equal (Ok (SimpleRecord03 {qux = [-1,-3,4]})) (Json.Decode.decodeString (jsonDecSimpleRecord03 (Json.Decode.list Json.Decode.int)) "{\"qux\":[-1,-3,4]}")) - , test "4" (\_ -> equal (Ok (SimpleRecord03 {qux = [-4,2,2,0,1]})) (Json.Decode.decodeString (jsonDecSimpleRecord03 (Json.Decode.list Json.Decode.int)) "{\"qux\":[-4,2,2,0,1]}")) - , test "5" (\_ -> equal (Ok (SimpleRecord03 {qux = [7,-6,-8,-3,1,-7,3,0]})) (Json.Decode.decodeString (jsonDecSimpleRecord03 (Json.Decode.list Json.Decode.int)) "{\"qux\":[7,-6,-8,-3,1,-7,3,0]}")) - , test "6" (\_ -> equal (Ok (SimpleRecord03 {qux = [9,-9,-6,-3,-4,10,3,0,-6,-3]})) (Json.Decode.decodeString (jsonDecSimpleRecord03 (Json.Decode.list Json.Decode.int)) "{\"qux\":[9,-9,-6,-3,-4,10,3,0,-6,-3]}")) - , test "7" (\_ -> equal (Ok (SimpleRecord03 {qux = [7,5,-5,2,0,-11]})) (Json.Decode.decodeString (jsonDecSimpleRecord03 (Json.Decode.list Json.Decode.int)) "{\"qux\":[7,5,-5,2,0,-11]}")) - , test "8" (\_ -> equal (Ok (SimpleRecord03 {qux = []})) (Json.Decode.decodeString (jsonDecSimpleRecord03 (Json.Decode.list Json.Decode.int)) "{\"qux\":[]}")) - , test "9" (\_ -> equal (Ok (SimpleRecord03 {qux = [-1,1,15,10,8,-8,12,-11,-11,4,3,11,-8,13,10,-14]})) (Json.Decode.decodeString (jsonDecSimpleRecord03 (Json.Decode.list Json.Decode.int)) "{\"qux\":[-1,1,15,10,8,-8,12,-11,-11,4,3,11,-8,13,10,-14]}")) - , test "10" (\_ -> equal (Ok (SimpleRecord03 {qux = [-17,-17,-16,-15,3,17,13]})) (Json.Decode.decodeString (jsonDecSimpleRecord03 (Json.Decode.list Json.Decode.int)) "{\"qux\":[-17,-17,-16,-15,3,17,13]}")) - , test "11" (\_ -> equal (Ok (SimpleRecord03 {qux = [17,-19,5,13,-13,-5,9,-13,-18,17,-10,-8,-7,-20,-10,9]})) (Json.Decode.decodeString (jsonDecSimpleRecord03 (Json.Decode.list Json.Decode.int)) "{\"qux\":[17,-19,5,13,-13,-5,9,-13,-18,17,-10,-8,-7,-20,-10,9]}")) + , test "2" (\_ -> equal (Ok (SimpleRecord03 {qux = []})) (Json.Decode.decodeString (jsonDecSimpleRecord03 (Json.Decode.list Json.Decode.int)) "{\"qux\":[]}")) + , test "3" (\_ -> equal (Ok (SimpleRecord03 {qux = [-1,-3,-3]})) (Json.Decode.decodeString (jsonDecSimpleRecord03 (Json.Decode.list Json.Decode.int)) "{\"qux\":[-1,-3,-3]}")) + , test "4" (\_ -> equal (Ok (SimpleRecord03 {qux = []})) (Json.Decode.decodeString (jsonDecSimpleRecord03 (Json.Decode.list Json.Decode.int)) "{\"qux\":[]}")) + , test "5" (\_ -> equal (Ok (SimpleRecord03 {qux = [8,-7,4,-3,1,2]})) (Json.Decode.decodeString (jsonDecSimpleRecord03 (Json.Decode.list Json.Decode.int)) "{\"qux\":[8,-7,4,-3,1,2]}")) + , test "6" (\_ -> equal (Ok (SimpleRecord03 {qux = [-8,10,0,-4,-2,-7,5,8,-3,-6]})) (Json.Decode.decodeString (jsonDecSimpleRecord03 (Json.Decode.list Json.Decode.int)) "{\"qux\":[-8,10,0,-4,-2,-7,5,8,-3,-6]}")) + , test "7" (\_ -> equal (Ok (SimpleRecord03 {qux = [9,-3,-8,-10,2,9,-5]})) (Json.Decode.decodeString (jsonDecSimpleRecord03 (Json.Decode.list Json.Decode.int)) "{\"qux\":[9,-3,-8,-10,2,9,-5]}")) + , test "8" (\_ -> equal (Ok (SimpleRecord03 {qux = [-13]})) (Json.Decode.decodeString (jsonDecSimpleRecord03 (Json.Decode.list Json.Decode.int)) "{\"qux\":[-13]}")) + , test "9" (\_ -> equal (Ok (SimpleRecord03 {qux = [1,-1,16,14,-4,11,14,1]})) (Json.Decode.decodeString (jsonDecSimpleRecord03 (Json.Decode.list Json.Decode.int)) "{\"qux\":[1,-1,16,14,-4,11,14,1]}")) + , test "10" (\_ -> equal (Ok (SimpleRecord03 {qux = [2,-18,13,9,-10,-3,5,-9,-8,-13,-15,-6,-17,0,3,-17,8,-5]})) (Json.Decode.decodeString (jsonDecSimpleRecord03 (Json.Decode.list Json.Decode.int)) "{\"qux\":[2,-18,13,9,-10,-3,5,-9,-8,-13,-15,-6,-17,0,3,-17,8,-5]}")) + , test "11" (\_ -> equal (Ok (SimpleRecord03 {qux = [-7,-19,7,4,16,-16,-20,-8,-4,15,-14,18,16,14]})) (Json.Decode.decodeString (jsonDecSimpleRecord03 (Json.Decode.list Json.Decode.int)) "{\"qux\":[-7,-19,7,4,16,-16,-20,-8,-4,15,-14,18,16,14]}")) ] simplerecordDecode04 : Test simplerecordDecode04 = describe "SimpleRecord decode 04" [ test "1" (\_ -> equal (Ok (SimpleRecord04 {qux = []})) (Json.Decode.decodeString (jsonDecSimpleRecord04 (Json.Decode.list Json.Decode.int)) "[]")) - , test "2" (\_ -> equal (Ok (SimpleRecord04 {qux = [0,2]})) (Json.Decode.decodeString (jsonDecSimpleRecord04 (Json.Decode.list Json.Decode.int)) "[0,2]")) - , test "3" (\_ -> equal (Ok (SimpleRecord04 {qux = [-2,-2,0,3]})) (Json.Decode.decodeString (jsonDecSimpleRecord04 (Json.Decode.list Json.Decode.int)) "[-2,-2,0,3]")) - , test "4" (\_ -> equal (Ok (SimpleRecord04 {qux = [-2,-4,-2,-4,0]})) (Json.Decode.decodeString (jsonDecSimpleRecord04 (Json.Decode.list Json.Decode.int)) "[-2,-4,-2,-4,0]")) - , test "5" (\_ -> equal (Ok (SimpleRecord04 {qux = [8,1,6,2,2,3,-1]})) (Json.Decode.decodeString (jsonDecSimpleRecord04 (Json.Decode.list Json.Decode.int)) "[8,1,6,2,2,3,-1]")) - , test "6" (\_ -> equal (Ok (SimpleRecord04 {qux = [-4,2,-8,-5,-3,-2,10,-8,0]})) (Json.Decode.decodeString (jsonDecSimpleRecord04 (Json.Decode.list Json.Decode.int)) "[-4,2,-8,-5,-3,-2,10,-8,0]")) - , test "7" (\_ -> equal (Ok (SimpleRecord04 {qux = [6,5,-9,5,-1]})) (Json.Decode.decodeString (jsonDecSimpleRecord04 (Json.Decode.list Json.Decode.int)) "[6,5,-9,5,-1]")) - , test "8" (\_ -> equal (Ok (SimpleRecord04 {qux = [-6,-7]})) (Json.Decode.decodeString (jsonDecSimpleRecord04 (Json.Decode.list Json.Decode.int)) "[-6,-7]")) - , test "9" (\_ -> equal (Ok (SimpleRecord04 {qux = [13,-6,3,3,3,15,-3,-2,-2,15]})) (Json.Decode.decodeString (jsonDecSimpleRecord04 (Json.Decode.list Json.Decode.int)) "[13,-6,3,3,3,15,-3,-2,-2,15]")) - , test "10" (\_ -> equal (Ok (SimpleRecord04 {qux = [17,18,-11,11,7,-4,-15,13,9,15,11]})) (Json.Decode.decodeString (jsonDecSimpleRecord04 (Json.Decode.list Json.Decode.int)) "[17,18,-11,11,7,-4,-15,13,9,15,11]")) - , test "11" (\_ -> equal (Ok (SimpleRecord04 {qux = [2,-18,3,2,10,14,20,-8,17,3,20,4,-17,18,10,-7,-12]})) (Json.Decode.decodeString (jsonDecSimpleRecord04 (Json.Decode.list Json.Decode.int)) "[2,-18,3,2,10,14,20,-8,17,3,20,4,-17,18,10,-7,-12]")) + , test "2" (\_ -> equal (Ok (SimpleRecord04 {qux = [-2,0]})) (Json.Decode.decodeString (jsonDecSimpleRecord04 (Json.Decode.list Json.Decode.int)) "[-2,0]")) + , test "3" (\_ -> equal (Ok (SimpleRecord04 {qux = [-2,3,-1,0]})) (Json.Decode.decodeString (jsonDecSimpleRecord04 (Json.Decode.list Json.Decode.int)) "[-2,3,-1,0]")) + , test "4" (\_ -> equal (Ok (SimpleRecord04 {qux = [6,-5,-2]})) (Json.Decode.decodeString (jsonDecSimpleRecord04 (Json.Decode.list Json.Decode.int)) "[6,-5,-2]")) + , test "5" (\_ -> equal (Ok (SimpleRecord04 {qux = [3,-4,-1,-6,2,-6,0,1]})) (Json.Decode.decodeString (jsonDecSimpleRecord04 (Json.Decode.list Json.Decode.int)) "[3,-4,-1,-6,2,-6,0,1]")) + , test "6" (\_ -> equal (Ok (SimpleRecord04 {qux = [-3]})) (Json.Decode.decodeString (jsonDecSimpleRecord04 (Json.Decode.list Json.Decode.int)) "[-3]")) + , test "7" (\_ -> equal (Ok (SimpleRecord04 {qux = [12,2,10,-12,0,-4,-10,2,-7,6,3]})) (Json.Decode.decodeString (jsonDecSimpleRecord04 (Json.Decode.list Json.Decode.int)) "[12,2,10,-12,0,-4,-10,2,-7,6,3]")) + , test "8" (\_ -> equal (Ok (SimpleRecord04 {qux = [-10,14,12,9,2,-8,-11,0,14,-9]})) (Json.Decode.decodeString (jsonDecSimpleRecord04 (Json.Decode.list Json.Decode.int)) "[-10,14,12,9,2,-8,-11,0,14,-9]")) + , test "9" (\_ -> equal (Ok (SimpleRecord04 {qux = [14,12,-8,-7,14,-12]})) (Json.Decode.decodeString (jsonDecSimpleRecord04 (Json.Decode.list Json.Decode.int)) "[14,12,-8,-7,14,-12]")) + , test "10" (\_ -> equal (Ok (SimpleRecord04 {qux = []})) (Json.Decode.decodeString (jsonDecSimpleRecord04 (Json.Decode.list Json.Decode.int)) "[]")) + , test "11" (\_ -> equal (Ok (SimpleRecord04 {qux = [-15,9,-16,11,-8,-7,-3,-8,-8,-16,4,12,-14,5,15,-13,5,5,3]})) (Json.Decode.decodeString (jsonDecSimpleRecord04 (Json.Decode.list Json.Decode.int)) "[-15,9,-16,11,-8,-7,-3,-8,-8,-16,4,12,-14,5,15,-13,5,5,3]")) ] sumEncodeUntagged : Test sumEncodeUntagged = describe "Sum encode Untagged" [ test "1" (\_ -> equalHack "0"(Json.Encode.encode 0 (jsonEncSumUntagged(Json.Encode.list Json.Encode.int) (SMInt 0)))) , test "2" (\_ -> equalHack "[]"(Json.Encode.encode 0 (jsonEncSumUntagged(Json.Encode.list Json.Encode.int) (SMList [])))) - , test "3" (\_ -> equalHack "[-4,-4,4]"(Json.Encode.encode 0 (jsonEncSumUntagged(Json.Encode.list Json.Encode.int) (SMList [-4,-4,4])))) - , test "4" (\_ -> equalHack "6"(Json.Encode.encode 0 (jsonEncSumUntagged(Json.Encode.list Json.Encode.int) (SMInt 6)))) - , test "5" (\_ -> equalHack "[7,8,2,3,-7]"(Json.Encode.encode 0 (jsonEncSumUntagged(Json.Encode.list Json.Encode.int) (SMList [7,8,2,3,-7])))) - , test "6" (\_ -> equalHack "[5]"(Json.Encode.encode 0 (jsonEncSumUntagged(Json.Encode.list Json.Encode.int) (SMList [5])))) - , test "7" (\_ -> equalHack "7"(Json.Encode.encode 0 (jsonEncSumUntagged(Json.Encode.list Json.Encode.int) (SMInt 7)))) - , test "8" (\_ -> equalHack "0"(Json.Encode.encode 0 (jsonEncSumUntagged(Json.Encode.list Json.Encode.int) (SMInt 0)))) - , test "9" (\_ -> equalHack "[3,-8,-2,-5]"(Json.Encode.encode 0 (jsonEncSumUntagged(Json.Encode.list Json.Encode.int) (SMList [3,-8,-2,-5])))) - , test "10" (\_ -> equalHack "[7,1]"(Json.Encode.encode 0 (jsonEncSumUntagged(Json.Encode.list Json.Encode.int) (SMList [7,1])))) - , test "11" (\_ -> equalHack "-18"(Json.Encode.encode 0 (jsonEncSumUntagged(Json.Encode.list Json.Encode.int) (SMInt (-18))))) + , test "3" (\_ -> equalHack "[3,-1,-3,-4]"(Json.Encode.encode 0 (jsonEncSumUntagged(Json.Encode.list Json.Encode.int) (SMList [3,-1,-3,-4])))) + , test "4" (\_ -> equalHack "[-4,3]"(Json.Encode.encode 0 (jsonEncSumUntagged(Json.Encode.list Json.Encode.int) (SMList [-4,3])))) + , test "5" (\_ -> equalHack "[6,5,6,6,-1]"(Json.Encode.encode 0 (jsonEncSumUntagged(Json.Encode.list Json.Encode.int) (SMList [6,5,6,6,-1])))) + , test "6" (\_ -> equalHack "[6,-7,-10,-3,5,-6,8,-4]"(Json.Encode.encode 0 (jsonEncSumUntagged(Json.Encode.list Json.Encode.int) (SMList [6,-7,-10,-3,5,-6,8,-4])))) + , test "7" (\_ -> equalHack "[8,10,-4,6,10,-3,-1,1,-7,-8]"(Json.Encode.encode 0 (jsonEncSumUntagged(Json.Encode.list Json.Encode.int) (SMList [8,10,-4,6,10,-3,-1,1,-7,-8])))) + , test "8" (\_ -> equalHack "-4"(Json.Encode.encode 0 (jsonEncSumUntagged(Json.Encode.list Json.Encode.int) (SMInt (-4))))) + , test "9" (\_ -> equalHack "[-12]"(Json.Encode.encode 0 (jsonEncSumUntagged(Json.Encode.list Json.Encode.int) (SMList [-12])))) + , test "10" (\_ -> equalHack "-4"(Json.Encode.encode 0 (jsonEncSumUntagged(Json.Encode.list Json.Encode.int) (SMInt (-4))))) + , test "11" (\_ -> equalHack "[8,-18,12,-1,12,-17,0,15,-14]"(Json.Encode.encode 0 (jsonEncSumUntagged(Json.Encode.list Json.Encode.int) (SMList [8,-18,12,-1,12,-17,0,15,-14])))) ] sumDecodeUntagged : Test sumDecodeUntagged = describe "Sum decode Untagged" [ test "1" (\_ -> equal (Ok (SMInt 0)) (Json.Decode.decodeString (jsonDecSumUntagged (Json.Decode.list Json.Decode.int)) "0")) , test "2" (\_ -> equal (Ok (SMList [])) (Json.Decode.decodeString (jsonDecSumUntagged (Json.Decode.list Json.Decode.int)) "[]")) - , test "3" (\_ -> equal (Ok (SMList [-4,-4,4])) (Json.Decode.decodeString (jsonDecSumUntagged (Json.Decode.list Json.Decode.int)) "[-4,-4,4]")) - , test "4" (\_ -> equal (Ok (SMInt 6)) (Json.Decode.decodeString (jsonDecSumUntagged (Json.Decode.list Json.Decode.int)) "6")) - , test "5" (\_ -> equal (Ok (SMList [7,8,2,3,-7])) (Json.Decode.decodeString (jsonDecSumUntagged (Json.Decode.list Json.Decode.int)) "[7,8,2,3,-7]")) - , test "6" (\_ -> equal (Ok (SMList [5])) (Json.Decode.decodeString (jsonDecSumUntagged (Json.Decode.list Json.Decode.int)) "[5]")) - , test "7" (\_ -> equal (Ok (SMInt 7)) (Json.Decode.decodeString (jsonDecSumUntagged (Json.Decode.list Json.Decode.int)) "7")) - , test "8" (\_ -> equal (Ok (SMInt 0)) (Json.Decode.decodeString (jsonDecSumUntagged (Json.Decode.list Json.Decode.int)) "0")) - , test "9" (\_ -> equal (Ok (SMList [3,-8,-2,-5])) (Json.Decode.decodeString (jsonDecSumUntagged (Json.Decode.list Json.Decode.int)) "[3,-8,-2,-5]")) - , test "10" (\_ -> equal (Ok (SMList [7,1])) (Json.Decode.decodeString (jsonDecSumUntagged (Json.Decode.list Json.Decode.int)) "[7,1]")) - , test "11" (\_ -> equal (Ok (SMInt (-18))) (Json.Decode.decodeString (jsonDecSumUntagged (Json.Decode.list Json.Decode.int)) "-18")) + , test "3" (\_ -> equal (Ok (SMList [3,-1,-3,-4])) (Json.Decode.decodeString (jsonDecSumUntagged (Json.Decode.list Json.Decode.int)) "[3,-1,-3,-4]")) + , test "4" (\_ -> equal (Ok (SMList [-4,3])) (Json.Decode.decodeString (jsonDecSumUntagged (Json.Decode.list Json.Decode.int)) "[-4,3]")) + , test "5" (\_ -> equal (Ok (SMList [6,5,6,6,-1])) (Json.Decode.decodeString (jsonDecSumUntagged (Json.Decode.list Json.Decode.int)) "[6,5,6,6,-1]")) + , test "6" (\_ -> equal (Ok (SMList [6,-7,-10,-3,5,-6,8,-4])) (Json.Decode.decodeString (jsonDecSumUntagged (Json.Decode.list Json.Decode.int)) "[6,-7,-10,-3,5,-6,8,-4]")) + , test "7" (\_ -> equal (Ok (SMList [8,10,-4,6,10,-3,-1,1,-7,-8])) (Json.Decode.decodeString (jsonDecSumUntagged (Json.Decode.list Json.Decode.int)) "[8,10,-4,6,10,-3,-1,1,-7,-8]")) + , test "8" (\_ -> equal (Ok (SMInt (-4))) (Json.Decode.decodeString (jsonDecSumUntagged (Json.Decode.list Json.Decode.int)) "-4")) + , test "9" (\_ -> equal (Ok (SMList [-12])) (Json.Decode.decodeString (jsonDecSumUntagged (Json.Decode.list Json.Decode.int)) "[-12]")) + , test "10" (\_ -> equal (Ok (SMInt (-4))) (Json.Decode.decodeString (jsonDecSumUntagged (Json.Decode.list Json.Decode.int)) "-4")) + , test "11" (\_ -> equal (Ok (SMList [8,-18,12,-1,12,-17,0,15,-14])) (Json.Decode.decodeString (jsonDecSumUntagged (Json.Decode.list Json.Decode.int)) "[8,-18,12,-1,12,-17,0,15,-14]")) ] sumEncodeIncludeUnit : Test sumEncodeIncludeUnit = describe "Sum encode IncludeUnit" - [ test "1" (\_ -> equalHack "{\"tag\":\"SumIncludeUnitOne\",\"content\":[]}"(Json.Encode.encode 0 (jsonEncSumIncludeUnit(Json.Encode.list Json.Encode.int) (SumIncludeUnitOne [])))) - , test "2" (\_ -> equalHack "{\"tag\":\"SumIncludeUnitZero\"}"(Json.Encode.encode 0 (jsonEncSumIncludeUnit(Json.Encode.list Json.Encode.int) (SumIncludeUnitZero)))) - , test "3" (\_ -> equalHack "{\"tag\":\"SumIncludeUnitOne\",\"content\":[-3,0]}"(Json.Encode.encode 0 (jsonEncSumIncludeUnit(Json.Encode.list Json.Encode.int) (SumIncludeUnitOne [-3,0])))) - , test "4" (\_ -> equalHack "{\"tag\":\"SumIncludeUnitTwo\",\"content\":[[0],[-5,2,-5,2]]}"(Json.Encode.encode 0 (jsonEncSumIncludeUnit(Json.Encode.list Json.Encode.int) (SumIncludeUnitTwo [0] [-5,2,-5,2])))) - , test "5" (\_ -> equalHack "{\"tag\":\"SumIncludeUnitOne\",\"content\":[-7,3,3,-5,2,-4,6]}"(Json.Encode.encode 0 (jsonEncSumIncludeUnit(Json.Encode.list Json.Encode.int) (SumIncludeUnitOne [-7,3,3,-5,2,-4,6])))) - , test "6" (\_ -> equalHack "{\"tag\":\"SumIncludeUnitOne\",\"content\":[-4,-8,9,-2,-10]}"(Json.Encode.encode 0 (jsonEncSumIncludeUnit(Json.Encode.list Json.Encode.int) (SumIncludeUnitOne [-4,-8,9,-2,-10])))) - , test "7" (\_ -> equalHack "{\"tag\":\"SumIncludeUnitZero\"}"(Json.Encode.encode 0 (jsonEncSumIncludeUnit(Json.Encode.list Json.Encode.int) (SumIncludeUnitZero)))) - , test "8" (\_ -> equalHack "{\"tag\":\"SumIncludeUnitZero\"}"(Json.Encode.encode 0 (jsonEncSumIncludeUnit(Json.Encode.list Json.Encode.int) (SumIncludeUnitZero)))) - , test "9" (\_ -> equalHack "{\"tag\":\"SumIncludeUnitOne\",\"content\":[16,3,-5,-10,-14,-15,16,16]}"(Json.Encode.encode 0 (jsonEncSumIncludeUnit(Json.Encode.list Json.Encode.int) (SumIncludeUnitOne [16,3,-5,-10,-14,-15,16,16])))) - , test "10" (\_ -> equalHack "{\"tag\":\"SumIncludeUnitTwo\",\"content\":[[12,18,-9,12,-17,11,14,-6,-16,8,-4,12,7,-10,16,1,-18,-14],[3,7,9,9]]}"(Json.Encode.encode 0 (jsonEncSumIncludeUnit(Json.Encode.list Json.Encode.int) (SumIncludeUnitTwo [12,18,-9,12,-17,11,14,-6,-16,8,-4,12,7,-10,16,1,-18,-14] [3,7,9,9])))) - , test "11" (\_ -> equalHack "{\"tag\":\"SumIncludeUnitOne\",\"content\":[4,-2,19]}"(Json.Encode.encode 0 (jsonEncSumIncludeUnit(Json.Encode.list Json.Encode.int) (SumIncludeUnitOne [4,-2,19])))) + [ test "1" (\_ -> equalHack "{\"tag\":\"SumIncludeUnitTwo\",\"content\":[[],[]]}"(Json.Encode.encode 0 (jsonEncSumIncludeUnit(Json.Encode.list Json.Encode.int) (SumIncludeUnitTwo [] [])))) + , test "2" (\_ -> equalHack "{\"tag\":\"SumIncludeUnitTwo\",\"content\":[[2],[]]}"(Json.Encode.encode 0 (jsonEncSumIncludeUnit(Json.Encode.list Json.Encode.int) (SumIncludeUnitTwo [2] [])))) + , test "3" (\_ -> equalHack "{\"tag\":\"SumIncludeUnitOne\",\"content\":[1,2,-3]}"(Json.Encode.encode 0 (jsonEncSumIncludeUnit(Json.Encode.list Json.Encode.int) (SumIncludeUnitOne [1,2,-3])))) + , test "4" (\_ -> equalHack "{\"tag\":\"SumIncludeUnitZero\"}"(Json.Encode.encode 0 (jsonEncSumIncludeUnit(Json.Encode.list Json.Encode.int) (SumIncludeUnitZero)))) + , test "5" (\_ -> equalHack "{\"tag\":\"SumIncludeUnitZero\"}"(Json.Encode.encode 0 (jsonEncSumIncludeUnit(Json.Encode.list Json.Encode.int) (SumIncludeUnitZero)))) + , test "6" (\_ -> equalHack "{\"tag\":\"SumIncludeUnitTwo\",\"content\":[[-1,-10,6],[2,5,-6,-10,4,6,10,-10,5,-10]]}"(Json.Encode.encode 0 (jsonEncSumIncludeUnit(Json.Encode.list Json.Encode.int) (SumIncludeUnitTwo [-1,-10,6] [2,5,-6,-10,4,6,10,-10,5,-10])))) + , test "7" (\_ -> equalHack "{\"tag\":\"SumIncludeUnitOne\",\"content\":[-3,2,1,-3,1,3,-2,11,2]}"(Json.Encode.encode 0 (jsonEncSumIncludeUnit(Json.Encode.list Json.Encode.int) (SumIncludeUnitOne [-3,2,1,-3,1,3,-2,11,2])))) + , test "8" (\_ -> equalHack "{\"tag\":\"SumIncludeUnitTwo\",\"content\":[[7,9,-9],[14,-9,12,-9]]}"(Json.Encode.encode 0 (jsonEncSumIncludeUnit(Json.Encode.list Json.Encode.int) (SumIncludeUnitTwo [7,9,-9] [14,-9,12,-9])))) + , test "9" (\_ -> equalHack "{\"tag\":\"SumIncludeUnitZero\"}"(Json.Encode.encode 0 (jsonEncSumIncludeUnit(Json.Encode.list Json.Encode.int) (SumIncludeUnitZero)))) + , test "10" (\_ -> equalHack "{\"tag\":\"SumIncludeUnitOne\",\"content\":[12,-16,17,3,-14,6,17,16]}"(Json.Encode.encode 0 (jsonEncSumIncludeUnit(Json.Encode.list Json.Encode.int) (SumIncludeUnitOne [12,-16,17,3,-14,6,17,16])))) + , test "11" (\_ -> equalHack "{\"tag\":\"SumIncludeUnitTwo\",\"content\":[[-4,0,-11,-11,10,-8,17,-3,1,12,-6,-16,5,-1,-8],[13,-7,-4,12,9,11,-11,6,-14,-4,-6,-19,-2]]}"(Json.Encode.encode 0 (jsonEncSumIncludeUnit(Json.Encode.list Json.Encode.int) (SumIncludeUnitTwo [-4,0,-11,-11,10,-8,17,-3,1,12,-6,-16,5,-1,-8] [13,-7,-4,12,9,11,-11,6,-14,-4,-6,-19,-2])))) ] sumDecodeIncludeUnit : Test sumDecodeIncludeUnit = describe "Sum decode IncludeUnit" - [ test "1" (\_ -> equal (Ok (SumIncludeUnitOne [])) (Json.Decode.decodeString (jsonDecSumIncludeUnit (Json.Decode.list Json.Decode.int)) "{\"tag\":\"SumIncludeUnitOne\",\"content\":[]}")) - , test "2" (\_ -> equal (Ok (SumIncludeUnitZero)) (Json.Decode.decodeString (jsonDecSumIncludeUnit (Json.Decode.list Json.Decode.int)) "{\"tag\":\"SumIncludeUnitZero\"}")) - , test "3" (\_ -> equal (Ok (SumIncludeUnitOne [-3,0])) (Json.Decode.decodeString (jsonDecSumIncludeUnit (Json.Decode.list Json.Decode.int)) "{\"tag\":\"SumIncludeUnitOne\",\"content\":[-3,0]}")) - , test "4" (\_ -> equal (Ok (SumIncludeUnitTwo [0] [-5,2,-5,2])) (Json.Decode.decodeString (jsonDecSumIncludeUnit (Json.Decode.list Json.Decode.int)) "{\"tag\":\"SumIncludeUnitTwo\",\"content\":[[0],[-5,2,-5,2]]}")) - , test "5" (\_ -> equal (Ok (SumIncludeUnitOne [-7,3,3,-5,2,-4,6])) (Json.Decode.decodeString (jsonDecSumIncludeUnit (Json.Decode.list Json.Decode.int)) "{\"tag\":\"SumIncludeUnitOne\",\"content\":[-7,3,3,-5,2,-4,6]}")) - , test "6" (\_ -> equal (Ok (SumIncludeUnitOne [-4,-8,9,-2,-10])) (Json.Decode.decodeString (jsonDecSumIncludeUnit (Json.Decode.list Json.Decode.int)) "{\"tag\":\"SumIncludeUnitOne\",\"content\":[-4,-8,9,-2,-10]}")) - , test "7" (\_ -> equal (Ok (SumIncludeUnitZero)) (Json.Decode.decodeString (jsonDecSumIncludeUnit (Json.Decode.list Json.Decode.int)) "{\"tag\":\"SumIncludeUnitZero\"}")) - , test "8" (\_ -> equal (Ok (SumIncludeUnitZero)) (Json.Decode.decodeString (jsonDecSumIncludeUnit (Json.Decode.list Json.Decode.int)) "{\"tag\":\"SumIncludeUnitZero\"}")) - , test "9" (\_ -> equal (Ok (SumIncludeUnitOne [16,3,-5,-10,-14,-15,16,16])) (Json.Decode.decodeString (jsonDecSumIncludeUnit (Json.Decode.list Json.Decode.int)) "{\"tag\":\"SumIncludeUnitOne\",\"content\":[16,3,-5,-10,-14,-15,16,16]}")) - , test "10" (\_ -> equal (Ok (SumIncludeUnitTwo [12,18,-9,12,-17,11,14,-6,-16,8,-4,12,7,-10,16,1,-18,-14] [3,7,9,9])) (Json.Decode.decodeString (jsonDecSumIncludeUnit (Json.Decode.list Json.Decode.int)) "{\"tag\":\"SumIncludeUnitTwo\",\"content\":[[12,18,-9,12,-17,11,14,-6,-16,8,-4,12,7,-10,16,1,-18,-14],[3,7,9,9]]}")) - , test "11" (\_ -> equal (Ok (SumIncludeUnitOne [4,-2,19])) (Json.Decode.decodeString (jsonDecSumIncludeUnit (Json.Decode.list Json.Decode.int)) "{\"tag\":\"SumIncludeUnitOne\",\"content\":[4,-2,19]}")) + [ test "1" (\_ -> equal (Ok (SumIncludeUnitTwo [] [])) (Json.Decode.decodeString (jsonDecSumIncludeUnit (Json.Decode.list Json.Decode.int)) "{\"tag\":\"SumIncludeUnitTwo\",\"content\":[[],[]]}")) + , test "2" (\_ -> equal (Ok (SumIncludeUnitTwo [2] [])) (Json.Decode.decodeString (jsonDecSumIncludeUnit (Json.Decode.list Json.Decode.int)) "{\"tag\":\"SumIncludeUnitTwo\",\"content\":[[2],[]]}")) + , test "3" (\_ -> equal (Ok (SumIncludeUnitOne [1,2,-3])) (Json.Decode.decodeString (jsonDecSumIncludeUnit (Json.Decode.list Json.Decode.int)) "{\"tag\":\"SumIncludeUnitOne\",\"content\":[1,2,-3]}")) + , test "4" (\_ -> equal (Ok (SumIncludeUnitZero)) (Json.Decode.decodeString (jsonDecSumIncludeUnit (Json.Decode.list Json.Decode.int)) "{\"tag\":\"SumIncludeUnitZero\"}")) + , test "5" (\_ -> equal (Ok (SumIncludeUnitZero)) (Json.Decode.decodeString (jsonDecSumIncludeUnit (Json.Decode.list Json.Decode.int)) "{\"tag\":\"SumIncludeUnitZero\"}")) + , test "6" (\_ -> equal (Ok (SumIncludeUnitTwo [-1,-10,6] [2,5,-6,-10,4,6,10,-10,5,-10])) (Json.Decode.decodeString (jsonDecSumIncludeUnit (Json.Decode.list Json.Decode.int)) "{\"tag\":\"SumIncludeUnitTwo\",\"content\":[[-1,-10,6],[2,5,-6,-10,4,6,10,-10,5,-10]]}")) + , test "7" (\_ -> equal (Ok (SumIncludeUnitOne [-3,2,1,-3,1,3,-2,11,2])) (Json.Decode.decodeString (jsonDecSumIncludeUnit (Json.Decode.list Json.Decode.int)) "{\"tag\":\"SumIncludeUnitOne\",\"content\":[-3,2,1,-3,1,3,-2,11,2]}")) + , test "8" (\_ -> equal (Ok (SumIncludeUnitTwo [7,9,-9] [14,-9,12,-9])) (Json.Decode.decodeString (jsonDecSumIncludeUnit (Json.Decode.list Json.Decode.int)) "{\"tag\":\"SumIncludeUnitTwo\",\"content\":[[7,9,-9],[14,-9,12,-9]]}")) + , test "9" (\_ -> equal (Ok (SumIncludeUnitZero)) (Json.Decode.decodeString (jsonDecSumIncludeUnit (Json.Decode.list Json.Decode.int)) "{\"tag\":\"SumIncludeUnitZero\"}")) + , test "10" (\_ -> equal (Ok (SumIncludeUnitOne [12,-16,17,3,-14,6,17,16])) (Json.Decode.decodeString (jsonDecSumIncludeUnit (Json.Decode.list Json.Decode.int)) "{\"tag\":\"SumIncludeUnitOne\",\"content\":[12,-16,17,3,-14,6,17,16]}")) + , test "11" (\_ -> equal (Ok (SumIncludeUnitTwo [-4,0,-11,-11,10,-8,17,-3,1,12,-6,-16,5,-1,-8] [13,-7,-4,12,9,11,-11,6,-14,-4,-6,-19,-2])) (Json.Decode.decodeString (jsonDecSumIncludeUnit (Json.Decode.list Json.Decode.int)) "{\"tag\":\"SumIncludeUnitTwo\",\"content\":[[-4,0,-11,-11,10,-8,17,-3,1,12,-6,-16,5,-1,-8],[13,-7,-4,12,9,11,-11,6,-14,-4,-6,-19,-2]]}")) ] ntDecode1 : Test ntDecode1 = describe "NT decode 1" [ test "1" (\_ -> equal (Ok ([])) (Json.Decode.decodeString jsonDecNT1 "[]")) - , test "2" (\_ -> equal (Ok ([-2,-1])) (Json.Decode.decodeString jsonDecNT1 "[-2,-1]")) - , test "3" (\_ -> equal (Ok ([2,-2])) (Json.Decode.decodeString jsonDecNT1 "[2,-2]")) - , test "4" (\_ -> equal (Ok ([6,2])) (Json.Decode.decodeString jsonDecNT1 "[6,2]")) - , test "5" (\_ -> equal (Ok ([1,-5,-3,-6])) (Json.Decode.decodeString jsonDecNT1 "[1,-5,-3,-6]")) - , test "6" (\_ -> equal (Ok ([])) (Json.Decode.decodeString jsonDecNT1 "[]")) - , test "7" (\_ -> equal (Ok ([0,9,-3,-11,10,11,0,1,-1,-9])) (Json.Decode.decodeString jsonDecNT1 "[0,9,-3,-11,10,11,0,1,-1,-9]")) - , test "8" (\_ -> equal (Ok ([6,0,0,-11,-6,-14,-8,13,13,-1,0,-2])) (Json.Decode.decodeString jsonDecNT1 "[6,0,0,-11,-6,-14,-8,13,13,-1,0,-2]")) - , test "9" (\_ -> equal (Ok ([-5,16,3,-10,13,5,-1,-7,5,13,-9])) (Json.Decode.decodeString jsonDecNT1 "[-5,16,3,-10,13,5,-1,-7,5,13,-9]")) - , test "10" (\_ -> equal (Ok ([])) (Json.Decode.decodeString jsonDecNT1 "[]")) - , test "11" (\_ -> equal (Ok ([17,5])) (Json.Decode.decodeString jsonDecNT1 "[17,5]")) + , test "2" (\_ -> equal (Ok ([2])) (Json.Decode.decodeString jsonDecNT1 "[2]")) + , test "3" (\_ -> equal (Ok ([2,3,-4,0])) (Json.Decode.decodeString jsonDecNT1 "[2,3,-4,0]")) + , test "4" (\_ -> equal (Ok ([])) (Json.Decode.decodeString jsonDecNT1 "[]")) + , test "5" (\_ -> equal (Ok ([3,7,4,-8,-4,0,0])) (Json.Decode.decodeString jsonDecNT1 "[3,7,4,-8,-4,0,0]")) + , test "6" (\_ -> equal (Ok ([1,5,-2,-5])) (Json.Decode.decodeString jsonDecNT1 "[1,5,-2,-5]")) + , test "7" (\_ -> equal (Ok ([8,-11,12,-10,-8,-12,-11,-3])) (Json.Decode.decodeString jsonDecNT1 "[8,-11,12,-10,-8,-12,-11,-3]")) + , test "8" (\_ -> equal (Ok ([])) (Json.Decode.decodeString jsonDecNT1 "[]")) + , test "9" (\_ -> equal (Ok ([14,-6])) (Json.Decode.decodeString jsonDecNT1 "[14,-6]")) + , test "10" (\_ -> equal (Ok ([-14,14,11,-16])) (Json.Decode.decodeString jsonDecNT1 "[-14,14,11,-16]")) + , test "11" (\_ -> equal (Ok ([-14,5,8,13,-10,2,19,-20,-4,10,-4,12,-18])) (Json.Decode.decodeString jsonDecNT1 "[-14,5,8,13,-10,2,19,-20,-4,10,-4,12,-18]")) ] ntEncode1 : Test ntEncode1 = describe "NT encode 1" [ test "1" (\_ -> equalHack "[]"(Json.Encode.encode 0 (jsonEncNT1 ([])))) - , test "2" (\_ -> equalHack "[-2,-1]"(Json.Encode.encode 0 (jsonEncNT1 ([-2,-1])))) - , test "3" (\_ -> equalHack "[2,-2]"(Json.Encode.encode 0 (jsonEncNT1 ([2,-2])))) - , test "4" (\_ -> equalHack "[6,2]"(Json.Encode.encode 0 (jsonEncNT1 ([6,2])))) - , test "5" (\_ -> equalHack "[1,-5,-3,-6]"(Json.Encode.encode 0 (jsonEncNT1 ([1,-5,-3,-6])))) - , test "6" (\_ -> equalHack "[]"(Json.Encode.encode 0 (jsonEncNT1 ([])))) - , test "7" (\_ -> equalHack "[0,9,-3,-11,10,11,0,1,-1,-9]"(Json.Encode.encode 0 (jsonEncNT1 ([0,9,-3,-11,10,11,0,1,-1,-9])))) - , test "8" (\_ -> equalHack "[6,0,0,-11,-6,-14,-8,13,13,-1,0,-2]"(Json.Encode.encode 0 (jsonEncNT1 ([6,0,0,-11,-6,-14,-8,13,13,-1,0,-2])))) - , test "9" (\_ -> equalHack "[-5,16,3,-10,13,5,-1,-7,5,13,-9]"(Json.Encode.encode 0 (jsonEncNT1 ([-5,16,3,-10,13,5,-1,-7,5,13,-9])))) - , test "10" (\_ -> equalHack "[]"(Json.Encode.encode 0 (jsonEncNT1 ([])))) - , test "11" (\_ -> equalHack "[17,5]"(Json.Encode.encode 0 (jsonEncNT1 ([17,5])))) + , test "2" (\_ -> equalHack "[2]"(Json.Encode.encode 0 (jsonEncNT1 ([2])))) + , test "3" (\_ -> equalHack "[2,3,-4,0]"(Json.Encode.encode 0 (jsonEncNT1 ([2,3,-4,0])))) + , test "4" (\_ -> equalHack "[]"(Json.Encode.encode 0 (jsonEncNT1 ([])))) + , test "5" (\_ -> equalHack "[3,7,4,-8,-4,0,0]"(Json.Encode.encode 0 (jsonEncNT1 ([3,7,4,-8,-4,0,0])))) + , test "6" (\_ -> equalHack "[1,5,-2,-5]"(Json.Encode.encode 0 (jsonEncNT1 ([1,5,-2,-5])))) + , test "7" (\_ -> equalHack "[8,-11,12,-10,-8,-12,-11,-3]"(Json.Encode.encode 0 (jsonEncNT1 ([8,-11,12,-10,-8,-12,-11,-3])))) + , test "8" (\_ -> equalHack "[]"(Json.Encode.encode 0 (jsonEncNT1 ([])))) + , test "9" (\_ -> equalHack "[14,-6]"(Json.Encode.encode 0 (jsonEncNT1 ([14,-6])))) + , test "10" (\_ -> equalHack "[-14,14,11,-16]"(Json.Encode.encode 0 (jsonEncNT1 ([-14,14,11,-16])))) + , test "11" (\_ -> equalHack "[-14,5,8,13,-10,2,19,-20,-4,10,-4,12,-18]"(Json.Encode.encode 0 (jsonEncNT1 ([-14,5,8,13,-10,2,19,-20,-4,10,-4,12,-18])))) ] ntDecode2 : Test ntDecode2 = describe "NT decode 2" [ test "1" (\_ -> equal (Ok ([])) (Json.Decode.decodeString jsonDecNT2 "[]")) - , test "2" (\_ -> equal (Ok ([1,2])) (Json.Decode.decodeString jsonDecNT2 "[1,2]")) - , test "3" (\_ -> equal (Ok ([-2,-1,-1])) (Json.Decode.decodeString jsonDecNT2 "[-2,-1,-1]")) - , test "4" (\_ -> equal (Ok ([-1,-5,0,-5])) (Json.Decode.decodeString jsonDecNT2 "[-1,-5,0,-5]")) - , test "5" (\_ -> equal (Ok ([-7,6,5,3])) (Json.Decode.decodeString jsonDecNT2 "[-7,6,5,3]")) - , test "6" (\_ -> equal (Ok ([])) (Json.Decode.decodeString jsonDecNT2 "[]")) - , test "7" (\_ -> equal (Ok ([1,4,5,7,2,5,12])) (Json.Decode.decodeString jsonDecNT2 "[1,4,5,7,2,5,12]")) - , test "8" (\_ -> equal (Ok ([6,5,13,-3])) (Json.Decode.decodeString jsonDecNT2 "[6,5,13,-3]")) - , test "9" (\_ -> equal (Ok ([5,16,-7,1,-15,-3,3,-8,-13,-15,3])) (Json.Decode.decodeString jsonDecNT2 "[5,16,-7,1,-15,-3,3,-8,-13,-15,3]")) - , test "10" (\_ -> equal (Ok ([-16,-4,3,-1,6,9,8,4])) (Json.Decode.decodeString jsonDecNT2 "[-16,-4,3,-1,6,9,8,4]")) - , test "11" (\_ -> equal (Ok ([19,-15,-4,-5,-14])) (Json.Decode.decodeString jsonDecNT2 "[19,-15,-4,-5,-14]")) + , test "2" (\_ -> equal (Ok ([1,1])) (Json.Decode.decodeString jsonDecNT2 "[1,1]")) + , test "3" (\_ -> equal (Ok ([2,-2,3,2])) (Json.Decode.decodeString jsonDecNT2 "[2,-2,3,2]")) + , test "4" (\_ -> equal (Ok ([])) (Json.Decode.decodeString jsonDecNT2 "[]")) + , test "5" (\_ -> equal (Ok ([6,-8,-7,-7,-4,1])) (Json.Decode.decodeString jsonDecNT2 "[6,-8,-7,-7,-4,1]")) + , test "6" (\_ -> equal (Ok ([7,-6,-5])) (Json.Decode.decodeString jsonDecNT2 "[7,-6,-5]")) + , test "7" (\_ -> equal (Ok ([2,-2,-11])) (Json.Decode.decodeString jsonDecNT2 "[2,-2,-11]")) + , test "8" (\_ -> equal (Ok ([12,-5,-13,1])) (Json.Decode.decodeString jsonDecNT2 "[12,-5,-13,1]")) + , test "9" (\_ -> equal (Ok ([-9,-7,4,1,2,-14,7,-10,10,-13,-14,16,1])) (Json.Decode.decodeString jsonDecNT2 "[-9,-7,4,1,2,-14,7,-10,10,-13,-14,16,1]")) + , test "10" (\_ -> equal (Ok ([10,-17,-4,-8,7,-10,6,-5,2])) (Json.Decode.decodeString jsonDecNT2 "[10,-17,-4,-8,7,-10,6,-5,2]")) + , test "11" (\_ -> equal (Ok ([9,-6,-5,-17])) (Json.Decode.decodeString jsonDecNT2 "[9,-6,-5,-17]")) ] ntEncode2 : Test ntEncode2 = describe "NT encode 2" [ test "1" (\_ -> equalHack "[]"(Json.Encode.encode 0 (jsonEncNT2 ([])))) - , test "2" (\_ -> equalHack "[1,2]"(Json.Encode.encode 0 (jsonEncNT2 ([1,2])))) - , test "3" (\_ -> equalHack "[-2,-1,-1]"(Json.Encode.encode 0 (jsonEncNT2 ([-2,-1,-1])))) - , test "4" (\_ -> equalHack "[-1,-5,0,-5]"(Json.Encode.encode 0 (jsonEncNT2 ([-1,-5,0,-5])))) - , test "5" (\_ -> equalHack "[-7,6,5,3]"(Json.Encode.encode 0 (jsonEncNT2 ([-7,6,5,3])))) - , test "6" (\_ -> equalHack "[]"(Json.Encode.encode 0 (jsonEncNT2 ([])))) - , test "7" (\_ -> equalHack "[1,4,5,7,2,5,12]"(Json.Encode.encode 0 (jsonEncNT2 ([1,4,5,7,2,5,12])))) - , test "8" (\_ -> equalHack "[6,5,13,-3]"(Json.Encode.encode 0 (jsonEncNT2 ([6,5,13,-3])))) - , test "9" (\_ -> equalHack "[5,16,-7,1,-15,-3,3,-8,-13,-15,3]"(Json.Encode.encode 0 (jsonEncNT2 ([5,16,-7,1,-15,-3,3,-8,-13,-15,3])))) - , test "10" (\_ -> equalHack "[-16,-4,3,-1,6,9,8,4]"(Json.Encode.encode 0 (jsonEncNT2 ([-16,-4,3,-1,6,9,8,4])))) - , test "11" (\_ -> equalHack "[19,-15,-4,-5,-14]"(Json.Encode.encode 0 (jsonEncNT2 ([19,-15,-4,-5,-14])))) + , test "2" (\_ -> equalHack "[1,1]"(Json.Encode.encode 0 (jsonEncNT2 ([1,1])))) + , test "3" (\_ -> equalHack "[2,-2,3,2]"(Json.Encode.encode 0 (jsonEncNT2 ([2,-2,3,2])))) + , test "4" (\_ -> equalHack "[]"(Json.Encode.encode 0 (jsonEncNT2 ([])))) + , test "5" (\_ -> equalHack "[6,-8,-7,-7,-4,1]"(Json.Encode.encode 0 (jsonEncNT2 ([6,-8,-7,-7,-4,1])))) + , test "6" (\_ -> equalHack "[7,-6,-5]"(Json.Encode.encode 0 (jsonEncNT2 ([7,-6,-5])))) + , test "7" (\_ -> equalHack "[2,-2,-11]"(Json.Encode.encode 0 (jsonEncNT2 ([2,-2,-11])))) + , test "8" (\_ -> equalHack "[12,-5,-13,1]"(Json.Encode.encode 0 (jsonEncNT2 ([12,-5,-13,1])))) + , test "9" (\_ -> equalHack "[-9,-7,4,1,2,-14,7,-10,10,-13,-14,16,1]"(Json.Encode.encode 0 (jsonEncNT2 ([-9,-7,4,1,2,-14,7,-10,10,-13,-14,16,1])))) + , test "10" (\_ -> equalHack "[10,-17,-4,-8,7,-10,6,-5,2]"(Json.Encode.encode 0 (jsonEncNT2 ([10,-17,-4,-8,7,-10,6,-5,2])))) + , test "11" (\_ -> equalHack "[9,-6,-5,-17]"(Json.Encode.encode 0 (jsonEncNT2 ([9,-6,-5,-17])))) ] ntDecode3 : Test ntDecode3 = describe "NT decode 3" [ test "1" (\_ -> equal (Ok ([])) (Json.Decode.decodeString jsonDecNT3 "[]")) - , test "2" (\_ -> equal (Ok ([-1])) (Json.Decode.decodeString jsonDecNT3 "[-1]")) - , test "3" (\_ -> equal (Ok ([])) (Json.Decode.decodeString jsonDecNT3 "[]")) - , test "4" (\_ -> equal (Ok ([1,-2,-1,0,6])) (Json.Decode.decodeString jsonDecNT3 "[1,-2,-1,0,6]")) - , test "5" (\_ -> equal (Ok ([])) (Json.Decode.decodeString jsonDecNT3 "[]")) - , test "6" (\_ -> equal (Ok ([-1,-5,-8,-1,4,-8])) (Json.Decode.decodeString jsonDecNT3 "[-1,-5,-8,-1,4,-8]")) - , test "7" (\_ -> equal (Ok ([6,4,4,8,1,-10,-11,-2,4,-10,-2,-7])) (Json.Decode.decodeString jsonDecNT3 "[6,4,4,8,1,-10,-11,-2,4,-10,-2,-7]")) - , test "8" (\_ -> equal (Ok ([-6,12,-2,-10])) (Json.Decode.decodeString jsonDecNT3 "[-6,12,-2,-10]")) - , test "9" (\_ -> equal (Ok ([12,7,1,7,-14,2,5,4])) (Json.Decode.decodeString jsonDecNT3 "[12,7,1,7,-14,2,5,4]")) - , test "10" (\_ -> equal (Ok ([10,12,-4,10,17,14,8,8,2,6,-16,16,-17,7,-18])) (Json.Decode.decodeString jsonDecNT3 "[10,12,-4,10,17,14,8,8,2,6,-16,16,-17,7,-18]")) - , test "11" (\_ -> equal (Ok ([-3,-8,19,14,3,20,19,-12])) (Json.Decode.decodeString jsonDecNT3 "[-3,-8,19,14,3,20,19,-12]")) + , test "2" (\_ -> equal (Ok ([1,0])) (Json.Decode.decodeString jsonDecNT3 "[1,0]")) + , test "3" (\_ -> equal (Ok ([0,3,4])) (Json.Decode.decodeString jsonDecNT3 "[0,3,4]")) + , test "4" (\_ -> equal (Ok ([-2])) (Json.Decode.decodeString jsonDecNT3 "[-2]")) + , test "5" (\_ -> equal (Ok ([6,8,2,4,8])) (Json.Decode.decodeString jsonDecNT3 "[6,8,2,4,8]")) + , test "6" (\_ -> equal (Ok ([1,-2,0,9,-8,0])) (Json.Decode.decodeString jsonDecNT3 "[1,-2,0,9,-8,0]")) + , test "7" (\_ -> equal (Ok ([-9,2,-3,-7,3,-1,2,-8,-8,10,3,3])) (Json.Decode.decodeString jsonDecNT3 "[-9,2,-3,-7,3,-1,2,-8,-8,10,3,3]")) + , test "8" (\_ -> equal (Ok ([-7,8,2,0,10,-6,-5,-1,11,-13,-6,8,-14])) (Json.Decode.decodeString jsonDecNT3 "[-7,8,2,0,10,-6,-5,-1,11,-13,-6,8,-14]")) + , test "9" (\_ -> equal (Ok ([6,4,9,-11])) (Json.Decode.decodeString jsonDecNT3 "[6,4,9,-11]")) + , test "10" (\_ -> equal (Ok ([2,-7,16,-1,17,0,-9,4,12,-1,10,2,10,-5])) (Json.Decode.decodeString jsonDecNT3 "[2,-7,16,-1,17,0,-9,4,12,-1,10,2,10,-5]")) + , test "11" (\_ -> equal (Ok ([-20,2,-7,11])) (Json.Decode.decodeString jsonDecNT3 "[-20,2,-7,11]")) ] ntEncode3 : Test ntEncode3 = describe "NT encode 3" [ test "1" (\_ -> equalHack "[]"(Json.Encode.encode 0 (jsonEncNT3 ([])))) - , test "2" (\_ -> equalHack "[-1]"(Json.Encode.encode 0 (jsonEncNT3 ([-1])))) - , test "3" (\_ -> equalHack "[]"(Json.Encode.encode 0 (jsonEncNT3 ([])))) - , test "4" (\_ -> equalHack "[1,-2,-1,0,6]"(Json.Encode.encode 0 (jsonEncNT3 ([1,-2,-1,0,6])))) - , test "5" (\_ -> equalHack "[]"(Json.Encode.encode 0 (jsonEncNT3 ([])))) - , test "6" (\_ -> equalHack "[-1,-5,-8,-1,4,-8]"(Json.Encode.encode 0 (jsonEncNT3 ([-1,-5,-8,-1,4,-8])))) - , test "7" (\_ -> equalHack "[6,4,4,8,1,-10,-11,-2,4,-10,-2,-7]"(Json.Encode.encode 0 (jsonEncNT3 ([6,4,4,8,1,-10,-11,-2,4,-10,-2,-7])))) - , test "8" (\_ -> equalHack "[-6,12,-2,-10]"(Json.Encode.encode 0 (jsonEncNT3 ([-6,12,-2,-10])))) - , test "9" (\_ -> equalHack "[12,7,1,7,-14,2,5,4]"(Json.Encode.encode 0 (jsonEncNT3 ([12,7,1,7,-14,2,5,4])))) - , test "10" (\_ -> equalHack "[10,12,-4,10,17,14,8,8,2,6,-16,16,-17,7,-18]"(Json.Encode.encode 0 (jsonEncNT3 ([10,12,-4,10,17,14,8,8,2,6,-16,16,-17,7,-18])))) - , test "11" (\_ -> equalHack "[-3,-8,19,14,3,20,19,-12]"(Json.Encode.encode 0 (jsonEncNT3 ([-3,-8,19,14,3,20,19,-12])))) + , test "2" (\_ -> equalHack "[1,0]"(Json.Encode.encode 0 (jsonEncNT3 ([1,0])))) + , test "3" (\_ -> equalHack "[0,3,4]"(Json.Encode.encode 0 (jsonEncNT3 ([0,3,4])))) + , test "4" (\_ -> equalHack "[-2]"(Json.Encode.encode 0 (jsonEncNT3 ([-2])))) + , test "5" (\_ -> equalHack "[6,8,2,4,8]"(Json.Encode.encode 0 (jsonEncNT3 ([6,8,2,4,8])))) + , test "6" (\_ -> equalHack "[1,-2,0,9,-8,0]"(Json.Encode.encode 0 (jsonEncNT3 ([1,-2,0,9,-8,0])))) + , test "7" (\_ -> equalHack "[-9,2,-3,-7,3,-1,2,-8,-8,10,3,3]"(Json.Encode.encode 0 (jsonEncNT3 ([-9,2,-3,-7,3,-1,2,-8,-8,10,3,3])))) + , test "8" (\_ -> equalHack "[-7,8,2,0,10,-6,-5,-1,11,-13,-6,8,-14]"(Json.Encode.encode 0 (jsonEncNT3 ([-7,8,2,0,10,-6,-5,-1,11,-13,-6,8,-14])))) + , test "9" (\_ -> equalHack "[6,4,9,-11]"(Json.Encode.encode 0 (jsonEncNT3 ([6,4,9,-11])))) + , test "10" (\_ -> equalHack "[2,-7,16,-1,17,0,-9,4,12,-1,10,2,10,-5]"(Json.Encode.encode 0 (jsonEncNT3 ([2,-7,16,-1,17,0,-9,4,12,-1,10,2,10,-5])))) + , test "11" (\_ -> equalHack "[-20,2,-7,11]"(Json.Encode.encode 0 (jsonEncNT3 ([-20,2,-7,11])))) ] ntDecode4 : Test ntDecode4 = describe "NT decode 4" [ test "1" (\_ -> equal (Ok (NT4 {foo = []})) (Json.Decode.decodeString (jsonDecNT4 ) "{\"foo\":[]}")) - , test "2" (\_ -> equal (Ok (NT4 {foo = [-2]})) (Json.Decode.decodeString (jsonDecNT4 ) "{\"foo\":[-2]}")) - , test "3" (\_ -> equal (Ok (NT4 {foo = [4,-1,1,2]})) (Json.Decode.decodeString (jsonDecNT4 ) "{\"foo\":[4,-1,1,2]}")) - , test "4" (\_ -> equal (Ok (NT4 {foo = [6]})) (Json.Decode.decodeString (jsonDecNT4 ) "{\"foo\":[6]}")) - , test "5" (\_ -> equal (Ok (NT4 {foo = [3,4,0,-5]})) (Json.Decode.decodeString (jsonDecNT4 ) "{\"foo\":[3,4,0,-5]}")) - , test "6" (\_ -> equal (Ok (NT4 {foo = [8,0,5,-1]})) (Json.Decode.decodeString (jsonDecNT4 ) "{\"foo\":[8,0,5,-1]}")) - , test "7" (\_ -> equal (Ok (NT4 {foo = [4,6,2,10,2,-2]})) (Json.Decode.decodeString (jsonDecNT4 ) "{\"foo\":[4,6,2,10,2,-2]}")) - , test "8" (\_ -> equal (Ok (NT4 {foo = [-1]})) (Json.Decode.decodeString (jsonDecNT4 ) "{\"foo\":[-1]}")) - , test "9" (\_ -> equal (Ok (NT4 {foo = [-2,10,16,-7]})) (Json.Decode.decodeString (jsonDecNT4 ) "{\"foo\":[-2,10,16,-7]}")) - , test "10" (\_ -> equal (Ok (NT4 {foo = [-12,5,-2,0,-3,16]})) (Json.Decode.decodeString (jsonDecNT4 ) "{\"foo\":[-12,5,-2,0,-3,16]}")) - , test "11" (\_ -> equal (Ok (NT4 {foo = [4,9,13,-9,7,-13,-14,-6,-10,-1,-18,-18,1]})) (Json.Decode.decodeString (jsonDecNT4 ) "{\"foo\":[4,9,13,-9,7,-13,-14,-6,-10,-1,-18,-18,1]}")) + , test "2" (\_ -> equal (Ok (NT4 {foo = []})) (Json.Decode.decodeString (jsonDecNT4 ) "{\"foo\":[]}")) + , test "3" (\_ -> equal (Ok (NT4 {foo = [-3,0,-1,-1]})) (Json.Decode.decodeString (jsonDecNT4 ) "{\"foo\":[-3,0,-1,-1]}")) + , test "4" (\_ -> equal (Ok (NT4 {foo = [-4,-3,5,0,1]})) (Json.Decode.decodeString (jsonDecNT4 ) "{\"foo\":[-4,-3,5,0,1]}")) + , test "5" (\_ -> equal (Ok (NT4 {foo = [-4,5,2,-4,8,6,7]})) (Json.Decode.decodeString (jsonDecNT4 ) "{\"foo\":[-4,5,2,-4,8,6,7]}")) + , test "6" (\_ -> equal (Ok (NT4 {foo = [-10,2,9,-9,-7,10,6]})) (Json.Decode.decodeString (jsonDecNT4 ) "{\"foo\":[-10,2,9,-9,-7,10,6]}")) + , test "7" (\_ -> equal (Ok (NT4 {foo = [-11,-11,-9,11]})) (Json.Decode.decodeString (jsonDecNT4 ) "{\"foo\":[-11,-11,-9,11]}")) + , test "8" (\_ -> equal (Ok (NT4 {foo = [-12,7,8]})) (Json.Decode.decodeString (jsonDecNT4 ) "{\"foo\":[-12,7,8]}")) + , test "9" (\_ -> equal (Ok (NT4 {foo = [7,-12,16,16,-8,1,-4,15,-11,-4,12,-4,6]})) (Json.Decode.decodeString (jsonDecNT4 ) "{\"foo\":[7,-12,16,16,-8,1,-4,15,-11,-4,12,-4,6]}")) + , test "10" (\_ -> equal (Ok (NT4 {foo = [-6,-8]})) (Json.Decode.decodeString (jsonDecNT4 ) "{\"foo\":[-6,-8]}")) + , test "11" (\_ -> equal (Ok (NT4 {foo = []})) (Json.Decode.decodeString (jsonDecNT4 ) "{\"foo\":[]}")) ] ntEncode4 : Test ntEncode4 = describe "NT encode 4" [ test "1" (\_ -> equalHack "{\"foo\":[]}"(Json.Encode.encode 0 (jsonEncNT4 (NT4 {foo = []})))) - , test "2" (\_ -> equalHack "{\"foo\":[-2]}"(Json.Encode.encode 0 (jsonEncNT4 (NT4 {foo = [-2]})))) - , test "3" (\_ -> equalHack "{\"foo\":[4,-1,1,2]}"(Json.Encode.encode 0 (jsonEncNT4 (NT4 {foo = [4,-1,1,2]})))) - , test "4" (\_ -> equalHack "{\"foo\":[6]}"(Json.Encode.encode 0 (jsonEncNT4 (NT4 {foo = [6]})))) - , test "5" (\_ -> equalHack "{\"foo\":[3,4,0,-5]}"(Json.Encode.encode 0 (jsonEncNT4 (NT4 {foo = [3,4,0,-5]})))) - , test "6" (\_ -> equalHack "{\"foo\":[8,0,5,-1]}"(Json.Encode.encode 0 (jsonEncNT4 (NT4 {foo = [8,0,5,-1]})))) - , test "7" (\_ -> equalHack "{\"foo\":[4,6,2,10,2,-2]}"(Json.Encode.encode 0 (jsonEncNT4 (NT4 {foo = [4,6,2,10,2,-2]})))) - , test "8" (\_ -> equalHack "{\"foo\":[-1]}"(Json.Encode.encode 0 (jsonEncNT4 (NT4 {foo = [-1]})))) - , test "9" (\_ -> equalHack "{\"foo\":[-2,10,16,-7]}"(Json.Encode.encode 0 (jsonEncNT4 (NT4 {foo = [-2,10,16,-7]})))) - , test "10" (\_ -> equalHack "{\"foo\":[-12,5,-2,0,-3,16]}"(Json.Encode.encode 0 (jsonEncNT4 (NT4 {foo = [-12,5,-2,0,-3,16]})))) - , test "11" (\_ -> equalHack "{\"foo\":[4,9,13,-9,7,-13,-14,-6,-10,-1,-18,-18,1]}"(Json.Encode.encode 0 (jsonEncNT4 (NT4 {foo = [4,9,13,-9,7,-13,-14,-6,-10,-1,-18,-18,1]})))) + , test "2" (\_ -> equalHack "{\"foo\":[]}"(Json.Encode.encode 0 (jsonEncNT4 (NT4 {foo = []})))) + , test "3" (\_ -> equalHack "{\"foo\":[-3,0,-1,-1]}"(Json.Encode.encode 0 (jsonEncNT4 (NT4 {foo = [-3,0,-1,-1]})))) + , test "4" (\_ -> equalHack "{\"foo\":[-4,-3,5,0,1]}"(Json.Encode.encode 0 (jsonEncNT4 (NT4 {foo = [-4,-3,5,0,1]})))) + , test "5" (\_ -> equalHack "{\"foo\":[-4,5,2,-4,8,6,7]}"(Json.Encode.encode 0 (jsonEncNT4 (NT4 {foo = [-4,5,2,-4,8,6,7]})))) + , test "6" (\_ -> equalHack "{\"foo\":[-10,2,9,-9,-7,10,6]}"(Json.Encode.encode 0 (jsonEncNT4 (NT4 {foo = [-10,2,9,-9,-7,10,6]})))) + , test "7" (\_ -> equalHack "{\"foo\":[-11,-11,-9,11]}"(Json.Encode.encode 0 (jsonEncNT4 (NT4 {foo = [-11,-11,-9,11]})))) + , test "8" (\_ -> equalHack "{\"foo\":[-12,7,8]}"(Json.Encode.encode 0 (jsonEncNT4 (NT4 {foo = [-12,7,8]})))) + , test "9" (\_ -> equalHack "{\"foo\":[7,-12,16,16,-8,1,-4,15,-11,-4,12,-4,6]}"(Json.Encode.encode 0 (jsonEncNT4 (NT4 {foo = [7,-12,16,16,-8,1,-4,15,-11,-4,12,-4,6]})))) + , test "10" (\_ -> equalHack "{\"foo\":[-6,-8]}"(Json.Encode.encode 0 (jsonEncNT4 (NT4 {foo = [-6,-8]})))) + , test "11" (\_ -> equalHack "{\"foo\":[]}"(Json.Encode.encode 0 (jsonEncNT4 (NT4 {foo = []})))) ]