trunk
HeNine 2 years ago
parent 1bb65f20b4
commit 73e4047e92

@ -317,3 +317,32 @@ test-suite day12aoctest
, array , array
ghc-options: -threaded -rtsopts -with-rtsopts=-N ghc-options: -threaded -rtsopts -with-rtsopts=-N
default-language: Haskell2010 default-language: Haskell2010
-- Day 13
test-suite day13basictest
type: exitcode-stdio-1.0
hs-source-dirs: src/day13/test, src/day13
main-is: Basic.hs
other-modules:
Day13Lib
build-depends: base
, HUnit
, parsec
, split
ghc-options: -threaded -rtsopts -with-rtsopts=-N
default-language: Haskell2010
test-suite day13aoctest
type: exitcode-stdio-1.0
hs-source-dirs: src/day13/test, src/day13
main-is: AoCTest.hs
other-modules:
Day13Lib
build-depends: base
, HUnit
, parsec
, split
ghc-options: -threaded -rtsopts -with-rtsopts=-N
default-language: Haskell2010

@ -0,0 +1,23 @@
[1,1,3,1,1]
[1,1,5,1,1]
[[1],[2,3,4]]
[[1],4]
[9]
[[8,7,6]]
[[4,4],4,4]
[[4,4],4,4,4]
[7,7,7,7]
[7,7,7]
[]
[3]
[[[]]]
[[]]
[1,[2,[3,[4,[5,6,7]]]],8,9]
[1,[2,[3,[4,[5,6,0]]]],8,9]

@ -0,0 +1,449 @@
[[[[2]],[2,[3],[9,3],10],8],[[9,[5,7,5,5],6,8],[[],7,7,2]],[[]]]
[[[0,[5,6,5],[0,4,1]],[],[3],[]],[5,0,1],[1,3,6,[1,[7,4]],10],[]]
[[[],[[1,1],9]],[],[[10,[1,6,3,8,6]],8,[2],10]]
[[[6,[2],6,5,[4,10,5,8,9]],[3,[10,4,0],1]],[7,[[2,10,7,9,3],[10,6],2,6],[7,[1],[3,5],[3,8,5,8,2],[]],2],[9],[[9,[0],[0,6,3,7],2,6],[1,1],4,2],[]]
[[[[8,0],8],4,[[4,8,8,10],1,[3],4]],[2],[]]
[[7,[0,[1,0],3,[2,7,1,3,8]],[6,0,4,0],6,6]]
[[[[5,9],[4,9,2,10,5],0,[7,9,3]]],[3,[6],[4,[5,4,6],[5,4,0,5]],[[5,5,7],[10,6,5,8],[9,0,6,3,1],2],[9,[1,8,3,5,10],[0,5],3]],[6,8,[[5,9],0,5,[7]]],[[]],[[9,[],[1,8,8,0,4],[0,4,1]],0,[[],9],[]]]
[[10],[[[],[3],4],[6]],[[10,5,[],[],5]]]
[[[3,8],[0,8,[],6]]]
[[],[[6],6,[5]]]
[[0,9,4,3],[[[4,5,4]]]]
[[0,[[9,0,5],6],[3,3,[10,0,1],3,4]],[0],[2,2,5,3],[[6],9,0,8,[[9,6,4]]],[6]]
[[[[5,2,5],10,6,1,8],1,[[],3,[8],[9,1,1,4,1]],[]],[2,[[8,6,1],[3]],[[],[9,9]]]]
[[[5,8],2]]
[[[0,[8,2,6],[5,7,1],[10,3,7]],7,[0,9,8],[1,8],[]],[[],[9]],[[1,[9],10,8,7],[],2,[[4,5,4,10],9],8],[[[],3,3]],[[],[[],[7,10,3,5],1,[0]]]]
[[2,[3,9,[4,1,10],3,[]],7,8]]
[[],[5,[[9,2,5,1,8],[],9,[7]]]]
[[[9,10,[3,10,10,8,2],2],8,[[3],8,[2,2,1,3]]]]
[[2,7,[6,3],[]]]
[[[5,8],8,[],[1,[7,8,3,8,4]],9],[[],1,[[2,7],1,[8,10,6,9,5]],10,[[],7,[]]],[],[10,10,4,0,6]]
[[[[3,0,0,6],[1,3,1,0,3],[8],6,5]],[2,8,[8]],[9,[[5,8],9,[0,2],1,8],[]],[10,1,[0,[],9]]]
[[4,[[10,7,10],4,[]],[[1,7]],[[],8,[10,10],[8,4],[2,5,4,5,0]]],[[[5,9,2,7],10,3],[],8,[1],[[0,3,9,8],[],7,[],9]],[10,5,1],[8,[2,3,[2,9,1,4,3]],0],[[],5,[5,[8,8,2],10,2]]]
[[],[6,[4,[9],1],[7,0]],[1,[],[[5,7]],[7]]]
[[[5,[8,5,2,7,5]],[[3,6,9],[6,7],7]]]
[[2,0]]
[[[7,2,[],1,2]],[],[[],2,[[0,6,0,6,8]]]]
[[0,2,[],7]]
[[4],[],[7],[9,[[4,7,5],9,6,3,[7]],4,[]],[7,1,[4],[[7],[9,7,10,1],[1,9]],3]]
[[[[0,4,5,7],9,2],8,[5],4],[[10,3],[[4,10],[5,3,5,6],4],[[8],2,[4,0,2,8],[7,1,4,2,3],[9,3]],[0,[5,6,7],10,[0,3],[9,6,7,9]],[5,4,[2,10,7,10,7],6]],[[],2],[[8,1,8]],[[[],5,7,0]]]
[[0,[[],3,[10,10,3,8],1,4],6,[],1],[[[],7],[],[10,3,[],[9],[2,4,4,10]],5,6]]
[[[],[],[[0]]],[[2]],[[1,5,3,[0,5],[6]],10,1,[[],[9,2,8],[2,6,0,6],7],[[6,6],8]]]
[[[2,[3,2,10],[3,3],3],10,[],[[],[6,7,6,5],5,7,[3,6]]]]
[[],[[[4,0,3,2],0,[8],1,3]]]
[[6],[],[[[7,10,0,1],[0,8],5,[9,0,9,3],[9,8,9,5,7]],[],[[],[9],5,7,[5,0,8]]],[[[6,6,5,5],6,[2,2],0],[3,[10,6,3,4,9]],9,8],[]]
[[[],1,3],[[[6,8,3,6,4],8,2,0],9]]
[[],[8,[]],[[[10],[9,8,5,7],8]],[[[1,5,4],4,[9,6,10,5],0],[[7,5,7,0],6],1,9]]
[[1],[[7,[]],9],[[],0]]
[[[[9],7,4],1,[],1,6],[8,3,5,[],[[3],8,[4,3,3,3,3]]],[5,[2,[5],[8],10,[7,5]],[9,[3,2,1],6],8,7]]
[[[],[],0,9],[[0,[6],9,8,0],[[],6,3,[],0]],[[10,4],[[]],[[6,6,0]],6,[[2,1]]],[[],8,[[2,5,0,10],[8,10,4,6,4],9,[1],9],7,[[4,7],2,2,7,3]]]
[[1],[8,0,[8,[10],[],0,6],7,5],[],[[],[3,[8,0,4,7,9],4,[1,3,2],[7,3,0,8]],[[6],[]],4,[[3,7,7,9,2],1,6,1]]]
[[[[0],3,7,1],[0,6,[6],[3,9,7,8]],3,2],[],[[],[10,[10],10,1]],[[[9],[0,4,7,8],3,[10]],6,4],[5,4]]
[[[1,3,[8,2,1,10,6],0,6],7],[7,9,7,2],[]]
[[[[5,6,3,5],3,[10,4,8,6]],4,1,9,0],[[4,9,10,[5]]],[4]]
[[0,[1,[7]],[[],10,3,[5,6,3],[1,6,6,3,6]],[[]]],[[[],[7]],[9,9,[10,1,5,10],[]],[[0,9,9,5,9],10,4,[10,0,8]],[[]]]]
[[],[],[10],[[5,6,8]],[[[7,5],[7,8,2]],3,5,4,[9,[1,0,8,7],[2],9]]]
[[],[[6],4,9,6],[[1,[4],2],7,1,[[5,3,5,0],10,6,9]],[]]
[7,6,8,4,7]
[7,6,8,4]
[[6,[6],4,[[],[1,9],3,0],10],[[[],[9,6,2]],[[4,4],9]],[]]
[[3,2,4,6,[1,3,9,10,[8,3,9]]],[3,[7,[7,8,2,6],1,[1,5,1]],4],[[[4],9,8],[[10],5,[10,10,4,3],4,5],10,[[2,10,3,9],[10],10,[5,1,10,6,9]]],[],[4,0,[]]]
[[5,[[5,0,0,9]],[8,[5],4]],[3,[[2,2]],[],4,[[9,2,8,1,8],[5,3,1,8],3]],[[[1,7,3,2],9],[0]]]
[[[[1,2,0,1],6,[5,7],[9,7],1],[9,3],[1,[]],10]]
[[10,9,[[5,2,7,9],[4,2,9,6,2]],3],[]]
[[],[[4,7],[[7,3],10,2],3,8],[[2,1,1,9],[7],3,0,10],[8,5,0]]
[[[],[[4,1],10,[5]],1,[8,[6,8,8],[9,0,0,2],[5,8,3]]],[],[2,[[10,8],[1,1],8,[6,7,2],0],[],9,3],[[[6,3,2,4,7]],10,0]]
[[],[4,[[5,5,3,9],5,9,[],[2,3]]]]
[[[1,10,[6,6,5],10]],[10,6,[10,5,10]],[[],[0,6,[5,0],[]],9,[],0],[1,3,9]]
[[],[[1,2,6,[4]],10,5,[],2],[]]
[[[8,[8,10],[1,5,4,3],1]],[[4,[4,7,8,2,0],[],[7,0,2,3,3]],10,5],[[[3,9,6,1,6],9,6],[2,10],6,[9,7,2,[3,4,4]],3],[],[8,4]]
[[2,2,[]],[[[2],9,[2,3,2],2],[[4,0,3],[4,3,0],0,0]]]
[[10,6,10,6]]
[[[1]]]
[[0,6,[6]],[9,[7,4],[[3],[9,6,10,4,3],0,[],[]]],[[0,5,[4,0,8],6,4],[0,[],4,[5,8,8,5]],6,6],[[[8,1,8,8],[2,9],[1],[7],4],0,1],[[],1,4,3]]
[[1],[[[4,8],[],[5,3,10,1,2]],[8,[6,8,5,1],0,[5,0],7]],[4,5],[[5,10],10],[10,8]]
[[[]],[8],[[[10],9],[[5,5,5,5,6],[3],3,4],6,[],[7,[0,5,4],9,6,3]],[[3,7,4,[3,4],7],[],0,0,[1,10,10]]]
[[10],[7,2,[8,5,[4,10,1,9],[]]]]
[[[[7,7]],[0,3,8,9,2]],[2,[[6,0],10],[[],2]],[[],10,2,9],[6,9,[10,[9,0],[0,9,3,2],10],8,6],[0]]
[[[8,[7,6]],10,10],[],[],[[2],10,8,2]]
[[1],[[6,8,10,4,5]],[[3,[9,5],[],[]],7,8],[4,5,[[0,6,1,9],[7,3]],[[7,3,2,7],5,9,2,0]]]
[[[0,0]]]
[[5],[]]
[[[[0,2,2,8,5],0,[10,7,5,7,9],[10]],10,3,4,3],[[[5],0],4],[10,9,0,9,[[3,10],[3,8,2,5,1],[3,1,2],0,10]]]
[[8,4],[9],[2,3,[[1,1],[5,6,2,8],3,8],8,6],[3,[[7,2],[4],5,8,[]],3,[],[[8,1,5,9],[7],[],[7,3],10]],[]]
[[[5,[10,8],6,[5,10],[]]],[[]],[5,[[6,3],[],1,[4],3],[6,6,[0,6,4,3,0],[0,10,10,2,8],4]],[5,[[8,1],[2,1,7],0,[9,10,0]],2,[[7,2],[9,3,7,8],[3,10,5,1]]]]
[[9,7],[[8,[5],1,[2,10,2,4]],2]]
[[0,4,0,10,4],[],[[[1,2,4,9],[5,6,5],[5],3]],[9,6,[[],7,3,[]],8,6],[7,6,3]]
[[1,8,9,8,1],[8,6,[4,[6,10],[6,0,9,3]],4],[],[[[],2,[],[4]],[[1,1,10,8],10,3,[]]]]
[[9,0],[]]
[[[[2]],0],[9,[1,10],4,[],[[9,5,9,1],[10,4,0,10]]]]
[[5,[[],[2,9,4,5],7,7],9],[[[8,5,1,2],7,4,[9,1,5,9],[7,5,3,9]],2,[[2],[8]],8,[[5,1,7,10],1]]]
[[[[1,0,7,6],[]],1,5],[[0,3,[2,8,0,6],6],[],[9,8,[6,7],[3],[0,5,6,3,10]],7],[9],[],[[],6]]
[[1,3,[]],[8,9,9,[[10,5,9,2],[0,1,1,10],[3,9,9,5]]],[8,[[6,5],8,[4],[0,9]]],[[0,2,[2,1,2,2,4],8,8],[[],[9,5,1,10,1]]],[]]
[[2,5,[[9,9,1,1,4],[4]],0],[6,0],[[[0,9,2,2,10]],[9,[5,0,7],5,[]]],[9,4,[[7,4,6,10],[],[6,1,2,3]],10]]
[[3,10,[1,[7,9],[6,3,7,2,10]],6,[[2,8,8,6]]],[[2,9,[],[8,2],[]]]]
[[3,[7,[7,4,9],[6,9,2,6],[6,2],[2,6,4,9,7]],4,[]],[[],6,8,3]]
[[[[6,3],10],0,3],[[[3,0],[],[8,1]],[[],6,0,[2,6,6,0]],1]]
[[[[9,4,0,9,9]]],[],[1],[[[5,10,1,10,9],9,[3],[],[1,5,9]],0,[[10],3,10,10],8]]
[[8,7]]
[[[[4,3,0,5,9],[6,1,0,10,9]],[8,1],9]]
[[7,2,3],[],[7],[[7,[],[6,4,0]],3,[[5]],[10,[6],[9,8,4],10,[1]],7],[5,9,10]]
[[1,[5,[8,8]],10],[1,[],[[7,2,10,8],7]],[3,1],[10,[[5,7],[10,1,9,5],10],10],[[1,[]],10,3,[[0,1]]]]
[[[[],[0,6,4,9]],[[],[10,6,2],7,3,[8]],[[2,4,8],6,[7,9,5],10],10,[8,[7,9],8]]]
[[8,2,[],6,7],[[[8,5,10,2]],[8],4],[[0,8],0,[]],[[[],[],8,[2],[1]]]]
[[3,[[]]]]
[[5,[[1,4,5,7,0],5,10],7],[0,[],[5,[],[]]],[[5]]]
[[3,[[10],2,[9,7,2,1,6]],[[2,7,2,10],2,6,6,[]]],[1,0,3,[[1,5,5,7,5]]],[[[0,0,7,1]]]]
[[],[],[3],[]]
[[[[8,8,5,1,9]],5,1,[[0,7],[5,5,3,9],1,0]]]
[[[[5],4],8]]
[[[[10,1,10,1],[8,8,6,10,2]],[]],[],[[]],[[[0,5,9],[8,3,9],[],[2],10]]]
[[3,[1],[[1,7,8,7,0]],5,[8,8,5,3]],[0,0,[[5],[4,0,6]]]]
[[1,[[],9],0,[1],5],[[5,[9],[9,7,6,0,9],2,[]],[[6,2]],[]]]
[[[7]],[[3],4,[[0,2,8,10,7]],7,3]]
[[0,9,7],[5,[],[]]]
[[[[0,2,4,5,7],[5,4,0],[5],2],9,[[7,9,5],[0],0,9],4,6],[[],10,[]]]
[[6],[],[[6,[1,8,5,3]],[2,[1,10,3,4,7],10,0,7]],[1,[10,5,[1,1],[2,10,3,0,8]],[[0,10,0,10,9],[],[6,2,8]]],[[[9,4]]]]
[[[],0,0,10],[[9,1,[0,8,3,0]],6]]
[[6,10,[[2,6],1,[]]],[[],4]]
[[[6]],[[[9]],[[9,5,3,4],0],0,1,3],[5,0,[8,6,10,7,3]],[[2,[5,1,2],[2,6,1]],0,8]]
[[0],[],[[3],[10,[],4,[],[6,6,5]],8,3,3]]
[[],[10,9],[2,[[6,1,5],5],9,[8,4,1,2,[10,8]],0],[[],5,[[]],[],5],[[[]],[]]]
[[[1,[9],2]],[[[6,0,10,1,0],10,[5,4,8,4,6],5]],[]]
[[[0,[1,8,2,1],[5]],[],2,4],[[10,7],3,[6]],[5,[[7,2],[4,1,9,9],10,7,[3,5]],2,2]]
[[3,[[]],9,[],[[],[8],[],[4]]]]
[[[],[5,3],8]]
[[[[],[8,4,5,3],5,9]],[[[1],[3,9,9],[7,8,3],3],1,[[10,4,3,10,0],[8],[],[0,2],2],[1,[1,10,8]],[8,1,7,[6,5,3],[7]]]]
[[[[8],2],8,[4,4,[1,8],[6],4]],[2,[2,4,[9,5,3,9]],7,[[2,6],[5,10,0,3,2]]],[[[],[],9,[9,2,3,0,9]],[[0,7,3],[],9],[],[2,[0,2],[9],5,10]],[[3,0,7,[],5],[[10],6],7,[],[[9,5,0],7,1,0,[2,6]]],[]]
[[],[],[6,[],5,9],[0],[[[],[0],[0],[8,5,7,5]],4,[],[[10],0,9,8,4],4]]
[[[[5,0,10]]],[0,7]]
[[[],[[8,9,3,9],[8,1,5,2,8],[5,0,1,0],[2,0]],[7,[7,10,9,6],[0],[4,9,0],[7]],[[],[1,6,2,9],1]],[[9,8,[6,2,2,7,7],[4]],4],[[[4,9,5,5,5],5,0,[]],1,8,[[0],5]],[[[6,10],10,0,[4,5,6],2],[],[[0,8],7,1,[0,6,0],9],[[5,3,3],[2,9],9,[6,8],[5,6,2]],0],[]]
[[10,7,[],0],[[[10,8,8,10,2],10,0,[3,3]],6,4],[[[7,3,3]],[],[[4,10,4]],1,3],[[[0],[7]],2],[[7,4],7]]
[[[[2,4,7,2],8,1,[8,7,5]]],[[],[1,[1,1,8,2],[6,1,4,3]],[3,10,9],10],[[[],[9,8,5,3,6],8,8],7,[[1,0,9,2,0],7,6],[[3,10,2,9,6],5]]]
[[],[3,[9],[[2,3,6,6],[],1,4,7]],[[2,1]]]
[[[[],[2,10,6,3],5,[]],[[]]],[1,0,3],[[[10,2,1]],[4,10,[8,10,8]]]]
[[6,[[0,6,3,2]],2,[[9,7],0,[3,7,9,5],[]]],[[[7],8],[[10],[3],2]],[8,6,[1],7,10],[[9,[2,9,5,2]],5,[[5,1,5,8,6],9,[],10],8,1]]
[[[[5,10,5],5,5],0,[]],[3,[],[],[2,1,[],[3,5,9]],[0,[0,7]]]]
[[7,[[7]],3,[[9,0,8,5],[9,9,10],[3,2,1,8],[10,3]],8]]
[[10,[[2,7,2,0],0],6,8,[[6,5,2,6,10],[1,2,7,4],3,5]],[4,[5,8]]]
[[5,[],[[1,5,3]],10,9],[[],[],[],4],[]]
[[],[[10,0,7,10],[1,7,7,2,7],[],0,[[8,3],[10,6,9,2,6],[0,5,5,10,7],[4,5],3]]]
[[],[[4],6,[[1]]],[10,9,[[4,9,9,2,6],[3,1],[7,5,0],[7,8,7,3,7],3],[9,[3,7,0,9],9,5,5],3],[[],7,[5]],[9,[],[3,[8,2,10]]]]
[[],[6,[9,10,8,[6,0,5],[9,8,8]],[]]]
[[[2,[8,2,3,1,0]],[]],[[4,0,[8],[8,7],5]],[1,0],[8,6,3],[0,[6,[8,6,9,2,6],4],[[0],6,[]],[]]]
[[],[[1,[5,9],[3,9],8,[10,7,4,4]],6,5,[[5,4]]],[[0,[4],[7,8,1,0,7]],[4,[1,0,10,0,7],[3,3,0,5],7],8,[[9,5,7,2,8],[6]],[10,1,[6,7]]]]
[[[3,[8,3,10,4,2],4,[1,10,1],2],7,[2,[7,1,7,9]]],[[[8,1,5,10,0]],9,0,[],[[0,6,4],[3,4,2,0,1],5]],[7],[],[[[3,10,7],[0,7],[4,5,6,4,4],[]],6,[9,[0,3,6]],[[],[],[0],[2,10,9,4,5],5]]]
[[0,4,[4,[],4,10,3],6,[8]]]
[[4],[[5,4,6],[]]]
[[[0,9,[]],10,10],[[7,5,4],6,0,[5,[2,7]],[[3],[1,2,6,5],10]],[9,7],[9,0]]
[[[[],2,4,[7,1,2,10]]],[[[6]],[[5,8,1,4,0],[7,2,9],1],10,2,[4,4,8]]]
[[[3],[7,2],2,[7,[9,6,4,2],[10]]],[[2,[8,9,0,4]],[]],[9]]
[[],[8]]
[[]]
[[[[9,0,6,10]]]]
[[[[2,0,5],[1,9,1,5],[],[5,4]],[[9]],[[],6,5,3,4],9,[9,0,2]],[10,9,[1,5,4]]]
[[],[],[7,[[5,2,7,5],[9,2,1,0,4]],[[5,1,6,6,7],[0,1,7,3]],6,[]]]
[[],[2,[[7,5,7],5,[6,1,5],[1,8,8,0]],1,0],[2,[2,[]],7,[2,[3,2,1,0,3]],9],[6],[[5],[[10,4,10,4],5,6,[4,2,9,7,5],[0,5]]]]
[[3,7,[[8,1,6,8,4]],[3,[0,10,9,3]]],[[[8],[9,1],[5,8,1,0]],[],[[2],7,[5,0,7],2,2],7],[10,5]]
[[[3,[]],2,[[0,9,4,0,2],[5],5],8,2],[[]],[2,5,2,3,4]]
[[4,[[1,9,1,6,3],7,0,4],[]],[[0,3,1,[4]]],[[6,[2,0],[2],[8,7,8,9,9]]],[10,1],[[[6,8],0,[5]]]]
[[0,[9,[8,9,2,6],7,0],3],[[[0,2,7,10]],[]]]
[[3,3,10,7,5],[]]
[[7,8,5,5],[2,10,7,[[9,3,3],[8,7,2,3,6],[]],10],[[5,[6,1,4,8,6],6,7],5,5,0],[2,[[2,0],8,2],2]]
[[],[[[3,2,6],4],[9],[0,10,[6],[6,6],7],8,8]]
[[],[[[5,3,7,9],[2,10,5,5,9]],[5],[4,[]],3,9],[[[1,7,6,5],[],9,[1,7],[1,10,5]],9,3,[0,5,[2,9,3,1,10],4,[2,0,3,5]]]]
[[],[9,[1,1],[0,10],5,7],[6,[[7,8,8],[1,5],[8,9],0,1]],[5]]
[[],[[0,[0,0,5,0],6,0],1,2,[1,[6],7,2,0],[[6,3,7,5],[0,0,7,10]]]]
[[8],[4],[[0,[7],1,1,[10,9,5]]],[],[]]
[[8,0,[7,10,7,[]]],[[3,[4],[6,5,3],2],1,[[2],[8,3],[2,0,1,0,1],[7,9,9,4,9]]]]
[[[]],[[[3,4,1],[10,0,2,3,0],[],10,[9]]],[4]]
[[[[1,7,3,2,1],[0,7,9,5,4],6],[]],[[4,4,8,[2,6,8]],[6,[1],9],[[8,8,9,10,2],[6,0,8],[],3,8]],[6],[[[8],5],[0],[[4,4,10,1],4,[6,2,6,6,8],7,[2]],[6,5,[7],[3,8,3,10,9],9],[[8],10,2,1,[3,8,6,7]]],[]]
[[[[9,6,10,1],[8],9],[7,[7,1,7,1],5],0,[[],1,[6],[8]],[4,[1],[4,0,3]]],[10]]
[[5,2,[]]]
[[],[[],1],[[[5]],[[4,4,3],[10],4,3,[9,4,7,3,8]],1,[[3,0,9,5],3,[6,1,3],8,1],[[8,9,9,5,3],[4],[],[2,3,4],[1,10,8,7,7]]],[[[7,2,2,4],[5,3,2,8],3,[6,10,8,10]]]]
[[[],0],[[],7,[[4,5,4],[9,4],[0]],[[7,2,9],[10,2,8,8,5],2,[4,10,8],[7,0,8,8,3]],[]],[3,10],[2],[[6,3,[4,3]]]]
[[[3,0],[5,[],3,[],8]],[]]
[[[3,[6],[3],6,[9]],10,8],[0,[[7,9,10],7,[]],9,2],[[[8,0,8,9,0],[0],[2,6,7]],[5,1,0],[[4,5,1,9,10],[7,3,9,3,1]],1,2],[0,[[],[2],5],3,1,2]]
[[[]],[6,[6,[4,7,1],[7,6,8],2,1],1]]
[[10,[],[[],[7,9],2]],[[3,[5,4],7],1,1,[[3,8],9,2,[3,8,9,1,10]]]]
[[],[],[9,10],[[[4,10,9,9,10],0,0],2,1,3,8],[[[2,4],6],4,10]]
[[[3]],[10,[6]],[],[[2,[5],9,5,7],[[2,1],[5],9],10,8,[1,9,[],[10,1,2,0,2],0]],[]]
[[],[[1,2,9,3],[9,9,7,[6,2,7,2,1],[6,8,6,6,2]]],[10,0],[[1,8,6,5],7,[],4,[[],8,[1]]]]
[[1,[7],[[],7,[3,4,2,7,3]]],[9,[5,8],[7,9],1],[4,[4,6],[],8,3],[]]
[[4,3,4],[[],[[6,3,3,6],3,[]],[],6,[[2],[3,6,10,0,2],[9,5,0],9,2]],[9,[8],2,[[2,0,3],7,9,[10,0,5,5,4],9],8],[10],[5]]
[[7,[8,[7],[6,6,4,3],[],[]],[0,7,[7,3,9,0,3],8],[],[[2,7,10],0,5,[4,9,9,9]]],[[5,[0,7,7,10],[5,9],[3,5,1]],6,1]]
[[[8,[4,3,2,1],[9,3,1,8,2],[0,8]]],[[6,[4]],[[4],[5],[4,1,4,9]],[10,[6,5,3,5],3],[[7,4],4,[],[7,3,9,2,0]],[6,0,7,[4,4,7],7]],[[[4,4,2,10],[1,9,2,10,8],3,[10,4,2,9,9],[7,2,7,1,8]],7,[10,[6,6]],[[10],3],[]],[[[],3,2,[7,9],[3]],[[],[]],4,1,[]],[[[4,3,5,0],[6,0]],2,[[7,7],7,[1,6,10,1]],[9,9,6,0],[3,8,[5,8,2],6]]]
[[],[2,2,[2,[0,9,7,4,9]]]]
[[[3],10,[0,3,9,4]],[[],[],[2,[3,3,7,8,2],4,[7]],3,7],[10,5,[[4],[5,0,8,1]],[4,6,9]],[5],[2,8,[6,2,5,[],4],10]]
[[9,2,2],[[[10,8],8,7]],[1,[2,[2],[3,3,2],0,6],[8,[0,6,10]],[[7,8,3,8],9,2],[6,[0,0],2,[1,3,10]]],[10,[1,4,[7],[5]],0,[4]],[]]
[[8,[[3,7,9]],10,7],[[],[],[[8,2],5,[6,3,8,10,9]]]]
[[1,5,[7,10,[4,8],10,[]],1,[[0,9,3,2,2],[9,10,6,5,2],6]],[],[],[]]
[[[[6]],9]]
[[1,[6,5],2],[3,[[8,6,6,3],6,[1,4,3,4]]]]
[[7,[[4,1,6,4,2]],7,[[3,8],[],[4,6,10]]],[7,[[7,4,9,7],5,[6,7,1,3,4],[8,2,10,10]],9,1,2]]
[[3,3],[[7,[10,6,5,5,0]],9,[1,[],0]],[5]]
[[],[[1,[7,0,5]],[],6,10],[[[5,10,7,2,10],8,[4,5,6,9,1],6,[10,9,2]],[0,[10,2,6],[7],9]]]
[[],[8,2,7,[1,[6],[0,2],3],[]],[0,[2,8,8,7],[],6,3]]
[[],[[4,5],[1,2,9,2],[1],1],[[],[3,3,7,0,9],[6,[10,8],[8,8,5]],[[4,8,3,1],[7],[4,2],0,9]],[[5,8,[6,10],[8,8,10]],[[7,2],[7,3,3],6,1],10,5,[[],[4,1],[8,0,2,10]]],[]]
[[[],4,[1],8]]
[[7,2,3],[[3,[10,10,2],[2,7,7,1,0],[0,6]],[2,[3,2,7,3,7],0,10,0],2,[[3,7,0],7,[9,5,0,6],5]],[[[4,8,8,10,2],[4,8,2,1,8],[6],8,4],[],[1,3,8,4],0,[[7,6,5,2],8,[8,0,2],8]],[[9,[9],[2,8,10,2],5,[8,3,0,9]]],[8,[],[5,[0,0,5,9],[4,0,2],[]],0,10]]
[]
[[[0],[7]],[[7,[]],8,[[2,1,10,3],0,[]],[0,0]],[7,[[3,2,0]],1],[8,[[8],[1,3],[0,8,5,0],[],[0,6]],[[3,0,5],[3,2,2,7],0,5]]]
[[[[],4,6],6,[[3],[9,5,5,0],[4,0,3,1]]],[[4,10,7,[],[1,2,9]],9,[[6,2,5]],1],[[[10,7],[4,3,4,6]],5,[[10,1,9,2,10]],1]]
[[[7,[6,1],6,[4,2,5,2,5],2],2,[0,[0,8,3,2,1],7]]]
[[[7,0,2],[],[3],9,[6,[4,4],[2,2],[4]]],[[]],[[[],5,2],[1,[6,3,3,6,6]],[[],[5,10,9,7]]],[10,2,0,[[6,6,9]],[9,0,9]]]
[[[[1,5,2],7,[9,10,7,3,6],9],[9,[],[6,9]],[[],[3]]],[[],[[]],[[0,2],3,[6,5,3,7],2],[6],6],[9,[[7],5],0],[0,1,0,[5,[10,1,9,9,5],[0],[4,2,10,3],[3]],1],[]]
[[[3,1,9,4],[[2,9,5],[9],9,[]],[[],[10,4],5,[3]],[[4,0,1]],[9,4,10,[1],8]],[8,[[8,10],10,[9,4]],[[6],[8,6,9]],[[],4,[0,10,4,3,5],[6,5,3,0,6],[4,8,3,3]]],[0,[0,[],9]],[8,3,7]]
[[6,[[9,4,8,6],6,7],[[4,7,7,0,4],7,[3,2,9,10],9]]]
[[3,10,5,[]],[]]
[[3,[[9],[1,5]],[6,3,[9,5,6,10,2],4],[10],4],[[[3,1,7,10],[1,5,9,10,0],[7,10],2],[4,[0]],5,6,[8,[3,5,1],[8,6,5,4],10]]]
[[2,7,1,10],[[],[[3,6],10,4],10,6],[[0,6],[8,1],[[]]],[],[[[],[3,7,6],[5],[2,3,8],5],[5,7]]]
[[[1,[],[9,1,6,0,6],6,1],1,9,4,4],[[2],[3],7,[[7,7,3]],8],[[9,[8,2,7,9,0],[7,2,8,10]],[[]]]]
[[5,[4,[],[9],6],3,[1,[8]],1],[10,[6,0,[0,1,10,3,8],[9,8,0,4]],0,2,8],[1,3,[]]]
[[10,0,[10,[8,6]],[9,9,[10,4]]],[3],[[[4,1],[7,5,5,7],3,10,[]]],[4]]
[[0,2,[[4,0,6],[3,0,10,9,0]],[[0,3],8,[7],[0]]],[7,8,6],[],[10,2,[[5,5,2,9]]],[[9,6,5]]]
[[],[1,9]]
[[[2,10],7,8,[[4,8,6],0,8,[7,5,8],[3,1,10]]],[]]
[[],[4]]
[[[4,1,6,7],7,2,5]]
[[],[4,[[2,0,3,10],[],2,10,0],[3,4],[6,[5,9,10,8],[],[]]],[7,7,4]]
[[[[],[5,7,2,5],[10,7],[6,2,9,2],[7,9,10]]],[9,[0,10,6,3,[8,1,1]],[[0],[1],[0,7,7,3,0],[],5]]]
[[4,10,0,[[7,5,3,9],1,8,4,[]],[[8,3,1],4,[10,1,5],[9],0]],[4,[4],[10,[10,2]],4,9]]
[[[[],[6,3,1,4],2,6,[1]]],[[1,2,8]],[],[3,2,[[1,0,10,1,6],4,8,3,2],[[10,0,3,7,1],[7]]],[[[8,1,6,0],[]],5,[[6,6],[5,6],6],2,6]]
[[[0,6,[6,2,4,1,5],3]],[[[10,9,0],7,[10,5,0,9,2],[],4],[],5,10,1],[4],[[],[],0,6,2],[]]
[[[0,0,4],1,[10,5,[8,10,5,0,10],10]]]
[[[[1,1,8],[4,3,10,4],10,[1,6,2,7,1]],[],[[9,2],[6,3,2,6],[2],2,[5,3]]],[5],[10]]
[[[[2,2,4,10],3,10],[[4,9],0,6,3],[[6,3,1,8,10],9,8],7,[[8,1,0,2,5],[4],1,[0,9,1,1,10],[7,0,6,10,1]]],[],[[[3,9],[5,7],[4,2,3,3],[6,7,10,8,8]],6,[6,[2,6],0],[4,2],0],[[[0,9,3,6,10],[6,8,4,8,10],10,4,[8]],[1,[],[10,10,4,7,10],[0,0,9,1]]]]
[[[[8,6,8],[9,2],8,[6,6],[6,6,4,1,0]],[[5,8,10,3],1,7,3],10],[[0,[1,6,1],[7],[2,0,6]],[],[3,[2],[7,8],[2,10,5,7,10]],[10,[4,5,5]]],[[[5,6,4,10],[],[1]],[[8],[7,7]]]]
[[1],[[[7],[],[8,3],[0,10,4,4],[0,6,2]]],[[3,[10,6,10,8,1]],[3,5,[4,5,9,3],[9,7,5,6]],3,2],[7,[[]],7,4]]
[0,5,2,6]
[0,5,2,6,9]
[[[[]]],[8,7,1,[10,9],4]]
[[[6,6],[0,[],0],[6,0,1,10]],[[[9],9,[1,4,10],6],0,[]],[[]],[2,[9],10]]
[[[[6],[],0,10],[[6,2,7,4,6],[9],6,10],[[10,2],[1,4,2,3],[9,6],0],[],[10,1,10]],[[[1,2,6,10,0],[]],[],10,8,[2,[3,7,10,10],[6,7,6,10],[8,8,0,7,1]]],[[5,4],8,6,[2,[2],0]]]
[[7],[8,2,3]]
[[[[8,4,4],7,[10,5,10,6],7,[9,2,0,3,4]],[6,0,[6,9,3],9,[]]],[5,7,[[7,10],9,6,[1,10]]],[[[],[4,4,2],6,[8,7,0]],[0,[5]],5,4],[]]
[[[10],0,[6,[2,0,4,6],2,8,8],1]]
[[],[[2,[],[],8],[[4,6,7],9,[2],[2,1,2,2,1],[3,5]]],[],[[[1,0,9,2,3]],[[2,4,4,3,4],[6]]],[3,2,1,7,4]]
[[[[8],0,2,[9,5,3],9],0],[5,[6,[2,10,7,6],4,8],[7,5,[3,7,2,9,4]],[[6,1,1],[3],4,[0,9,5,10,0],3],5],[1,[0,0,4,6],10]]
[[[7,[],3,0,10],4,2,[4,7,8,[1],9]]]
[[5,1],[[[0,3,0,10],8,0,7,2],0,[[6,5]]],[[[9,1,0,10],[8],0,[9]],[4,1,[7,2,1,7,8]]],[]]
[[2,10,[],[],4],[0,[[4,1,8,3,10],2,[8,4,5,7,4]],[]],[],[[],[[3],[3],[],[3,4,1,1],8],10,3,[]],[1,6]]
[[10,[[9],[8],[10],[4,8,3,7,6]]],[[1,[10,7,2]]],[5,[],[[2,6,7],[6,2,2,1,10],3,6,2]],[5,6]]
[[],[10,[2,[3],[10,10],3,[9,1]],[[8],[1]],[[1,0],7,5,[6,9,1,8],[6,10,1]],[[9,4,4],5,0,[]]],[3,[7,10,7,[5,1,8,5,4],9],2,[0,[1,8,3,1,0],[4,4,3,10],0,7]]]
[[3,8,9,[[0,8,5,2,7],[],6]],[[],1,[[0],6,1,[5,9,3,6],5]],[],[[7,1,[],[5,0],[0,4,6,4]]]]
[[1,[]],[[7,[7,3,2,1,0]],[3],[4],[6]],[2,8,2,6],[[],[1,10,2,[5,8,0,6,9]],[[5,0]]]]
[[[[10,3,6,0],[8,0,10,1],[5,4,0,10,2],10],7,0],[4,[],4,6],[6,1,[6,0]]]
[[9,0]]
[[[]]]
[[7,[3,[3,7,9]],0],[[8,[4,0,10],10],[8,9]],[6,6,7,2],[[[4,4,8,4,2],6],[],[[2],[4,3],10,[2,9,2,0]],7,2]]
[[],[[[2,9,3,4,9],[5,8,9,3],[6],4],2,[[],1,[5,9],7]],[[],9,4],[[9],[[0,3,0,8],[],10,3,8],[[9,2,2,6,7],0,8]]]
[[[6],[8,[5,4,3,3,5]],[],[[],[8],[4,2,0,1,0],[9,10,10,3]]],[[[8],[1,4,3],2,[7],6],[1,[]],[8,1,9,5,[]],[[5],8]],[[7,7,8,8],[3,[6,10],4],4,[2,3],[]],[[],10]]
[[3],[[[3,7,1,1],8,9,[9,6,7],4],7],[1,[5,[3],[0,0,0,3,3]],9,4],[[],[[5,6,4,2],[3,10,8,6]],[],1]]
[[2,[[2,5,6,6,8],[],[9,2,8,10,10],8],[],3,[[],10,6,[2]]],[[]]]
[[9,7,10,2,[[4,8,5,8],[2,4,6]]],[6],[[9,6],[]],[]]
[[],[[0,8,1],[[5],[5,0,4]],[],[[6,10,1,1],3]],[[8,[3,8,7],[0,4]]],[[[4,2,2],[],[0]],5],[[],[[7,0,6,1,8],[3,10]],7]]
[[4,[5],4,0,3],[],[[[3,4,9,7,4],2,[3,8,5],7,[8,0,2,4,9]]],[9,[[6,8,8,10,9],[10],[9],[5],1],10],[2]]
[[1],[0],[[8]],[1,6,2],[8,[3,3,[3],[],2],1,5]]
[[10,8,[6,[10,7,1,2],5],7],[[4,5],[[2,8],[1,5,4,7]]],[],[6,7,2,9]]
[[[],[]],[8],[[[5,5],0],[[0,3,1,7],9,[8,8,7,3]],0,[]]]
[[[6],4,8,[[5]],1]]
[[[3,6,[],[3,3,4,4]],[[6],7,9,[3,6,6]],[8,7,[4,9,7,8],[6]]],[]]
[[[[2],[6,5,9,3,3],4,[9]]],[[],[[4,10,8],3,[2,0,6,9]],5,1]]
[[[[],[4,2],1,[9,9],[10,2,5,2,10]],[],3],[[[10,4,2,3,3],[],3,9,[6]],10,4],[5,[[8,8],[],9],9,[[7,8],3,[],3]],[[4,[3,8],10,7],[],[9],7,[5,[],5,1,[0,3,5,10,10]]],[[[9,4],[3,1,2,8],10],[[6,4,5]]]]
[[9]]
[[[10,[1],[10,4,0]],[8,6,1],0],[[[7,6]]],[0,10,[2,[1,0,5]]],[9,[]],[[[4,3,8,0],0,7,[10,0,9],2],[8,1,1,[7,9,6]]]]
[[9,5,0,5],[[[],8,[2,2,5,6,4],[1,7,8,7],[4,7,8]]],[4,[[2,2,0,8]],[[7,8],8,[7,6,2,8,6],[2,2,0,6,2]],[4,[7,5,4],[10,1],6,[4]],[3]],[],[4,10,[2,[9,3,8]]]]
[[],[5,2,8],[2,5,9],[[[3,2],4,[2,6],[8,5]],7,[7],[]],[[9,[1,2,3,5,6]],2,7,10,8]]
[[],[],[[],[[9,6,8,4,8],5,8],8,[7,[10,5,1,1,4],2,[6,0,8,8,3]],[8,[],[1,2]]]]
[[9,4],[[[2,5],4,10,[5,6]]],[[5,8,[],[0,4,3,2],5],[[],[2,6,10,8],[],[1,4,9],9],9,[[4,4,8,4]],[[4,5,10],[1,9]]],[[0],10,[10,[],5,[8]]]]
[[3,[6,6,7,10,[8,0]],2],[],[[9,4,[0,4,5,4,8],[7,0]]],[2,8]]
[[6,[[]],7,[],2],[[[5,8,0,7],[10,1,0],9],[5,[4],0],[[0,7,6,9,1],[],[4],5],[1,8]],[]]
[[[[0,3,7,3,8],10,[4,4,0]]],[7,7,[[2,3],[5,6],3],10,10],[4,9,[7,[7,4]]]]
[[[5],2]]
[[[],[[7],[5,1,2]],[5,7,3,[10,8],10],1,[0,5]],[2,[[4,10,3,0,6]],6,[],[[4,2,0,1],9,[],[7,8,2,9,3],1]],[0,9,7],[[[1],8,2,0,[1,3]],[6,5]]]
[[[4,7,[9]]]]
[[9],[[[6,5,2,2,7],1],[5]],[]]
[[],[3],[[[],[10,4,6,3,3],10,[0,8],9],[1],[],[]]]
[[3],[1]]
[[[[],[1,3],[1,1,3],0],[[2,3,5],[2]],[[2,7],[]],[2,[5,0],[8,7],2],7]]
[[10,[]],[0,2,4,5],[[[],0,4,[6,6,5],10],[5,9,3,[]],[[8,9],[9,10,2,2]],[10,[3,4],[1],[9,10]],6],[0,3,10]]
[[0],[[[1],[5],[4]],[4,0,10,2],[7,7,[],[10]],[[8,8,8,3,7],0,[6,5,2],2,7],8],[[[0,0,3,7],3],[[3,3,2,2]]]]
[[8],[1],[8],[[],[8],[]],[[],1]]
[[8,6,3,[[4,4,0]]],[[5],4,[[7,5,1,5],7,8],0],[5,2,2,[[8,5],[3,8,4,9,5],6,[3,7,4],[]],5],[3,[9,9,0]]]
[[[5,[5,1,5]],10,8],[5,10]]
[[0,[],0],[[[4],6,8,8],[[8,7,2],2,[10]],[4],9]]
[[[1,[10,2,2,1,5],7,1,[4]],2,10,8]]
[[[1,8,5,[],6],[[7,7,9,7],[8,7,5,7,6],[9,5,10,6]],[[9,4,9,0,0],[2,3]],[],[1,5,0,[],[10,0,10]]],[[7,[7,0],6],[]]]
[[7],[0],[[0,2,10],5],[4,[[4,2],8,0,[3,5,4,7]],7,7]]
[[[[9,1,4]]],[[[1,5,7,6],[1,2]]],[0,[[],[1],4,[5,4,5,0,7]],1,5,2]]
[[[],[],[[6,4,2],[4,0,1],10,4,7]],[5],[[],9,8,[[6,9,8,1,1]]],[],[4,[9]]]
[[[]],[],[],[5]]
[[8],[],[[8],4,[6,1],[6]],[[[3,10,5]],[]]]
[[[9]],[6,4]]
[[[1,[9,5,3,6,7],[0,10],[6],1]],[[[],5,[5,8,1]]],[3,1,[[10,6,5],[8,8,5,10,4]],[]],[1,1,[[9,5],8,3,1,[8,5,2,2]]],[]]
[[],[[[7,10,8]],[[8,3],10,1,5,2]]]
[[[[3],[2]],[[10,0,8,3],[9],8],0,0],[10],[5,4,[[],[10,3,1,7],[],8],7],[0,[[],[5,9],[9,4],4,[3,1]],7],[[],3,[[10],8,9,[10,10,2]]]]
[[7,[8,10,9,[10,3,4,6],4],1,0,[0]]]
[[[[10,10,9,8],1,[7,10,10,5],[9,5,8,7,4],[10,7,4,8,3]],10,9,[[6],[8,9,8],8]],[[9],[],[4,1]],[5,[],[[],[9,6,8,1,3]],[[4,4,0,7],4,[2,0,9,6]]]]
[[2,[3,[],9],[[],[5,4,2,7,8]],2]]
[[[],[0,[5],[2,4],[],7]],[8,[6,9,[6],[],[8,4,6]],[[8,1,4],3,[6],6,2],[7],5]]
[[3,1,[[6,4,0,1,9],3,0,[]]],[1,5,[9,[6]],0],[4,3]]
[[],[10],[7]]
[[3,[8,6,[1],5],7],[[],6]]
[[],[]]
[[[9,8,9,[0,2,10,2],10],[1,5,[0,5,7,8]],1,[9,[6,10,10]],[[5,2],0]],[1],[],[10]]
[[6,4,3],[10,[[5,6,0,3,5],[]],[5,[5,3,10],0],[]],[6,[9],[10,[5],7,[3,4,10,9,1]],[3],6],[[[4,3],3,1,[7,0,1,6,8],[4,8]],[],[1,[8,1,5,9,5],[3,4,4]],[6,6,5],8]]
[[8,0]]
[[],[[[10,9,4,8],[10,0,6,6,6],[6,2,4,10,9],4]],[[9,9,5,[]],[9,7,[10,7]]],[[[8,0,10,9,5],7],6]]
[[[0],[[0,2,7],[3],6],4]]
[[[4,5,[6,9,5,3,8],6,[5,2,1,2,2]],0,3,1,[]],[[],9,[]]]

@ -0,0 +1,68 @@
module Day13Lib
( Value (..),
parseList,
parseNumber,
--
processInput1,
processInput2,
)
where
-- import Data.Either
import Data.List
import Data.List.Split (splitOn)
import Debug.Trace
import Text.Parsec
data Value = Num Int | List [Value] deriving (Show, Eq)
parseList :: Parsec String () Value
parseList = do
char '['
ls <- (parseNumber <|> parseList) `sepBy` char ','
char ']'
return $ List ls
parseNumber :: Parsec String () Value
parseNumber = do
ns <- try . many1 $ digit
return $ Num (read ns)
cmp :: Value -> Value -> Ordering
cmp (Num x) (Num y) = compare x y
cmp x@(Num _) y@(List _) = cmp (List [x]) y
cmp x@(List _) y@(Num _) = cmp x (List [y])
cmp (List (x : xs)) (List (y : ys)) = case cmp x y of
EQ -> cmp (List xs) (List ys)
o -> o
cmp (List []) (List (y : ys)) = LT
cmp (List (x : xs)) (List []) = GT
cmp (List []) (List []) = EQ
runParse :: String -> Value
runParse s = case parse parseList "" s of
Left e -> error $ "parse error: " ++ show e
Right v -> v
-- ####################
processInput1 :: String -> Int
processInput1 =
sum
. zipWith (\x y -> if y == LT then x else 0) [1 ..]
. map
( (\[x, y] -> cmp x y)
. map runParse
. lines
)
. splitOn "\n\n"
processInput2 :: String -> Int
processInput2 =
product
. zipWith (\x y -> if y `elem` dividers then x else 1) [1 ..]
. sortBy cmp
. (++) dividers
. (concatMap (map runParse . lines) . splitOn "\n\n")
dividers = [runParse "[[2]]", runParse "[[6]]"]

@ -0,0 +1,41 @@
import Day13Lib (processInput1, processInput2)
import System.IO
import Test.HUnit
testCases1 =
[ ("data/input130.txt", 13),
("data/input131.txt", 5938)
]
testCase1 (file, result) = do
withFile
file
ReadMode
( \handle -> do
contents <- hGetContents handle
assertEqual "input test" result $ processInput1 contents
)
testCases2 =
[ ("data/input130.txt", 140),
("data/input131.txt", 29025)
]
testCase2 (file, result) = do
withFile
file
ReadMode
( \handle -> do
contents <- hGetContents handle
assertEqual ("input test: " ++ file) result $ processInput2 contents
)
tests =
TestList $
[TestCase (testCase1 c) | c <- testCases1]
++ [TestCase (testCase2 c) | c <- testCases2]
main :: IO ()
main = do
runTestTT tests
return ()

@ -0,0 +1,26 @@
import Day13Lib
import Test.HUnit
import Text.Parsec
parseTests =
[ parse parseNumber "" "1"
~?= Right (Num 1),
parse parseNumber "" "10"
~?= Right (Num 10),
parse parseList "" "[]"
~?= Right (List []),
parse parseList "" "[1,2]"
~?= Right (List [Num 1, Num 2]),
parse parseList "" "[1,[]]"
~?= Right (List [Num 1, List []])
]
tests =
TestList $
parseTests
++ []
main :: IO ()
main = do
runTestTT tests
return ()
Loading…
Cancel
Save