diff --git a/Makefile b/Makefile index 5a160b8..ce914fa 100644 --- a/Makefile +++ b/Makefile @@ -27,3 +27,9 @@ clean: tags: $(wildcard *.c) $(wildcard *.h) @ctags --c-kinds=+lx *.c *.h + +.PHONY: test + +test: + @for i in test/*.krk; do echo $$i; ./kuroko $$i > $$i.expect; done + @git diff test/*.expect diff --git a/test/bindNativeMethod.krk.expect b/test/bindNativeMethod.krk.expect new file mode 100644 index 0000000..86df861 --- /dev/null +++ b/test/bindNativeMethod.krk.expect @@ -0,0 +1,3 @@ +e + +37 diff --git a/test/day1.krk.expect b/test/day1.krk.expect new file mode 100644 index 0000000..08cc570 --- /dev/null +++ b/test/day1.krk.expect @@ -0,0 +1,8 @@ +1359 661 898299 +661 1359 898299 +143933922 +143933922 +143933922 +143933922 +143933922 +143933922 diff --git a/test/day2.krk.expect b/test/day2.krk.expect new file mode 100644 index 0000000..a6141b4 --- /dev/null +++ b/test/day2.krk.expect @@ -0,0 +1,1001 @@ +15 19 k kkkkkkkkkkkkzkkkkkkk False +1 11 s sbssswsqsssssrlss False +8 9 b pbbbbbbkbz True +4 10 w wwccwcqwdmbktjrxhw False +1 6 x jvscgqsnt False +1 7 x xxxxxxcx True +6 10 s smssssfskssdwvtcss False +6 12 q qqqqzqqjqfqdqq True +3 7 d ddwbzbf False +12 14 s ssdssssssssmsq False +4 11 w wwwwprvgklvwtxwpwwww True +6 7 j jjjjjjz True +1 6 l xxlnll True +14 15 n nnnnxnkmnnnnnvfnnnj False +5 6 h hbhhhhz False +4 6 b brbhbrb False +2 7 q zmqszpqwcq True +9 15 z zzzzzzzpczzzzzzz True +6 10 m mmmmmmmmmmmm False +8 14 l llllllbljlllzllz False +4 10 c cbccjxhlcclpf False +1 4 d mpvglsjhsddtsnjsdqw False +2 8 f ffffffftfb True +4 14 q qqcpqqqqqtzhqqqqknq True +3 5 m nctdm True +1 4 l lllg True +11 12 s sssssspsssfvxks False +5 9 l fvsllcvgsmlzw True +3 5 d dddtpd True +3 11 x xxjkxxcxqvlprxgx False +8 9 b bbbbbbsbs True +6 8 f zffffnffjs True +7 8 v vvvxvvvvvv False +6 9 b nbvrbptfbbnbxb True +8 9 c cccccccrc True +14 15 v vvlvvvvvvvvvvlvv True +1 5 f lvndmpdf False +3 4 l sllfl True +5 14 w jknqvcwwzwgfwwww True +2 6 b vbbcbc True +3 4 x xxbwf False +12 16 h hhhkhhhthxqnhzhhhn True +1 4 j vjjjj True +14 17 m mmmmmmmxmmbpmcmmmmz True +1 9 z rzzzzzzzzzzzzzzh True +7 8 r vrmrrnrrrrnr False +8 11 z fzzzzzzzzzz False +3 5 l kdjlljpllz True +11 15 h xhhhhhbjhshhkhbhhhht True +4 11 h qhbnhhhhhdtwhqsh False +8 10 r xrrrrrrrrrr False +5 9 q qqqqpgqqq True +6 14 g kgvfhqvhggglrgddgg True +6 8 h ssctfnhhvhxhhxphhlc True +4 18 h hhhqhhhhqhkhhhhhcl False +2 6 t pvttttttmtx True +1 12 b gfhbwwbbsvbcfb False +8 10 m fmmmmmmzmmrmkq True +16 20 h hhlhhhhhhhhbhhsfhhhh True +4 8 q xqtjqqqq True +5 12 g xzrbngggggnngb False +4 5 j jjjsj True +6 12 b bxmbbbbbbbbrpbb True +13 14 n nnnnnnnnnnnnng True +14 16 s wfnqltmpsksrtvdc False +6 13 g ggmggjggggggggg True +5 9 v wvvvrvvdmv False +1 5 h hhhhdvhh True +6 8 g bggggcgg True +5 9 w wjfwhhwwtwwt False +10 13 n nnnnnnnnnnnnqnn True +1 3 f qfff True +15 19 t ttttttttttttmtstrttt True +1 2 d bddd True +5 6 v vvvvvn True +3 4 r vhrprrgncrcrbkml True +12 14 c ccccccfcccclccncg True +11 12 m mpmmbmpxdtdp False +16 17 f qsfffffjwfttfxffr True +7 13 f fdjcfffffvffv True +7 9 z zsnzzzpxz True +8 14 r grrrrxrrrnjrrs True +6 8 f svndffdh True +13 17 b bbbbbbbbbbbbbbbbp True +3 14 f fkxsfkvvxbfbhfff True +4 15 d bdndvlwwnzsqdhd False +12 14 f hfmffkmjlfffqf False +5 8 v qmlctvvvvjtvj True +5 8 w wwpxvrgwbfwwtbwlx True +11 13 f fffqffffffffn True +2 5 s wvmhsmswn True +12 14 h hhhhhhhhhhhhhxh True +8 14 l lllllllclcllllllql True +13 15 l lllllvgsllsllllllfnl False +2 8 c cjlccvcc True +1 5 l plqllpsllnl True +1 5 k kvfqkkk False +9 13 s dpvfnsnmksfss True +3 4 b mfgb True +1 8 j wjjwjjjxzxn False +9 11 v vvvvwvvvvvs True +7 8 v vvrvvhhrhvpvvbv False +9 12 d dscvhvlndzgf True +10 17 l llqllpllllllllllgllx True +3 4 k nkkgkv True +14 19 q qrqqqqqqqqqqwzqfqqq True +9 11 c nqccccccccncccccc True +5 19 n pfndnknwrnnbnjqndnnt False +2 6 s nsftszgk True +3 9 j jjfjjjjjfj False +1 7 m xmmtzmmmm True +5 13 j jljrjhjlgjtrnq True +2 13 f fmfzggfmffsth False +12 13 m mmmmmmmmmmmtvm False +11 12 k kkkkkkkkkkjk True +8 10 s sssssssksks False +3 4 w wfwwbwswd False +2 9 l sllqllldll False +4 6 f zfcfrf False +9 12 m sfmmwjmmnmmcmtmm False +1 2 f lffwd True +3 7 f vzltffffqfff True +1 4 g grgr True +14 15 r rrrrvjrrrgrrrrtrrr True +13 14 f bfswfmfffvffpdffkrhb False +1 11 s ssssssssssss False +13 14 v vvvvvvvvvvvvvf True +1 2 g ggggg False +6 13 m vrzwmncmmhmmc False +7 15 h vhhhwghkwhclrhh False +3 5 w ccwwwxwcnf False +4 5 j jmcvjz True +3 4 b bbbw True +14 15 b bbbbbbbbbbbbbbd True +14 16 w dzwwwwwwwwwwwwwxkw True +2 4 n jnxfznsn True +6 7 c cccccgv False +2 4 w xwbbqwlswh True +7 10 f sbbxcnffpgfmfffgtm True +2 3 z gccczkzt False +4 5 k wtskbwk True +9 10 k kkkkkkkkktk True +9 12 l llllllllwjllllll True +1 5 c ccccpr True +1 5 s ssssh True +4 7 r dtnrmcfsc True +8 10 p pppztpllppp True +3 11 l lljllljllfl True +4 13 l lllvlbllphlldn False +5 6 h fhhpmhm True +4 6 x xxxhtx True +5 8 j mrthqkpj True +6 11 k kkkmqvfnjkwkxpxkskc False +10 11 j jjjjjjcjjljjjjjj True +2 6 x ctmtskbcxbn False +12 15 p pppppdppnpppppwk True +2 12 q qqhzqvjnmcmrfkphbrx True +2 3 l llhxljlcxdvrwppdm True +7 15 j xbjjhssjjjjpjjjjj True +1 4 k kkkn True +2 7 v mpvwbmvvhxjpv True +4 6 k kkcgwkrlqbbpgqmlk True +1 2 v khpskvgxvdpw False +7 9 p ppppppgpt False +11 12 h hhhhvhhhkhhsh True +4 5 n dnngnlpn True +3 5 k kmwkkk True +7 12 s ssssdsbjbssstssss True +6 12 c cdcccmcccccc True +3 4 g gglsggggggggggggggg False +5 14 p ptrnpppbwwjmckbwpmw True +1 4 t tbfdtrtbtdjnk True +3 7 k jwkkzlftt True +1 4 z jzzzl True +1 5 t jtttpdhttttgtnt False +7 13 n nnnnnnvnnnnnk False +5 11 f ffdfftffffkfdf True +8 14 q qvcqfqqtkqqjqgqjqn False +10 13 b qbbbbbbbjqbbbb True +8 9 l blsljwlwl True +11 14 g ggxgfrbgggqgvgznzg True +10 17 t rttttctxrttttttttt False +4 5 j jjjjs True +4 5 q qkqzglqgnfqpp False +10 11 b ddbbbbbbbbbbbh False +7 11 s wsssssssssgs True +3 14 l lvxlfjkqllfmzs False +10 11 z zmznzzkzzhvlzcz False +1 4 n nnnj True +7 11 f dnffqxxgznknfcffff False +5 17 k fkjkdkktkpwwkxkkk True +2 6 q qtqqqq True +5 10 n nhxwndndnn False +14 18 x xxxxxxxxxxxxxrxxxlx False +9 16 n hnnfnvnncdnrxnnf False +6 7 l lllxllvlh True +5 6 d hdddxl False +11 15 g ggggggqgggcgfgcg False +15 16 l lllllllllllllllpl True +2 7 q nmtqsfqqlkxq True +4 5 b bbcbsnb True +9 11 f ffffffffffn True +2 15 p qrnpxnpcpppqrppp True +4 5 s sqszspvggsds True +5 7 m mmzsmmcm True +9 17 q qqqqqqqqgqqqqqqqc False +5 14 w swwgghwwwsvcjqqjw False +7 9 b ptnhdbzfbbjsjkm True +4 9 h bhhtcqnhh True +9 10 t zcttwtttggttn False +3 4 j cjzjj True +14 18 h hbzhgcjhhhhzkhhpwb True +1 5 b bbbbw True +9 10 k kkkkkkkkkkk False +5 7 m mmmmcmsm False +2 6 x jxxdxlxx True +6 10 v kxvvdvvrxdvk True +2 12 z zllzlnzfztlszzzct False +3 4 d dddd False +2 10 h hhhhhhhfhddhhbg True +1 6 x xdgfgxn False +4 5 h shkhrhhdfhh True +1 8 f zffbfffffff True +4 10 p cskpcpjmtpcftsblszpv False +4 17 p pppbppppppppppppppp True +8 9 j jjjjjjjvj True +4 5 p pdppppp False +6 12 k kkkkkzkkkkkkk True +5 15 n nqnnklnnnnnnnnnnnnn True +3 7 g qhggbgdm True +2 3 r cjprr False +9 10 q vkgcjcnrzqgq True +5 6 m mmmmmmm False +4 15 f fffcffffffffffk False +5 13 f hfffntlfffpfffffff True +8 9 p dpjppppppp False +5 6 j njsrjj False +2 3 k kkkzzb False +7 8 g cggbpgkgjgmggvvgn True +12 13 w wwskwwwwwwwwjww True +6 8 w lwwjwwwcw True +4 5 l lllll False +6 7 g sggkggkplxgxprsnggg True +5 6 h hjrhzszvhhq False +9 17 w wwwwwwwwwwwwwwwwdw True +16 19 c ccccrccccccdcctcccn True +3 7 t ftngtnntttttttzftttt False +11 13 q qqqwqqqqqvqqg True +4 12 s ssssdjssssszxs True +1 14 c chsckjmxwghqvvckvf True +9 18 s sssssssslssssssbsss True +7 8 n nnnnnnnnn False +7 9 c ccccccwcc True +14 20 n nnwnnznnnnnrnnrnnnnm True +13 14 h hzhhhhbhhhhhhshhh True +5 7 x xxkzxmqxszf True +7 13 l lllllxllftllhzl True +1 3 f fftff True +11 12 t tpktttttcvtt False +6 8 r frjzrpbrrrqqr True +7 12 w nwwlpvwwdwbzbldnd True +13 14 r rrrrrrkxrnrrnrrrr True +13 17 b bfbbbzlbbbbbbbbbb False +4 7 g ggggghrpgrg True +1 3 v jvvv True +8 9 l llllllllll False +13 15 r rrrrrjrrrrrrrrg True +4 8 b bbbbkbprh True +6 14 k klkzkkkkqkkkkkkkm False +9 10 l lllllgllsl True +4 6 q qqqtqqqq True +6 8 l zkfbhwpq False +10 15 v rvvjvvvvvvvvvdvvsvd False +2 12 b bwbbvsrbrbzbb True +9 10 m mmmmmmmmmmb False +4 8 r xrzrzmrrzrrzr False +1 10 c cccccccxbbhcccrzc True +5 6 q bqqvkqqs True +3 13 t ttttbtttttttlt True +2 4 z zfzz True +1 8 v qvvvvvvv True +3 7 g ggwgggg True +5 6 d ddddddd False +10 13 c ccqccccccscfccjcc True +2 7 h qghlfphcr True +9 11 w rwwwwpwwqwx False +2 10 h shftplxhvplqr True +1 3 n qsnndvnzczn True +17 18 b bbbbblbbbbbbbbbbbm True +4 14 k hjkkqgkdvfjflkkv False +10 13 k wbtkgkjrdlsxkw True +2 4 h xhqqmhhvkmbpqqsnrn True +9 20 z zzzzzrzzzzqzzzzszszd True +4 5 x mxxxrx True +13 15 w wwwwtwwnzwqwvwwwwwwj True +10 16 n tcnlnsqnndnwrnjnnn True +3 5 c cbccrc True +8 11 z zzzzzzzzzzhzzz True +5 7 f ffffffff False +7 8 q qqqqqqfq True +6 7 v vvvzvlvv True +1 2 t zttt True +12 17 b bbvbbbtjbbbbbwbbd True +10 11 h hhhhhhhhkkh True +17 18 g gggggggggggvgggggg False +4 7 t tttmhttttgd True +10 12 w wfwwwdwwwwwwldc False +4 6 d dsdddj True +9 10 v lkvvvvvflv True +6 8 j jvjjbjjpvjjjj True +8 12 h hhhthwhhhhhh False +16 19 x xxxxxxxxxxxxxxxbxkq False +1 13 c ccgnccvzczzcphcp True +4 11 n pnnnnbkmnbqqn True +13 16 x xwxxxxxxxxxxxxxx False +5 6 m qffrmmclzbtfqmxb False +4 9 k kfwzkvjzqk False +11 14 j jjdjjjgjtzjjjjjjxjjm False +1 4 b bbbpdqbdbbgdhcbv True +8 9 w hvnwwwkwmbwpwtbpw True +3 4 h phhmh True +11 12 j jjjjjjjjjjjj False +5 15 v vvvvlvvvvvvlsvv True +5 9 q gqqqzqhjpqqvqj False +12 13 x xxxxxxxxxxxxl True +7 9 x gtxxxxxxxw False +13 14 n nnnnnnnnngnnmnn True +2 6 s ssssssss False +1 2 b bhbbb True +6 7 t tttttttt False +1 9 k kvkcjwzhl True +8 11 b bbbbbwbbrbk True +15 18 p pppppppppppppppppp False +1 6 f wfnftfvff True +2 4 d tdddddpdw False +3 16 s ssbsssssssssssspz False +15 17 p gpxpppppppppppppg True +4 5 w wwwww False +9 12 t htttttttzlgtrtt True +3 5 c fcncc True +1 3 g gggn False +6 12 c kcccccxncwcqc True +4 6 v vmpvqv False +1 8 x sxxxxxxdlx False +16 17 d dddddddddhddgjdxdddd True +5 9 s sbkrswskxsskskqlcp True +5 8 h hfhhhhhfgd True +2 5 t tdttt True +10 11 k kkkfkkkkkkp True +10 11 h hhhqhmhhhjl False +9 15 r rmrrrrkncrxrrrp False +5 7 k kkcqxkkkj True +14 16 g gvgxgkgpgrxsgwxw False +9 13 g qbwsggggzggggp True +2 7 t jdvbklttd True +1 3 r trrfxqff True +7 8 t ttxtttvt True +16 17 b bbbbbbbbbbbbbbbbb False +5 14 r rgrrlrrrrrrrrrgr True +10 11 x qbfdztwxpxdxj True +2 3 q brqq True +5 15 t ttttftvlttttttgttt False +3 6 v hvhthfw False +4 6 n nngdnkxzc False +2 7 l bkwmlrl True +2 8 q xtqqqqhdwq False +13 15 f fffffffbfvffffflf False +6 9 c dqvwbscpccccrcccchws True +4 5 l gvjltw True +3 6 q qgnpjqgbl True +1 3 t tsgt True +6 8 p ppjppphfpj True +1 4 d xddd True +12 13 m mmmmmmmmmmmmvm True +7 15 b bvnbcrbvtpbqbbbbl False +13 15 x kxxxhxxvxxxtngxxxxxx True +4 5 p pppvvtncp False +11 14 p pppvpppppspdpppx False +2 3 p wppp False +8 9 f fdmcfffxnnff False +9 11 q qqqqqqqqrqn False +13 15 b bbbbbbbbbbbbbbv True +6 12 r rmvrrlrrjrrrrrsrrr True +1 2 l qllllpkllhlllbw True +9 12 w pbvwkbfwdngw True +3 13 k kfhdkkkknkkkkkkhl True +8 18 b vbbnbqzpjwbbdbbcglsr False +5 17 q qqqqqqqqqqqqqqqqqqh False +4 8 c cccwbcncdcc True +8 9 n kfsbvbnntcn True +2 5 f vfvffrq False +17 18 j jjjjjjjjjjjdjjjjtp False +5 7 g ggjhgcbg True +14 15 q qqqqqqqqqqqqqqp True +2 3 d dzjd False +6 18 t ntntttqtmttttktttqtt True +2 6 r rmwrwppprc False +9 14 z zlzzzzklsgzvfz True +7 8 k vkfglktkkkkk True +3 8 d mdkdxxbdqddrjwvc True +13 17 c ccfccccccccczccvcc True +4 5 k kkknrr False +12 15 s vbssssssssnfsssss True +7 18 m mmpmmtwvkmmcnscmdmj True +13 16 v dvvvrvdvvvvvjvvvpjvc True +3 4 t tjtkndtbwh True +4 6 k kkbkpz True +8 13 k kckzkktnfzmdkjkkb True +8 13 j jsnntcjcjjqzjj True +11 13 b bgwbbbpbbbqbbb True +3 6 r zqrrrjsj True +2 7 k zkklkttkxk True +3 5 p gjphpsppntgp False +17 18 l llllllllllllllljlll False +6 11 r srxfbrswrnlfp True +1 8 q nsbqchsqqx True +5 7 r rvrrkjcrjmr False +5 12 r rrrrrsrrrrrvrrrr True +3 7 k kkdkkkkxk True +11 16 p rppppppppcppdpmbp True +16 17 p pppppppspppppppjpp True +4 15 t zsrtxgfdtrgxhmcst True +5 10 k gkkzkfkkkknk False +13 17 w wgwcwwwwwfcwmwwhpww False +7 8 l llllllvw False +2 7 g ckdqngmzhghcvlcn False +14 15 q qqqqqqqqqqqqcbqq True +3 6 m mfmcmd True +3 6 b bbbbbm True +1 8 n nmwnnsnmznnnmrn True +7 11 n lnnnmrnqnntxnqcn True +3 12 h tghhthwtjjhhfbhdpnh False +2 4 d jsddd True +8 9 w wwzwwwbwzwc True +10 12 r rrrrrrrrrrrrr False +1 2 b xbbqkfp True +3 6 p dfppptptv True +8 12 z jzzzdbzhwzzmklzkvmz False +1 4 n nqnprp True +2 11 b jbshxxbxczhscksvhctm True +5 6 b bmhbcvgjfbc False +3 7 m qlfmmdm True +8 9 v vvsvsvvfv True +7 10 l llllldllln True +9 10 c ccccfgcctcc True +7 17 j vvjgnjvtjjjvvjjjtj False +5 6 s ssssvs True +3 11 q qqqbqqtqqqzqqgj True +4 5 k rkjskkqk True +4 16 k kkkkkkkkkkkkkkkkk False +2 4 h shch False +5 7 n kznnmgnnnn True +3 8 r xhrrrrrg True +4 6 m bmmmmgqmnn True +3 14 t tttktwfmthkttdq True +4 5 w wwwvww True +1 2 k kkrkmkkw False +6 11 h hhhhhhhhhhsh True +1 9 h fhhhhhhhbhhhhhhhh False +7 9 b frkqtcwstzqbdd False +2 3 p xxpvrmcmppbw True +12 14 r rrrrrrrprrrrrq True +5 7 l llcqllc True +10 13 x bpwxpmrrmxbjrv True +8 16 w wfcnvwvwlvtnwwfg True +1 5 k kglsfqshkpbs True +1 8 w mwwwwwwww True +4 7 d ddgldhddvd True +5 7 v qvjvxvvvvvvv True +1 2 s ssns False +6 9 m prmmrmbmqmftmmb True +13 14 p ppppphpppppppq True +8 10 k kkzkkklkkkck False +1 3 p pnpswpmsfk False +15 19 r trqmkzfvlrkrrgsjhrr True +15 17 c ccccccrxcccscccczcxc True +2 6 b rbbbbdpprw True +7 14 l lllzlsklllllll True +12 14 l lnllhlllplltllrplll True +3 5 w wlwwbr True +5 9 h hhcvppjrhhhhhqc True +2 3 w wwwzt False +2 5 l lnrlll True +1 4 v vvvl True +5 6 g mkngggzgxkggkldg False +6 7 m mmmmmlm True +8 10 k cnkkzkklwkvkkk True +7 13 g ngqggglgggggggg True +8 10 m mmmkmmmpmm True +8 12 f ffffpffffffz True +12 15 f ffffffxffffcffff True +9 14 w wtrcwthdwxnwwfpwbj True +4 7 l xfllfnlxlgbll False +6 8 c tcdppkscmc True +4 10 s qssssspsskss True +2 4 t wgpdqdcdtd False +3 4 s shsbksdj True +3 4 n nnmn True +2 6 x dxxxxjxr True +1 3 b qbbptm True +9 11 h hhhvhhhhvhhxhhhrr True +3 5 x xxxxw True +2 4 l kgrll True +3 5 m mmhmmmm True +7 9 j fjkjbjjjfjhcj True +3 4 n ngfnbzln True +9 10 x xxxxxxxxxz True +11 12 c ccccccccccjcg True +9 14 j swnjssjjjjjmjnj True +2 3 n nrcfrf False +11 12 g gggggggggdzxg False +4 5 v vvbvnq True +8 9 s ssssssssx True +6 7 l zlznxjlb True +14 16 x xxxxxxxxxxxxxdxx True +6 8 x xlxjxxlxxmxx False +2 7 r prgnrrrqrpcr False +15 16 m mmmmdmmmmmmbmmhmmm True +14 15 w wwwwhwwwwwwwwwwwww False +5 9 k kkkkkkkkkk False +8 9 c rccccqcchc True +6 12 v pvvvvvzlmvltkh True +10 11 h hbhslhhhhlhhhh True +1 7 s ssjswbj True +5 12 q qslqzqjqxxqpqzvjnq False +4 11 z znmzbhdgftf True +5 7 g sgtwggggghgglfgt False +2 4 d kdddfdqk False +11 13 m mjmmmmmmmmmmt True +12 14 k nskkkkxkkskwkk True +6 11 j vhpjqjhrjjjg False +7 14 l lllllllllllllm True +2 15 g bcqpgsvgkfgsmrgvpgng True +2 9 w grwwwwcbwwwwdxprt True +3 18 w wwkwwxvwwwhnwwbhzw True +5 13 g ggggggggggggdgggggg True +10 12 h hhhrhhhhcldh True +2 5 k xhpnk True +11 14 f ffffffffffffff False +4 8 x wxxjxxmx True +16 17 d dddddddddddmdddvd True +3 14 l lllllllllllllpl True +1 2 w rfzvvcww False +5 7 v nwvxvxkvvxctvh True +1 3 k kxghkkb True +17 18 j jjjjjjjjjjjjjjjjht False +2 5 t tchptl True +9 15 j jjpjjjjjjjjjjjjq False +1 7 r rrrrrrxrrrj True +13 15 h hhhhhhhhhhhhhhqhhhhh True +2 4 v xdwvk True +3 6 w rwmwkwgcxzjtwww True +2 3 w nwkwtkw True +3 8 d jddhdddlqd True +10 12 m mmmmrmmmmvmmfmm True +2 7 l llllllkllln True +9 15 x xxxxxxxxpmxxpxxxwx True +4 8 n nqnqnnnzn False +7 12 d zddpjdddgddgxddwdddw True +7 8 b bbwbbbrl False +6 13 p zppkppprpvnbzpp True +2 8 w cmnrmkzwpxrxwhfsd True +5 12 x xvrxpbhlgfxx True +11 14 j jjjjjjnjjjjjjc True +7 10 r rdsrhrtrrrlrfncrb True +15 16 x xxxxxxxxxxxxxxcx True +7 9 h fhhhhrhhhh False +4 18 v vvqjvvvvkvvqvkvvvvvv True +1 7 x xxcfjxkxtxx True +10 12 c ccccmccwclcjc False +5 6 l llllkl True +1 5 h hhhhn True +1 5 p bppppp True +17 18 j jjjjjjjjjjjjjjjjjj False +9 16 k fkkkkkkkkkpkkkkhkkkn True +13 14 t ttttttdttttttsttvt True +7 16 m mmmmmmlmmmmgmmcmm True +14 15 d ddddrdddvddddhdd True +2 4 x xbxxtqxd True +5 16 f fffffffffffffbfff False +12 16 w wwwwjwwwwwwwmwwn True +5 7 c cclccfvzccccmb True +7 16 m mmmmmjmmmmcmnswj True +4 10 x qpxrcxpxxsxx False +15 20 d dddjdddddddddddddddx True +2 3 x cxmpxs True +2 5 t tlhztr True +9 12 x xcdxhqhxpxgx True +1 11 f zxnfsfjftfffjfzswdf True +1 3 j pjmk False +15 16 h kpcschhvfzphpnhvhhb True +16 19 s ssssssssssssssssssf True +5 7 p kppdcppp True +4 8 f fffjfrfzfffmffjf False +2 5 q zqqkvkxvzm True +11 12 w wwwwwwwwwwww False +9 10 f rffffffffzf True +12 13 p pppppcpdppfrp True +7 9 n nntnnnsnnnnnnn True +9 12 k kkjkkkkkkkkkk False +3 6 m mmmmfmm False +3 4 v vqvw True +9 12 b bbvbbbbphbbn False +4 6 b mbbbplbvgbdgb True +6 8 h hhfscsmznfccc False +1 8 h khtshhkhwfc True +1 7 x vxxxxxx True +5 8 l llllrlllll True +9 10 l llllllllll False +5 9 j jqscttkjjsjjjnd True +7 14 p pnlprpppjndpphppppp True +8 11 j jxmjjjjjjjsjfmsq True +8 12 h hhhhxgmhhwpfh True +4 13 h hhhnqzhfmshhhhshhh True +3 4 q qwtq True +7 8 c fcczpcgqnccsc False +3 4 w gwcwrl True +6 10 f ffkfffffnffqcf False +7 8 f fwvfmvffwfff False +5 9 l llllxllln False +10 11 r bjrdxrrbrrbrprrrcrd True +4 5 g gggggtgw False +8 9 r rghdrfrrg True +9 10 v vvvvvvvvvv False +4 5 d ddddlrzhdgw True +2 4 x zxlx False +5 6 j xjjjwj True +4 9 x xlkxnmjnxtzmxxdqdxk False +13 15 f ffwzfffpspfgxffffffp True +4 6 v vvjxmrvrf False +4 16 b ghzbqjqbhtjbbmkvkrb True +7 12 q qqqqqqkqqqqqqqq True +4 15 z zcmzzzlzzrlkzzzg False +13 14 x xxxxxxxxxxvxxq True +2 5 h hhgfhjxbpwmthtjsjhhl False +5 6 x xxxltx True +4 16 v vvvvvvvvvvmvvvtnvv True +9 10 s gsvhnlspts True +2 4 k kkkr True +4 6 j jjnjjjtwnmjv False +4 6 n nnnsnn True +3 4 d fdjf False +6 8 r rrrrqvdrrrsrr True +6 10 w wnqvwqwqwwb True +9 10 k kkskckkkkk False +4 18 d dgdjjdddsddwdbhddm False +8 9 b bbxbbdbkbbdb True +15 16 l rvphlrrpmwfqkmcl True +3 4 m mbmtxznmg True +4 6 c cclccxcccccc True +8 9 p ppppxbpqpppjp True +10 11 c ccccccccccc False +4 13 c cdnccclcszcwfcj True +5 8 l ldllkllj False +2 10 k dkbgkwgkzwwtkkc True +3 4 p qrpcpdsp True +5 8 m mmmmcmms False +2 5 c czcpcc True +4 9 k bkkkdkkkgk True +14 15 l lllhllvllxbmgbl True +14 16 j jjkzjhjjjjjjfjjwjpjw True +13 15 w wwwwwwwwwvwwwwswwwww True +6 7 q qqqqztv False +9 16 m mmmfmmmmmmmmmmmmmmmm False +3 4 m hmvnmjz False +12 13 g gqggggggggglgggg True +3 7 h hhqhhgkhshh False +7 9 h jvptznhrrbhffcdp True +4 6 t tttttttttt False +2 8 f rfhbmftfxnxllkpqh False +6 14 z zwzzzrzzzzzbzzzzgzz True +5 8 t jkmddtqcqttrtzk False +2 5 p ppprqsgpzng True +4 5 v vvvlvfrjxh True +14 15 c ccccccccdcccccvc True +5 6 j jjjjjs True +1 2 g ggdnzh False +8 15 p ppfpgpxdvphdcpppp True +2 8 h hmhhhhhthhhhh False +3 4 h hhmn False +7 9 b bbfdbjbqb False +3 6 d ldfpftkxwqddbcdqd False +2 7 j wstjkjjdjtpwwwxbg True +5 8 p vmdppswpppzpqxrdt False +4 8 p ppsgprrcpskp False +10 11 r rbrzcfrrvmrtrrrrrcr True +5 9 j jjmjjjjjx True +10 16 s sssssssssssssssls True +4 7 p ntpfphp True +1 2 l glll True +9 11 x xtxxxxxxrxxx True +7 8 d ddnddxrrd False +1 3 x jxdxfsxxtzvxxwxx False +8 9 s ssssssncsl True +5 10 s tsmspsxszsfftcs True +2 5 b bbqbqb True +3 5 w dnxljjsclwg False +11 12 n cmlhcbxxnnmhn False +11 14 g ggtgggdkhggggbggrg True +2 3 m jvvm False +1 12 g gggggggggggxggzggf True +12 13 p mpppjpplppvpqpcpvp True +5 16 w swtwhmxzwbwxwwwwwww True +5 6 m mmmmzmm True +8 9 v vvvvvvvvg True +3 4 w lhprqpcwf False +9 14 j jjjjjjjjjjjjjfj True +2 7 s dssgssswp False +10 11 b ldfwbqqhgbbpbbrcs False +11 12 f bffvnfgfffqfqdgffzh True +2 8 p hfcppzgp True +3 10 r hfrcwtsrcmkrn True +4 5 j jjxsjjj True +2 4 g gggjg True +4 5 z zzzcv False +2 6 w wwncqxp True +5 6 m lmmrjmmmmqm True +1 19 d lddzdtdkdvddddddddd True +16 17 q qzqtqqqqqqqqqqqpqqjs True +6 7 c cfccxxc True +3 5 c qgnccb True +6 11 s cqqssmxwznspv True +11 19 s sssssfssswgdsshssszs False +15 17 x xxxkxxxxxxxpxwxxhx True +2 9 b zbggdxbwbpv False +4 10 z zzrjzzdpxzz True +12 13 m mmmmmmmmmmmlm True +4 8 s ssswssss True +9 10 b xdbhbbpbbhkbbblvb True +11 12 t ttttttttttlj False +5 6 l llsfjll True +14 16 x xxxxxxxxxzxzxxxzxx True +2 10 h hsdtlhhpwhhh True +3 5 s shgbh False +4 5 j jjjjps True +13 14 d ddddddkskddddddlmwdd False +5 10 w hbwrwqwzwlgz True +3 6 b bmbbxjbw True +11 12 f fffffhfffffr True +10 17 l llllllcllllllllll False +3 7 z zbmzzzxzd False +4 5 l dlbld True +2 5 r mghzsbjrsqflrd False +6 8 q qqqlqqqtql True +8 9 s sssspsstss True +5 6 w wwwwwm True +2 4 m mxmm True +1 3 s prrzbwfslzpdks False +10 13 v vgvvzvvvvvnvvq False +10 11 w wjwrwwwwwww False +14 15 b bbbbbbbbbbbbbtk False +2 7 n nnnncnn False +5 10 w wwzwrwwwwwwww True +8 14 f fffffwfznrvflf True +3 4 l rllr True +2 4 x phxkxxxx False +2 13 w vwtlwgwmwwwjd True +3 8 v xdszpbvvmvxbhcvlb True +1 6 x xtkkpzdwtxx True +7 10 x xxxxxxxxxkgxxxxxx True +5 6 q qqvqqd True +18 19 m mmmmmmmmmmmdmmmmmmz True +2 5 s bbsts True +9 12 l vlllllllcllll True +1 7 x xxnvvxxpx False +2 3 f dfbf True +4 6 v vcbvrm True +1 3 k ddkk True +1 6 q qklqqqvs False +7 8 f ffffwfhfmff True +3 6 b wbbcsqhnpb True +5 6 x xxxxxs True +3 10 g gnsgrhrgsgwrlgcwgh True +4 5 t tttht True +4 5 l lllqllllllllllllll True +14 15 z zzszzzzztzszzzzczzz False +5 7 j cqvjxzjslrdjnjjq True +11 12 d dpgddddzdddrdddq True +14 16 w wwtwwzwwwwwwwkww True +9 13 p pfppppfrqpppc False +3 4 x gpklxz False +3 6 p pxppznbpnp True +4 16 c bdvcfddsvccqvcwcmgc False +1 2 s dsgbs True +8 10 w wwwwwwwwwf True +10 18 b bbcbbbbbbfbbbbkbbb True +3 7 w kzwcwtwjhb False +16 17 d dddddddddddddddmh False +2 4 t ttttx False +2 9 f fwnfgfffftbf True +12 14 t rttttztwtttwtttttc True +6 8 d bfdjhhdmmffbdd False +16 18 f lcnvfgvfggvtttnxjf True +2 8 l llnsqgqcqwjs True +4 5 f ffmdwsrfp False +3 4 q fbkqkrlsqvlqmxqvv True +14 16 w wwwwwwwwwwjwwdwhww False +1 4 t tttnt True +3 5 s vmbwsvqdssgrrzbj True +12 13 q qqqqvqqqqqqqjqqh True +5 17 n nnvnnnnnnvnnnnnmg True +2 4 l fllll False +3 5 t tqtvt False +6 8 r rrrrrxrs False +1 4 z zzzz False +1 2 k gkbd True +1 5 r rrrrg True +2 11 l kwwjlllgwhlnlsqtrq True +13 15 h hhhhhhhhhhhhghh True +1 3 h hwhhwhxhh False +5 10 c cmrgcfccccccj False +17 19 c cnccccccpcccccccmcz False +1 8 v hvdvgbmvxnvsvgkvvv True +10 11 k kkkkkkkkkkj True +3 6 d rjdjdggfdcxpldr True +3 14 g ggjgblgggggglggggg True +18 20 z dwzwsrqnxmzhswfgjzsz False +1 10 s qshsqssmtsssbgsg True +7 17 l hmllllqfkllllpllnlbw False +6 7 w wgcwwnwwwx True +1 15 k kvskkbkkkhkkktkkkk False +6 7 q qnqmhnq True +2 6 n nnnkxwjhfmtnfnnmg True +4 7 r rwrfrrr True +13 14 n nnfnnnnnnnnnpnnn True +3 5 h hqktph False +8 12 f fmffhjmfkxfrvcfrbr True +12 13 j jjjjjjjjjjjljj True +2 9 l glcwqflmllstjhpsp False +4 6 r vrwrrxrm True +5 6 n nnnnnsn True +14 18 l lhllclllzsllvvllzlll True +12 13 f fvzfffnfpxffm True +7 8 c ccrcccfpwcg False +1 2 g tggg True +9 13 x bdxxxnhxmxxxxxxnd True +14 15 z zpzgzzzvzdqzzzt True +13 14 b bbrbbbbbbbcbmbbbkc True +1 2 f fjndbffq True +8 11 h zhwhlrhhhhlnkhhh True +3 8 v vqvwvclvcplmvctjv False +6 7 g ggxgglggngdg True +4 6 h vslffhhwcbnhh True +6 9 c rztcpdvcpc False +7 9 t qtttttktttlk True +17 19 d ddgdddxdddtmzddgdtwf True +16 18 q qqlqqqqbqqqqqqqqqqq False +3 7 q lwxcqqtjqqbs False +1 10 w txwcwxqxzw True +1 2 v qvvvvvvvv True +6 11 c ccccchcccccctccc True +6 11 d dddnddklzdddd False +3 12 p pkqrppgcmptp True +13 15 r rrrrrrrrrrrrrrt True +3 4 k kkkmjkg True +6 11 l xlllllsllmqncvc True +6 17 g vgggngrgggqggggggg False +3 4 b bbqb True +3 9 q qfqdqlpxgtbqqjmjccqt True +4 6 f cbfmfc False +2 11 d gddtddtdddkpdfcdwm True +2 11 q qmpdmfhkqlql True +8 9 v vvvvgvvhv True +2 3 h hxhhhp True +9 10 n nnnnnnnnhthn False +16 17 q qqqqhqqqqqqqqqqsk False +6 12 v vvwvjbjdvxvzvvv False +10 12 v vxvvvvvvvvvcj True +3 4 h znhfvctppgjtqhhhl True +14 19 g ggggggggggggggggggcg True +7 17 p rpnfbxppcppprbppkds True +4 11 c ccccczcccclc True +2 3 d dvdl True +18 20 t twtthtdgtdsvxttcfltg False +11 12 q qqqqqcqhqmqgqqqs True +10 11 c ccccvccccgc True +7 8 x xxxxxxhxxxxxxx True +8 10 r rcnrrrwfcz False +1 3 b pjbk True +6 7 q xqqqcbqjlq True +11 12 z ndzzzzdzzzrzz True +2 9 g gsgbmggnggggkfbcgggg True +11 13 k qbfnkxbkkkhkkkkkkpkk True +4 7 d dddvddkd False +4 10 c jccdcpfchcszccccxfc True +8 9 z xvzvnzzzfdzlzr True +2 5 n zqnqnpnhwnnv True +11 12 g ggkgggggkgxgg True +3 4 v vvvnvtgvpr True +2 4 t gtmtxkbqvj False +4 5 m mmmmtmmm True +10 13 g ggggfgsgpcgggvggg True +4 5 j jjjjj False +12 15 v vgvvzvvvvvvnjzvv True +16 18 r rrrrrrrrrrrrrrrrrrr False +11 13 r rrrrrrrrrgfrr True +12 13 s tsssssssbssdss True +12 14 m xmmmmmmmxmlpmmmmm True +6 13 w wkwmlwwhcgwmgwjwgwww True +9 13 b bbbbbbbbbbbkbbbg False +4 5 v vttvlvs True +7 10 b mbfbbbrffbzbbxlx True +4 6 t ttcfxtns True +8 12 r dcrzvdpprbmr True +2 5 j cjrxjjfz False +9 12 b bbbtwbnkpbrrkbbbqlb False +3 4 k kkdhk False +4 5 v vjlvkjxvv True +3 4 x xxxrs True +5 7 h hhrdhhhhh False +5 6 v vfvvhfhc False +3 8 w wwjwwwwwww True +9 11 g gggngtgggghg True +1 4 q hcqq True +11 18 w wwwwjwwwrwblwwwwwwz True +2 10 h chrvlwffjl True +13 14 w wwwwwmwfwwkwwhww True +5 7 z zzbzdzqz False +4 13 v dvxclvvxcnmcxvsp False +7 11 c fccwdcccsfbcc True +12 16 f pfsfsgpcfffffffvffpf True +1 4 n gnnnn True +6 8 j jjjjjjhbd True +3 4 k ktkp True +6 8 m rmmgmjsmmm True +7 8 j jjjjjcjjj False +15 18 r rrrrrrrrrrrrrkgrrr True +1 2 z zzmwrlmtwsxdbzss False +2 6 j bpwbjqr False +3 14 q njswqhttbqfqqzqhtq False +12 17 d ddddddddzfdvqddmt False +2 15 j jfxjjjzjjtbcxtj True +7 10 w dpzwqflvdx False +2 8 b bjbbczbbwbbbgmdvllb True +7 11 b bbbbbbmbbbb True +7 8 f smbzfnxgvm False +6 10 n nnmnncndtnnn True +13 15 c scnqcccccccqpgccqccc True +3 4 w wwwv True +3 7 h hhhrxbx True +8 12 n nnnnpndnncts True +1 4 g kgggfggg True +4 10 m fbttqmzmmmxtmtm True +2 4 d dmclzdvdd False +10 14 s sfgtsjfsssssstbs True +1 3 p ptpzpqlhprvxhrgvvgv False +4 7 n nnnvnnnn True +5 6 c plnccqrxtxcwzkccm True +5 10 j jjjjjjjjjr True +7 9 b bblbbfhbb True +7 10 t wtttthtttthvt False +2 7 m mrmfmjgcpmmmbwx False +9 16 k kzklkwkkkhnrkkkkk False +9 13 l qlllljlllllllllkk False +2 3 c ctcc True +5 7 b bbbbbbxb True +3 6 w wtqrwwgkv True +5 7 x xxxwxxp True +2 3 z zzxcdn True +13 17 c ccccccrfcccccnccx True +3 7 w whfdzvwpg True +15 19 t ttttttttttttnthtttct False +10 11 k kkkkkkkkvxkkk True +4 9 g gggggggglg True +3 5 j ljnjj True +4 8 l nttlhlldhsslcqzqpgdv True +7 8 r tpxhclrrsdnmwcrgf False +8 11 w lwwwwwwwwjw False +8 9 w wppkzcrdmkwgqw False +3 8 z vhzgnkzgkcqrmmvvkx True +7 11 n nnnnnnnnnnmnn True +1 15 b bbbftxndbbfbbpb False +6 7 d wkdddldldcddddd True +3 5 b bcbfvbd True +9 10 k kkkkkqkkrk True +8 18 z vszwbmgzjzgjmhpgcv True +4 9 z zzzzznczxz True +3 4 d dhdm True +1 9 q zqqqqqgcqqq True +2 3 g zvgnx True +2 4 j jqjjh True +6 11 j hcqcnjqjjgj False +5 6 j jjjjjj False +6 7 d dwdddkd True +1 5 l pmplllll True +1 11 t tttdlttsrpkqtt True +3 9 x xxnxtxxxx True +7 8 f fffffffg True +4 6 b bhbbbrhbb True +6 11 f xfncmzffrfsf False +10 11 h pghprtcjjjhshkw True +8 10 n nnknnnnznnnn True +3 5 q jqqqk True +5 9 j rrhfgjfjjjjjbdjnj True +6 8 t tctjmtttqttt False +9 10 m wmvmhmmmxddzmmmm False +2 11 c flcqrnrqmcccs True +2 3 f qfdx True +11 15 k kkkkdkkkkkgkkkkkkrq True +9 14 h hzhhfhhxhhhhhltnh True +673 diff --git a/test/day23.krk.expect b/test/day23.krk.expect new file mode 100644 index 0000000..4695598 --- /dev/null +++ b/test/day23.krk.expect @@ -0,0 +1,3 @@ +Done, ordering is 1000001 +Starting loop... +157410423276 diff --git a/test/day3.krk.expect b/test/day3.krk.expect new file mode 100644 index 0000000..5ade051 --- /dev/null +++ b/test/day3.krk.expect @@ -0,0 +1,2 @@ +part 1: 167 +part 2: 736527114 diff --git a/test/day4.krk.expect b/test/day4.krk.expect new file mode 100644 index 0000000..eba5220 --- /dev/null +++ b/test/day4.krk.expect @@ -0,0 +1,389 @@ +Checking {'hcl': '#602927', 'iyr': '2019', 'hgt': '186cm', 'byr': '1939', 'pid': '552194973', 'eyr': '2027', 'ecl': 'hzl'} +Checking {'hcl': '#866857', 'iyr': '2015', 'hgt': '164cm', 'pid': '657988073', 'byr': '1996', 'eyr': '2020', 'ecl': 'brn'} +Checking {'eyr': '2022', 'hcl': '#fffffd', 'iyr': '2017', 'hgt': '62in', 'byr': '1951', 'pid': '#6ef4e1', 'ecl': 'brn', 'cid': '321'} +bad pid +Checking {'ecl': 'brn', 'hcl': '#fffffd', 'iyr': '2011', 'hgt': '150cm', 'byr': '1980', 'pid': '420023864', 'eyr': '2025', 'cid': '129'} +Checking {'hcl': '#ceb3a1', 'iyr': '2016', 'hgt': '187cm', 'byr': '1925', 'pid': '223151011', 'eyr': '2029', 'ecl': 'amb'} +Checking {'hcl': '#cfa07d', 'iyr': '2010', 'hgt': '190cm', 'pid': '135392110', 'byr': '1959', 'ecl': 'brn', 'eyr': '2022'} +Checking {'ecl': 'grn', 'hcl': '#a97842', 'iyr': '2018', 'pid': '522856696', 'byr': '1961', 'eyr': '2024', 'cid': '225'} +Missing expected value +Checking {'hcl': '#866857', 'iyr': '1976', 'hgt': '190cm', 'byr': '1964', 'pid': '562135232', 'eyr': '2024', 'ecl': 'brn'} +Bad issue year +Checking {'eyr': '2022', 'hcl': 'z', 'iyr': '2011', 'hgt': '193cm', 'pid': '#6e4342', 'byr': '1936', 'cid': '296', 'ecl': '#3b8ed3'} +bad hair color +Checking {'ecl': 'gry', 'hcl': '#efcc98', 'iyr': '2014', 'byr': '1985', 'pid': '503255860', 'eyr': '2023', 'cid': '154'} +Missing expected value +Checking {'hcl': '#341e13', 'iyr': '2012', 'hgt': '154cm', 'pid': '631051435', 'byr': '1986', 'eyr': '2026', 'ecl': 'amb'} +Checking {'eyr': '2035', 'hcl': '#623a2f', 'iyr': '2019', 'hgt': '155cm', 'pid': '318048681', 'byr': '1984', 'cid': '179', 'ecl': 'brn'} +Bad expire year +Checking {'hcl': '#733820', 'iyr': '2013', 'hgt': '189cm', 'byr': '1969', 'pid': '185953891', 'eyr': '2024', 'ecl': 'amb'} +Checking {'hcl': '#cfa07d', 'iyr': '2013', 'hgt': '61cm', 'byr': '2012', 'pid': '33668114', 'ecl': '#38f2a6', 'eyr': '2021'} +Bad birth year +Checking {'cid': '51', 'hcl': '4946ca', 'iyr': '2019', 'hgt': '189', 'pid': '47030948', 'byr': '2013', 'ecl': '#1d136d', 'eyr': '2024'} +Bad birth year +Checking {'eyr': '2020', 'hcl': '#c0946f', 'iyr': '2011', 'hgt': '162cm', 'byr': '1935', 'pid': '883047970', 'ecl': 'grn', 'cid': '51'} +Checking {'cid': '221', 'hcl': '#623a2f', 'iyr': '2018', 'hgt': '155cm', 'pid': '013760919', 'byr': '1942', 'ecl': 'blu', 'eyr': '2020'} +Checking {'hcl': '#7d3b0c', 'iyr': '1986', 'hgt': '152cm', 'pid': '29797863', 'byr': '2000', 'eyr': '2030', 'ecl': 'amb'} +Bad issue year +Checking {'hcl': '#fffffd', 'iyr': '2013', 'hgt': '176cm', 'byr': '1995', 'pid': '546676799', 'ecl': 'brn', 'eyr': '2023'} +Checking {'iyr': '2015', 'byr': '1955', 'pid': '634493767', 'eyr': '2028', 'ecl': 'oth'} +Missing expected value +Checking {'ecl': 'oth', 'hcl': '#7d3b0c', 'iyr': '2020', 'hgt': '174cm', 'pid': '893757190', 'byr': '2002', 'cid': '150', 'eyr': '2027'} +Checking {'cid': '256', 'hcl': '#efcc98', 'iyr': '2012', 'hgt': '66in', 'pid': '790648045', 'byr': '1978', 'eyr': '2029', 'ecl': 'blu'} +Checking {'ecl': 'hzl', 'hcl': '#0eeb2d', 'iyr': '2020', 'hgt': '155cm', 'byr': '1945', 'pid': '048725571', 'cid': '209', 'eyr': '2027'} +Checking {'hcl': '#cfa07d', 'iyr': '2011', 'hgt': '162cm', 'byr': '2000', 'pid': '381372526', 'ecl': 'oth', 'eyr': '2023'} +Checking {'hcl': '#602927', 'iyr': '2018', 'hgt': '171cm', 'pid': '544462408', 'byr': '1994', 'ecl': 'blu', 'eyr': '2030'} +Checking {'eyr': '2025', 'hcl': '#733820', 'iyr': '2011', 'hgt': '187cm', 'pid': '533405863', 'byr': '1962', 'ecl': 'hzl', 'cid': '266'} +Checking {'hcl': '#b6652a', 'iyr': '2019', 'hgt': '155cm', 'byr': '1975', 'pid': '967013712', 'eyr': '2029', 'ecl': 'oth'} +Checking {'hcl': '#b6652a', 'iyr': '2010', 'hgt': '190cm', 'pid': '052112145', 'byr': '1982', 'eyr': '2022', 'ecl': 'amb'} +Checking {'hcl': '#b6652a', 'iyr': '2012', 'hgt': '183cm', 'byr': '1950', 'pid': '946714779', 'ecl': 'hzl', 'eyr': '2030'} +Checking {'cid': '103', 'hcl': '#ceb3a1', 'iyr': '2018', 'hgt': '70in', 'pid': '686010502', 'byr': '1993', 'ecl': 'gry', 'eyr': '2027'} +Checking {'hcl': '#733820', 'iyr': '2012', 'byr': '1976', 'hgt': '157cm', 'eyr': '2030', 'ecl': 'gry'} +Missing expected value +Checking {'hcl': '#6b5442', 'iyr': '2017', 'hgt': '180cm', 'byr': '1955', 'pid': '732940101', 'ecl': 'hzl', 'eyr': '2022'} +Checking {'eyr': '2024', 'hcl': '#18171d', 'iyr': '2010', 'hgt': '188cm', 'byr': '1924', 'pid': '905274031', 'cid': '299', 'ecl': 'oth'} +Checking {'hcl': '#7f450a', 'iyr': '2013', 'hgt': '174cm', 'byr': '1999', 'pid': '021076124', 'eyr': '2024', 'ecl': 'gry'} +Checking {'hcl': '#866857', 'iyr': '2016', 'hgt': '176cm', 'byr': '1940', 'pid': '398320693', 'ecl': 'oth', 'eyr': '2026'} +Checking {'hcl': '#733820', 'iyr': '1931', 'pid': '158cm', 'hgt': '172cm', 'eyr': '2020', 'ecl': '#a0c290'} +Missing expected value +Checking {'hcl': '#341e13', 'iyr': '2018', 'hgt': '182cm', 'byr': '1990', 'pid': '444561212', 'ecl': 'blu', 'eyr': '2025'} +Checking {'hcl': '#602927', 'pid': '240732315', 'byr': '1976', 'hgt': '165cm', 'ecl': 'oth', 'eyr': '2023'} +Missing expected value +Checking {'hcl': '#733820', 'iyr': '2016', 'hgt': '153cm', 'pid': '377612846', 'byr': '1967', 'ecl': 'brn', 'eyr': '2021'} +Checking {'cid': '114', 'hcl': '#733820', 'iyr': '2018', 'hgt': '187cm', 'byr': '1925', 'pid': '207103786', 'eyr': '2030', 'ecl': 'blu'} +Checking {'eyr': '2025', 'iyr': '2018', 'pid': '361909532', 'hgt': '184cm', 'ecl': 'blu', 'cid': '111'} +Missing expected value +Checking {'hcl': '#7d3b0c', 'iyr': '2019', 'hgt': '184cm', 'byr': '1968', 'pid': '381103495', 'ecl': 'grn', 'eyr': '2026'} +Checking {'hcl': '#01adfd', 'iyr': '2019', 'byr': '1945', 'pid': '727826617', 'hgt': '151cm', 'eyr': '2020'} +Missing expected value +Checking {'ecl': 'hzl', 'hcl': '#efcc98', 'iyr': '2011', 'hgt': '171cm', 'byr': '1924', 'pid': '235809608', 'eyr': '2029', 'cid': '280'} +Checking {'cid': '97', 'hcl': '#602927', 'iyr': '2010', 'hgt': '172cm', 'byr': '1973', 'pid': '599786261', 'eyr': '2029', 'ecl': 'gry'} +Checking {'hcl': '#866857', 'iyr': '2017', 'hgt': '163cm', 'pid': '768895320', 'byr': '1940', 'eyr': '2027', 'ecl': 'oth'} +Checking {'hcl': '#6b5442', 'iyr': '2013', 'byr': '1959', 'pid': '823221334', 'hgt': '178cm'} +Missing expected value +Checking {'eyr': '2024', 'hcl': '#da8af3', 'iyr': '2014', 'hgt': '150cm', 'pid': '534201972', 'byr': '1945', 'ecl': 'hzl', 'cid': '263'} +Checking {'cid': '341', 'hcl': '#efcc98', 'iyr': '2010', 'hgt': '189cm', 'pid': '469575516', 'byr': '1994', 'eyr': '2025', 'ecl': 'blu'} +Checking {'hcl': '#888785', 'iyr': '2015', 'hgt': '60in', 'byr': '1999', 'pid': '797138561', 'cid': '167', 'eyr': '2024'} +Missing expected value +Checking {'eyr': '2023', 'hcl': '#866857', 'iyr': '2014', 'hgt': '174cm', 'pid': '909549652', 'byr': '1967', 'cid': '103', 'ecl': 'amb'} +Checking {'eyr': '2027', 'iyr': '2016', 'hgt': '61in', 'pid': '813003671', 'byr': '1995', 'ecl': 'oth', 'cid': '95'} +Missing expected value +Checking {'hcl': '#fffffd', 'iyr': '2014', 'hgt': '166cm', 'pid': '000088706', 'byr': '1951', 'eyr': '2021', 'ecl': 'blu'} +Checking {'eyr': '2022', 'hcl': '#18171d', 'iyr': '2017', 'hgt': '162cm', 'byr': '1941', 'pid': '511728076', 'cid': '287', 'ecl': 'grn'} +Checking {'hcl': '#18171d', 'iyr': '2017', 'hgt': '191cm', 'pid': '209898040', 'byr': '1968', 'eyr': '2025', 'ecl': 'brn'} +Checking {'eyr': '2004', 'hcl': 'z', 'iyr': '2016', 'hgt': '190cm', 'byr': '1932', 'pid': '#02dfcc', 'cid': '201', 'ecl': '#6b9341'} +Bad expire year +Checking {'hcl': '#ceb3a1', 'iyr': '2013', 'hgt': '191cm', 'pid': '501799813', 'byr': '1993', 'ecl': 'hzl', 'eyr': '2020'} +Checking {'cid': '315', 'hcl': '#a97842', 'iyr': '2012', 'hgt': '179cm', 'pid': '897450687', 'byr': '1984', 'eyr': '2029', 'ecl': 'blu'} +Checking {'hcl': '#6b5442', 'iyr': '2011', 'hgt': '190in', 'pid': '299193732', 'byr': '1945', 'ecl': 'gry', 'eyr': '2020'} +bad height in inches: 190 +Checking {'hcl': '#fffffd', 'iyr': '2017', 'hgt': '158cm', 'pid': '090738381', 'byr': '1992', 'eyr': '2022', 'ecl': 'oth'} +Checking {'cid': '92', 'hcl': '#573edf', 'iyr': '2016', 'hgt': '179cm', 'pid': '765588435', 'byr': '2002', 'ecl': 'amb', 'eyr': '2028'} +Checking {'hcl': '#967d2f', 'iyr': '2015', 'pid': '128081454', 'hgt': '190cm', 'eyr': '2025', 'ecl': 'oth'} +Missing expected value +Checking {'cid': '239', 'hcl': '#888785', 'iyr': '2019', 'hgt': '189cm', 'byr': '1993', 'pid': '001825574', 'eyr': '2025', 'ecl': 'gry'} +Checking {'hcl': 'z', 'iyr': '1971', 'hgt': '100', 'byr': '2013', 'pid': '0758189515', 'eyr': '2034', 'ecl': 'gry'} +Bad birth year +Checking {'hcl': '#3638a2', 'iyr': '2011', 'hgt': '156cm', 'byr': '1943', 'pid': '539139386', 'eyr': '2026', 'ecl': 'hzl'} +Checking {'hcl': '#733820', 'iyr': '2017', 'hgt': '173cm', 'pid': '016597738', 'byr': '1956', 'eyr': '2030', 'ecl': 'brn'} +Checking {'hcl': '#cfa07d', 'iyr': '2018', 'hgt': '167cm', 'pid': '822607758', 'byr': '1974', 'eyr': '2028', 'ecl': 'brn'} +Checking {'hcl': '#efcc98', 'iyr': '2020', 'hgt': '65in', 'byr': '1980', 'pid': '397182705', 'eyr': '2020', 'ecl': 'oth'} +Checking {'hcl': '#ceb3a1', 'iyr': '2015', 'byr': '1954', 'pid': '398087239', 'eyr': '2024'} +Missing expected value +Checking {'ecl': 'zzz', 'hcl': '234fc4', 'iyr': '2015', 'hgt': '177in', 'pid': '159cm', 'byr': '2022', 'eyr': '2027', 'cid': '256'} +Bad birth year +Checking {'eyr': '2025', 'hcl': '#a928b0', 'iyr': '2018', 'hgt': '158cm', 'byr': '1976', 'pid': '920448637', 'cid': '209', 'ecl': 'hzl'} +Checking {'cid': '223', 'hcl': '#888785', 'iyr': '2016', 'hgt': '165cm', 'pid': '96925844', 'byr': '1984', 'eyr': '2030', 'ecl': 'gry'} +bad pid +Checking {'hcl': '#18171d', 'iyr': '2014', 'hgt': '153cm', 'byr': '1964', 'pid': '831479208', 'eyr': '2024', 'ecl': 'brn'} +Checking {'hcl': '#ceb3a1', 'iyr': '2019', 'hgt': '185cm', 'byr': '1958', 'pid': '827043482', 'ecl': 'brn', 'eyr': '2026'} +Checking {'eyr': '2026', 'hcl': '#733820', 'iyr': '2020', 'hgt': '67in', 'pid': '426593479', 'byr': '1922', 'cid': '116', 'ecl': 'blu'} +Checking {'hcl': '#fffffd', 'iyr': '2019', 'hgt': '156cm', 'pid': '951768959', 'byr': '1969', 'eyr': '2022', 'cid': '330'} +Missing expected value +Checking {'ecl': 'oth', 'hcl': '#111544', 'iyr': '2019', 'hgt': '151cm', 'byr': '1929', 'pid': '083495633', 'cid': '223', 'eyr': '2030'} +Checking {'iyr': '2016', 'byr': '1967', 'pid': '739606431', 'hgt': '166cm', 'eyr': '2025', 'ecl': 'blu'} +Missing expected value +Checking {'hcl': '#ceb3a1', 'iyr': '2020', 'hgt': '161cm', 'pid': '788420638', 'byr': '1922', 'eyr': '2021', 'ecl': 'gry'} +Checking {'hcl': '#888785', 'byr': '1956', 'pid': '705051840', 'hgt': '158cm', 'eyr': '2025', 'ecl': 'oth'} +Missing expected value +Checking {'hcl': '#cfa07d', 'iyr': '2015', 'pid': '047851403', 'byr': '1937', 'hgt': '192cm', 'eyr': '2025'} +Missing expected value +Checking {'eyr': '2022', 'hcl': '#c0946f', 'iyr': '2019', 'hgt': '178cm', 'byr': '1923', 'pid': '411527076', 'cid': '194', 'ecl': 'gry'} +Checking {'hcl': '#341e13', 'iyr': '2014', 'hgt': '186cm', 'byr': '1956', 'pid': '976268893', 'eyr': '2027', 'ecl': 'brn'} +Checking {'eyr': '2025', 'hcl': '#18171d', 'iyr': '2011', 'hgt': '183cm', 'byr': '1958', 'pid': '389943720', 'cid': '81', 'ecl': 'brn'} +Checking {'hcl': '#c0946f', 'byr': '1972', 'pid': '593351635', 'hgt': '165cm', 'eyr': '2028', 'ecl': 'amb'} +Missing expected value +Checking {'hcl': '#341e13', 'iyr': '2012', 'hgt': '169cm', 'byr': '1991', 'pid': '599766528', 'ecl': 'blu', 'cid': '156'} +Missing expected value +Checking {'ecl': 'zzz', 'iyr': '2001', 'hgt': '75cm', 'byr': '2029', 'pid': '319443119', 'eyr': '2020', 'cid': '306'} +Missing expected value +Checking {'eyr': '2021', 'hcl': '#866857', 'iyr': '2014', 'hgt': '167cm', 'byr': '1948', 'pid': '256331758', 'cid': '273', 'ecl': 'grn'} +Checking {'cid': '241', 'hcl': '#733820', 'iyr': '2016', 'hgt': '158cm', 'byr': '1977', 'pid': '423680717', 'eyr': '2024', 'ecl': 'oth'} +Checking {'eyr': '2024', 'hcl': '#341e13', 'iyr': '2017', 'hgt': '185cm', 'pid': '788619400', 'byr': '1954', 'ecl': 'hzl', 'cid': '153'} +Checking {'hcl': '#cfa07d', 'iyr': '2016', 'hgt': '161cm', 'pid': '621023569', 'byr': '1928', 'ecl': 'blu', 'eyr': '2026'} +Checking {'ecl': 'xry', 'hcl': 'aa8fc8', 'iyr': '1951', 'hgt': '168in', 'byr': '2024', 'pid': '166cm', 'eyr': '1979', 'cid': '91'} +Bad birth year +Checking {'cid': '155', 'hcl': '#18171d', 'iyr': '2012', 'hgt': '159cm', 'byr': '1952', 'pid': '875326712', 'ecl': 'brn', 'eyr': '2028'} +Checking {'hcl': '#733820', 'iyr': '2015', 'hgt': '163cm', 'byr': '1990', 'pid': '162682954', 'eyr': '2026', 'ecl': 'amb'} +Checking {'hcl': '#c0946f', 'iyr': '2020', 'hgt': '151cm', 'pid': '936952728', 'byr': '1969', 'ecl': 'brn', 'eyr': '2029'} +Checking {'hcl': '#866857', 'iyr': '2013', 'hgt': '189cm', 'pid': '132928469', 'byr': '1928', 'ecl': 'amb', 'eyr': '2026'} +Checking {'hcl': '#623a2f', 'iyr': '2012', 'hgt': '190cm', 'pid': '185240766', 'byr': '1952', 'ecl': 'grn', 'eyr': '2020'} +Checking {'cid': '64', 'hcl': 'z', 'iyr': '1935', 'hgt': '67cm', 'byr': '2021', 'pid': '4900748653', 'eyr': '2026', 'ecl': '#ef67e5'} +Bad birth year +Checking {'ecl': 'gry', 'hcl': '#7d3b0c', 'iyr': '2016', 'hgt': '69in', 'pid': '076116194', 'byr': '1979', 'cid': '248', 'eyr': '2022'} +Checking {'cid': '127', 'hcl': '#44e350', 'iyr': '2020', 'hgt': '180cm', 'byr': '1991', 'ecl': 'blu', 'eyr': '2021'} +Missing expected value +Checking {'hcl': '#733820', 'iyr': '2018', 'hgt': '150cm', 'byr': '1954', 'pid': '002868205', 'ecl': 'brn', 'eyr': '2021'} +Checking {'ecl': 'amb', 'hcl': '#623a2f', 'iyr': '2017', 'hgt': '170cm', 'pid': '524531652', 'byr': '1927', 'eyr': '2020', 'cid': '80'} +Checking {'ecl': 'blu', 'hcl': '#efcc98', 'iyr': '2018', 'hgt': '187cm', 'pid': '424660272', 'byr': '1970', 'eyr': '2021', 'cid': '238'} +Checking {'eyr': '2020', 'hcl': '#602927', 'iyr': '2013', 'hgt': '175cm', 'byr': '1923', 'pid': '946014113', 'cid': '273', 'ecl': 'brn'} +Checking {'eyr': '2022', 'hcl': '#6b5442', 'iyr': '2012', 'hgt': '71in', 'byr': '1929', 'pid': '581329373', 'cid': '88', 'ecl': 'gry'} +Checking {'ecl': 'oth', 'hcl': '#6b5442', 'iyr': '2017', 'hgt': '184', 'pid': '022131529', 'byr': '2005', 'cid': '79', 'eyr': '1960'} +Bad birth year +Checking {'hcl': '#fffffd', 'iyr': '2011', 'hgt': '60in', 'pid': '422677836', 'byr': '1925', 'eyr': '2030', 'ecl': 'gry'} +Checking {'eyr': '2026', 'hcl': '#18171d', 'iyr': '2011', 'hgt': '158cm', 'byr': '1971', 'pid': '517329528', 'cid': '325', 'ecl': 'hzl'} +Checking {'eyr': '2030', 'iyr': '2017', 'hgt': '176cm', 'byr': '1937', 'pid': '321795494', 'ecl': 'blu', 'cid': '259'} +Missing expected value +Checking {'eyr': '2026', 'hcl': '#cfa07d', 'iyr': '2013', 'hgt': '74in', 'pid': '551525002', 'byr': '1954', 'cid': '230', 'ecl': 'grn'} +Checking {'cid': '139', 'hcl': 'c39522', 'pid': '004366607', 'hgt': '66cm', 'ecl': '#21a3e9', 'eyr': '2024'} +Missing expected value +Checking {'eyr': '2037', 'hcl': '0ee9d4', 'iyr': '1994', 'hgt': '158cm', 'byr': '2016', 'pid': '522572315', 'cid': '98', 'ecl': 'xry'} +Bad birth year +Checking {'eyr': '2028', 'hcl': '#142217', 'iyr': '2018', 'hgt': '179cm', 'pid': '073189127', 'byr': '1977', 'ecl': 'grn', 'cid': '70'} +Checking {'ecl': 'brn', 'hcl': '#733820', 'iyr': '2020', 'hgt': '64in', 'pid': '045852463', 'byr': '1948', 'eyr': '2020', 'cid': '69'} +Checking {'ecl': 'brn', 'hcl': '#733820', 'iyr': '2011', 'hgt': '178cm', 'byr': '1970', 'pid': '512594967', 'cid': '268', 'eyr': '2025'} +Checking {'hcl': '#18171d', 'iyr': '2014', 'byr': '1950', 'pid': '329927551', 'hgt': '161cm', 'eyr': '2025'} +Missing expected value +Checking {'cid': '100', 'hcl': '#a97842', 'iyr': '2010', 'hgt': '163cm', 'byr': '1956', 'pid': '965746490', 'eyr': '2024', 'ecl': 'brn'} +Checking {'ecl': 'grn', 'hcl': '#602927', 'iyr': '2011', 'hgt': '190cm', 'pid': '864571411', 'byr': '1962', 'cid': '112', 'eyr': '2027'} +Checking {'cid': '54', 'hcl': '#6b5442', 'iyr': '2011', 'hgt': '159cm', 'byr': '1922', 'pid': '689641249', 'eyr': '2025', 'ecl': 'gry'} +Checking {'cid': '323', 'iyr': '2020', 'hgt': '158cm', 'pid': '876082513', 'byr': '1941', 'ecl': 'hzl', 'eyr': '2028'} +Missing expected value +Checking {'cid': '226', 'hcl': '#18171d', 'iyr': '2014', 'hgt': '160cm', 'pid': '910116712', 'byr': '1927', 'ecl': 'oth', 'eyr': '2023'} +Checking {'ecl': 'grn', 'hcl': '#602927', 'iyr': '2030', 'hgt': '186cm', 'byr': '1963', 'pid': '706533329', 'cid': '183', 'eyr': '2030'} +Bad issue year +Checking {'ecl': 'hzl', 'hcl': '#866857', 'iyr': '2015', 'hgt': '150cm', 'byr': '1958', 'pid': '120633047', 'cid': '279', 'eyr': '2026'} +Checking {'hcl': '#733820', 'iyr': '2019', 'hgt': '187cm', 'byr': '1989', 'pid': '470596304', 'ecl': 'hzl', 'eyr': '2022'} +Checking {'cid': '346', 'hcl': '#888785', 'iyr': '2013', 'hgt': '167cm', 'byr': '1994', 'pid': '528844948', 'ecl': 'hzl', 'eyr': '2027'} +Checking {'hcl': '#fffffd', 'iyr': '2014', 'hgt': '192cm', 'pid': '969181309', 'byr': '1970', 'eyr': '2025', 'ecl': 'amb'} +Checking {'hcl': '#341e13', 'iyr': '2012', 'hgt': '167cm', 'pid': '053348609', 'byr': '1931', 'eyr': '2026', 'ecl': 'oth'} +Checking {'hcl': '#fffffd', 'iyr': '2013', 'hgt': '182cm', 'pid': '030276279', 'byr': '1967', 'eyr': '2029', 'ecl': 'grn'} +Checking {'cid': '224', 'hcl': '#ceb3a1', 'iyr': '2016', 'hgt': '177cm', 'byr': '1949', 'pid': '745439371', 'eyr': '2022', 'ecl': 'oth'} +Checking {'hcl': '#341e13', 'iyr': '2016', 'hgt': '64in', 'byr': '1940', 'pid': '351021541', 'eyr': '2028', 'ecl': 'amb'} +Checking {'eyr': '2021', 'hcl': '#866857', 'iyr': '2019', 'hgt': '74in', 'pid': '698666542', 'byr': '1953', 'cid': '309', 'ecl': 'oth'} +Checking {'ecl': 'brn', 'hcl': '#733820', 'iyr': '2013', 'hgt': '186cm', 'byr': '1979', 'pid': '727367898', 'cid': '236', 'eyr': '2023'} +Checking {'cid': '245', 'hcl': '#623a2f', 'iyr': '2016', 'hgt': '65cm', 'byr': '1956', 'pid': '371685442', 'eyr': '2025', 'ecl': 'oth'} +bad height in cm +Checking {'hcl': '#888785', 'iyr': '2010', 'hgt': '155cm', 'byr': '1927', 'pid': '916070590', 'ecl': 'grn', 'eyr': '2027'} +Checking {'eyr': '2022', 'hcl': '#866857', 'iyr': '2019', 'hgt': '179cm', 'byr': '1993', 'pid': '354895012', 'ecl': 'blu', 'cid': '332'} +Checking {'eyr': '2025', 'hcl': '#efcc98', 'iyr': '2029', 'hgt': '69cm', 'pid': '179cm', 'byr': '2007', 'cid': '216', 'ecl': 'oth'} +Bad birth year +Checking {'hcl': 'z', 'iyr': '1988', 'hgt': '187', 'byr': '2020', 'pid': '225115160', 'ecl': '#30e67c', 'eyr': '2037'} +Bad birth year +Checking {'iyr': '2011', 'byr': '1965', 'pid': '455044780', 'hgt': '188cm', 'eyr': '2021', 'ecl': 'hzl'} +Missing expected value +Checking {'hcl': '#fffffd', 'iyr': '2016', 'hgt': '61in', 'pid': '750994177', 'byr': '2002', 'ecl': 'gry', 'eyr': '2023'} +Checking {'hcl': '#18171d', 'iyr': '2020', 'hgt': '177cm', 'pid': '304482618', 'byr': '1955', 'ecl': 'gry', 'eyr': '2027'} +Checking {'ecl': 'oth', 'hcl': '#b6652a', 'iyr': '2017', 'hgt': '187cm', 'byr': '1981', 'pid': '795201673', 'eyr': '2020', 'cid': '154'} +Checking {'cid': '101', 'hcl': '#cfa07d', 'iyr': '2019', 'hgt': '151cm', 'byr': '1954', 'pid': '930011749', 'eyr': '2026', 'ecl': 'gry'} +Checking {'eyr': '1955', 'hcl': 'z', 'iyr': '2030', 'pid': '#d45ed4', 'byr': '1999', 'cid': '338', 'ecl': 'zzz'} +Missing expected value +Checking {'cid': '125', 'hcl': '#7d3b0c', 'iyr': '2018', 'hgt': '166cm', 'pid': '861636258', 'byr': '1958', 'eyr': '2020', 'ecl': 'brn'} +Checking {'hcl': '#7d3b0c', 'iyr': '2014', 'hgt': '67', 'byr': '1935', 'pid': '409864761', 'eyr': '2022', 'ecl': 'brn'} +bad height generally +Checking {'eyr': '2022', 'hcl': '#866857', 'iyr': '2012', 'hgt': '178cm', 'pid': '483584137', 'byr': '2000', 'cid': '94', 'ecl': 'blu'} +Checking {'hcl': '#602927', 'iyr': '2015', 'hgt': '184cm', 'byr': '1946', 'pid': '947292495', 'ecl': 'hzl', 'eyr': '2028'} +Checking {'ecl': 'gry', 'hcl': '#6b5442', 'iyr': '2014', 'hgt': '59in', 'byr': '1974', 'pid': '358779220', 'cid': '96', 'eyr': '2028'} +Checking {'eyr': '2022', 'hcl': '#61154f', 'byr': '1932', 'hgt': '167cm', 'ecl': 'brn', 'cid': '126'} +Missing expected value +Checking {'hcl': '#866857', 'iyr': '2014', 'hgt': '169cm', 'byr': '1926', 'pid': '463772660', 'ecl': 'gry', 'eyr': '2020'} +Checking {'cid': '111', 'hcl': '#fffffd', 'iyr': '2010', 'hgt': '191cm', 'pid': '654733578', 'byr': '1943', 'eyr': '2024', 'ecl': 'hzl'} +Checking {'hcl': '#c0946f', 'iyr': '2026', 'pid': '164776417', 'byr': '1977', 'hgt': '74cm', 'eyr': '2021'} +Missing expected value +Checking {'eyr': '1949', 'hcl': 'z', 'iyr': '1921', 'pid': '442332495', 'byr': '2018', 'ecl': '#6db74f', 'cid': '101'} +Missing expected value +Checking {'ecl': 'blu', 'hcl': '518816', 'iyr': '1939', 'hgt': '191cm', 'byr': '2022', 'pid': '10107923', 'eyr': '2038', 'cid': '332'} +Bad birth year +Checking {'hcl': '#733820', 'iyr': '2010', 'hgt': '183cm', 'pid': '168853141', 'byr': '1996', 'eyr': '2021', 'ecl': 'hzl'} +Checking {'cid': '89', 'hcl': '336a3b', 'iyr': '2016', 'hgt': '62in', 'pid': '556617728', 'byr': '2029', 'eyr': '2023', 'ecl': 'xry'} +Bad birth year +Checking {'eyr': '2023', 'hcl': '#efcc98', 'iyr': '2020', 'hgt': '181cm', 'pid': '075811396', 'byr': '1960', 'ecl': 'hzl', 'cid': '297'} +Checking {'hcl': '#602927', 'iyr': '2015', 'byr': '1995', 'hgt': '75in', 'eyr': '2030', 'ecl': 'brn'} +Missing expected value +Checking {'cid': '237', 'hcl': '#8936bb', 'iyr': '2015', 'hgt': '183cm', 'byr': '1998', 'eyr': '2028', 'ecl': 'grn'} +Missing expected value +Checking {'hcl': '#efcc98', 'pid': '550427102', 'byr': '1991', 'hgt': '67in', 'ecl': 'gry'} +Missing expected value +Checking {'ecl': 'gmt', 'hcl': '00f05b', 'iyr': '2022', 'hgt': '70cm', 'byr': '1948', 'cid': '274', 'eyr': '1961'} +Missing expected value +Checking {'cid': '150', 'hcl': '#18171d', 'iyr': '2018', 'hgt': '153cm', 'pid': '831302208', 'byr': '1927', 'ecl': 'blu', 'eyr': '2020'} +Checking {'ecl': 'blu', 'hcl': '#ceb3a1', 'iyr': '2018', 'hgt': '192cm', 'byr': '1973', 'pid': '770473271', 'cid': '215', 'eyr': '2027'} +Checking {'hcl': '#623a2f', 'iyr': '2019', 'hgt': '174cm', 'byr': '1962', 'pid': '589533254', 'eyr': '2021', 'ecl': 'hzl'} +Checking {'hcl': '#a97842', 'iyr': '2012', 'hgt': '184cm', 'byr': '1991', 'pid': '677889195', 'ecl': 'hzl', 'cid': '292'} +Missing expected value +Checking {'hcl': 'z', 'iyr': '2010', 'hgt': '154in', 'pid': '#4f47c3', 'byr': '2022', 'cid': '69', 'ecl': '#e36a65'} +Missing expected value +Checking {'hcl': '#b6652a', 'iyr': '2016', 'hgt': '171cm', 'pid': '499582878', 'byr': '1930', 'ecl': '#5ff50c', 'eyr': '2024'} +bad eye color +Checking {'hcl': '#6b5442', 'iyr': '2015', 'hgt': '159cm', 'byr': '1936', 'pid': '658019126', 'eyr': '2028', 'ecl': 'amb'} +Checking {'cid': '239', 'hcl': '#18171d', 'iyr': '2013', 'hgt': '158cm', 'byr': '1928', 'pid': '599970280', 'eyr': '2026', 'ecl': 'grn'} +Checking {'hcl': '#c0946f', 'iyr': '2018', 'pid': '684820830', 'hgt': '182cm', 'ecl': 'oth', 'eyr': '2023'} +Missing expected value +Checking {'eyr': '2021', 'hcl': '#602927', 'iyr': '2019', 'hgt': '71in', 'pid': '668361647', 'byr': '1952', 'ecl': 'blu', 'cid': '348'} +Checking {'cid': '193', 'hcl': '#7d5994', 'iyr': '2010', 'hgt': '165cm', 'pid': '256350027', 'byr': '1947', 'ecl': 'grn', 'eyr': '2030'} +Checking {'eyr': '2029', 'hcl': '#602927', 'iyr': '2019', 'hgt': '153cm', 'byr': '1931', 'pid': '911300650', 'cid': '118', 'ecl': 'gry'} +Checking {'hcl': '#866857', 'iyr': '2016', 'hgt': '154cm', 'pid': '515526226', 'byr': '1936', 'eyr': '2025', 'ecl': 'grn'} +Checking {'hcl': '#623a2f', 'iyr': '2019', 'hgt': '160cm', 'pid': '932621460', 'byr': '1990', 'ecl': 'oth', 'eyr': '2030'} +Checking {'eyr': '2027', 'hcl': '#623a2f', 'iyr': '2016', 'hgt': '176cm', 'pid': '662549708', 'byr': '1949', 'cid': '277', 'ecl': 'blu'} +Checking {'iyr': '2010', 'byr': '1947', 'pid': '223603325', 'eyr': '2021', 'ecl': 'gry'} +Missing expected value +Checking {'hcl': '#733820', 'iyr': '2020', 'hgt': '183cm', 'pid': '145738978', 'byr': '1949', 'ecl': 'gry', 'eyr': '2029'} +Checking {'hcl': '#a97842', 'iyr': '2011', 'hgt': '63in', 'byr': '1941', 'pid': '091089766', 'eyr': '2028', 'ecl': 'gry'} +Checking {'eyr': '2021', 'hcl': '#fffffd', 'iyr': '2020', 'hgt': '157cm', 'byr': '1978', 'pid': '242258232', 'ecl': 'hzl', 'cid': '275'} +Checking {'cid': '132', 'hcl': '#733820', 'iyr': '2011', 'hgt': '192cm', 'pid': '239061408', 'byr': '1949', 'ecl': 'oth', 'eyr': '2023'} +Checking {'eyr': '2021', 'hcl': '#341e13', 'iyr': '2014', 'hgt': '152cm', 'byr': '1954', 'pid': '667414305', 'cid': '282', 'ecl': 'brn'} +Checking {'hcl': '#7d3b0c', 'iyr': '2018', 'hgt': '186cm', 'pid': '745564182', 'byr': '1935', 'eyr': '2028', 'ecl': 'gry'} +Checking {'hcl': 'd26483', 'iyr': '2014', 'hgt': '163cm', 'byr': '1972', 'pid': '611712147', 'eyr': '2026', 'ecl': '#57d27c'} +bad hair color +Checking {'eyr': '2025', 'hcl': '#cfa07d', 'iyr': '2020', 'hgt': '158cm', 'byr': '1937', 'pid': '150255302', 'ecl': 'blu', 'cid': '322'} +Checking {'cid': '116', 'hcl': '#866857', 'iyr': '2011', 'hgt': '155cm', 'byr': '1974', 'pid': '755213661', 'eyr': '2030', 'ecl': 'blu'} +Checking {'hcl': '#866857', 'iyr': '2014', 'hgt': '166cm', 'pid': '679616797', 'byr': '1999', 'ecl': 'gry', 'eyr': '2025'} +Checking {'hcl': '#fffffd', 'iyr': '2019', 'pid': '835993614', 'byr': '1920', 'hgt': '158cm', 'eyr': '2028'} +Missing expected value +Checking {'eyr': '2025', 'hcl': '#200aaa', 'iyr': '2013', 'hgt': '151cm', 'pid': '742320152', 'byr': '1931', 'cid': '63', 'ecl': 'brn'} +Checking {'ecl': 'xry', 'hcl': '#615954', 'iyr': '2014', 'hgt': '150cm', 'byr': '1950', 'pid': '596469710', 'eyr': '2027', 'cid': '155'} +bad eye color +Checking {'eyr': '2021', 'hcl': '#18171d', 'iyr': '2016', 'hgt': '166cm', 'byr': '1946', 'pid': '267318602', 'ecl': 'gry', 'cid': '261'} +Checking {'hcl': '#b6652a', 'iyr': '2013', 'hgt': '185cm', 'pid': '092573029', 'byr': '1956', 'ecl': 'gry', 'eyr': '2023'} +Checking {'hcl': '#efcc98', 'iyr': '2014', 'hgt': '172cm', 'byr': '1997', 'pid': '337403043', 'eyr': '2021', 'ecl': 'blu'} +Checking {'iyr': '2015', 'byr': '1949', 'pid': '230935940', 'hgt': '190cm', 'eyr': '2023'} +Missing expected value +Checking {'hcl': '#a97842', 'iyr': '2017', 'hgt': '171cm', 'byr': '1980', 'pid': '9435249395', 'eyr': '2021', 'ecl': 'oth'} +bad pid +Checking {'cid': '93', 'hcl': '#b6652a', 'iyr': '1923', 'hgt': '186cm', 'byr': '2011', 'pid': '239188418', 'eyr': '2039', 'ecl': 'hzl'} +Bad birth year +Checking {'eyr': '2028', 'hcl': '#602927', 'iyr': '2020', 'hgt': '160cm', 'pid': '791787662', 'byr': '1975', 'cid': '51', 'ecl': 'gry'} +Checking {'hcl': '#a97842', 'iyr': '2016', 'hgt': '183cm', 'pid': '720900081', 'byr': '1978', 'ecl': 'amb', 'eyr': '2022'} +Checking {'cid': '345', 'hcl': '#18171d', 'iyr': '2017', 'hgt': '157cm', 'pid': '628454234', 'byr': '1988', 'eyr': '2027', 'ecl': 'gry'} +Checking {'hcl': '#341e13', 'iyr': '2013', 'hgt': '66in', 'byr': '1985', 'pid': '996422540', 'ecl': 'grn', 'eyr': '2020'} +Checking {'cid': '214', 'hcl': '#866857', 'iyr': '2017', 'hgt': '161cm', 'pid': '186cm', 'byr': '1988', 'ecl': 'brn', 'eyr': '2022'} +bad pid +Checking {'ecl': 'grn', 'hcl': '#18171d', 'iyr': '2019', 'hgt': '154cm', 'pid': '752184592', 'byr': '1966', 'eyr': '2025', 'cid': '119'} +Checking {'eyr': '2024', 'hcl': '#b6652a', 'iyr': '2011', 'hgt': '59in', 'byr': '1974', 'pid': '477922277', 'ecl': 'grn', 'cid': '100'} +Checking {'hcl': '#6b5442', 'iyr': '2013', 'hgt': '184cm', 'byr': '1969', 'pid': '514127885', 'ecl': 'brn', 'eyr': '2023'} +Checking {'cid': '111', 'hcl': '#cfa07d', 'iyr': '2020', 'hgt': '64in', 'byr': '1923', 'ecl': 'gry', 'eyr': '2029'} +Missing expected value +Checking {'ecl': 'blu', 'hcl': '#866857', 'iyr': '2016', 'hgt': '73in', 'byr': '1921', 'pid': '971490088', 'eyr': '2025', 'cid': '271'} +Checking {'cid': '63', 'hcl': '#602927', 'iyr': '2019', 'hgt': '179cm', 'byr': '1953', 'pid': '226869705', 'ecl': 'oth', 'eyr': '2023'} +Checking {'hcl': '#341e13', 'iyr': '2010', 'hgt': '175cm', 'byr': '1938', 'pid': '718683561', 'ecl': 'hzl', 'eyr': '2021'} +Checking {'hcl': 'z', 'iyr': '2023', 'hgt': '189in', 'byr': '2030', 'pid': '171cm', 'ecl': '#447c00', 'eyr': '2022'} +Bad birth year +Checking {'cid': '99', 'hcl': '#888785', 'iyr': '2020', 'hgt': '191cm', 'pid': '128824091', 'byr': '1982', 'ecl': 'blu', 'eyr': '2026'} +Checking {'hcl': '#fffffd', 'iyr': '2017', 'hgt': '151cm', 'pid': '333173949', 'byr': '1928', 'eyr': '2026', 'ecl': 'oth'} +Checking {'cid': '168', 'hcl': '#6b5442', 'iyr': '2016', 'hgt': '158cm', 'byr': '1945', 'pid': '888990994', 'eyr': '2026', 'ecl': 'grn'} +Checking {'hcl': '#cfa07d', 'iyr': '2013', 'hgt': '168cm', 'byr': '1931', 'pid': '716975878', 'ecl': 'grn', 'eyr': '2023'} +Checking {'hcl': '#888785', 'iyr': '2020', 'hgt': '161cm', 'pid': '815050555', 'byr': '1980', 'ecl': 'blu', 'eyr': '2025'} +Checking {'hcl': '#7d3b0c', 'iyr': '2017', 'hgt': '171cm', 'pid': '470039281', 'byr': '1967', 'ecl': 'gry', 'eyr': '2021'} +Checking {'hcl': '#bdf8d6', 'iyr': '2018', 'hgt': '184cm', 'byr': '1954', 'pid': '694267794', 'eyr': '2030', 'ecl': 'blu'} +Checking {'hcl': '#cfa07d', 'iyr': '2016', 'hgt': '167cm', 'byr': '1971', 'pid': '237865320', 'ecl': 'brn', 'eyr': '2027'} +Checking {'cid': '215', 'hcl': '#a97842', 'iyr': '2014', 'hgt': '176cm', 'byr': '1921', 'pid': '186145415', 'ecl': 'oth', 'eyr': '2028'} +Checking {'hcl': '#7d3b0c', 'pid': '925805272', 'hgt': '65in', 'eyr': '2030', 'ecl': 'blu'} +Missing expected value +Checking {'eyr': '2024', 'hcl': '#c0946f', 'iyr': '2013', 'hgt': '65in', 'byr': '1992', 'pid': '092712496', 'cid': '278', 'ecl': 'oth'} +Checking {'ecl': 'brn', 'hcl': '#18171d', 'iyr': '2018', 'hgt': '151cm', 'byr': '1971', 'pid': '599220575', 'cid': '321', 'eyr': '2030'} +Checking {'hcl': '#b6652a', 'iyr': '2016', 'byr': '1956', 'pid': '109381754', 'ecl': 'hzl', 'cid': '233'} +Missing expected value +Checking {'hcl': '#866857', 'iyr': '2015', 'hgt': '152cm', 'byr': '1988', 'pid': '274656754', 'ecl': 'amb', 'eyr': '2022'} +Checking {'ecl': 'amb', 'hcl': '#733820', 'iyr': '2013', 'hgt': '186cm', 'byr': '1947', 'pid': '165847317', 'cid': '285', 'eyr': '2028'} +Checking {'cid': '183', 'hcl': '#866857', 'pid': '601229952', 'hgt': '191cm', 'eyr': '2023', 'ecl': 'brn'} +Missing expected value +Checking {'hcl': '#b50bab', 'iyr': '2018', 'hgt': '191cm', 'byr': '1936', 'pid': '422563929', 'eyr': '2025', 'ecl': 'oth'} +Checking {'hcl': '#a97842', 'iyr': '2010', 'hgt': '181cm', 'byr': '1971', 'pid': '267796608', 'ecl': 'gry', 'eyr': '2025'} +Checking {'cid': '301', 'hcl': '#0fd3b0', 'iyr': '2014', 'hgt': '173cm', 'pid': '606512017', 'byr': '1999', 'eyr': '2030', 'ecl': 'oth'} +Checking {'ecl': 'grn', 'hcl': '#602927', 'iyr': '2018', 'hgt': '179cm', 'byr': '1937', 'pid': '148179917', 'cid': '277', 'eyr': '2029'} +Checking {'hcl': '#7d3b0c', 'iyr': '2015', 'hgt': '162cm', 'byr': '1960', 'pid': '014246579', 'ecl': 'hzl', 'eyr': '2023'} +Checking {'hcl': '#777876', 'iyr': '2011', 'hgt': '188cm', 'byr': '1955', 'pid': '988764375', 'ecl': 'blu', 'eyr': '2020'} +Checking {'hcl': '#18171d', 'iyr': '2012', 'hgt': '173cm', 'pid': '524961020', 'byr': '1983', 'ecl': 'amb', 'eyr': '2028'} +Checking {'hcl': '#efcc98', 'iyr': '2019', 'hgt': '153cm', 'pid': '127759635', 'byr': '1932', 'ecl': 'hzl', 'eyr': '2020'} +Checking {'hcl': '#c0946f', 'iyr': '2013', 'pid': '421725637', 'byr': '1971', 'eyr': '2025', 'ecl': 'gry'} +Missing expected value +Checking {'hcl': '#866857', 'iyr': '2015', 'hgt': '163cm', 'pid': '654033544', 'byr': '1923', 'cid': '176', 'ecl': 'brn'} +Missing expected value +Checking {'cid': '128', 'hcl': '#623a2f', 'iyr': '2007', 'hgt': '76cm', 'byr': '2013', 'pid': '122621229', 'ecl': '#5cd4a8', 'eyr': '2035'} +Bad birth year +Checking {'hcl': '#927794', 'iyr': '2019', 'hgt': '158cm', 'byr': '1964', 'pid': '269737193', 'ecl': 'oth', 'eyr': '2025'} +Checking {'ecl': 'blu', 'hcl': '#341e13', 'iyr': '2014', 'hgt': '174cm', 'byr': '1949', 'pid': '120077363', 'eyr': '2026', 'cid': '181'} +Checking {'ecl': 'oth', 'hcl': 'z', 'iyr': '2011', 'hgt': '151cm', 'pid': '638178037', 'byr': '1920', 'cid': '161', 'eyr': '2024'} +bad hair color +Checking {'eyr': '2023', 'hcl': '#a97842', 'iyr': '2014', 'hgt': '161cm', 'byr': '1977', 'pid': '177001463', 'cid': '79', 'ecl': 'brn'} +Checking {'hcl': '#888785', 'iyr': '2010', 'hgt': '183cm', 'byr': '1938', 'pid': '302413712', 'eyr': '1967', 'ecl': 'grn'} +Bad expire year +Checking {'hcl': '#c0946f', 'iyr': '2015', 'hgt': '164cm', 'byr': '1955', 'pid': '772380994', 'eyr': '2025', 'ecl': 'amb'} +Checking {'cid': '161', 'hcl': '#602927', 'iyr': '2019', 'hgt': '171cm', 'byr': '1924', 'ecl': 'amb', 'eyr': '2021'} +Missing expected value +Checking {'hcl': '7d1404', 'iyr': '2027', 'hgt': '119', 'pid': '143311761', 'byr': '1939', 'eyr': '1957', 'ecl': '#de1d21'} +Bad issue year +Checking {'hcl': '#ceb3a1', 'iyr': '2015', 'hgt': '182cm', 'pid': '136552613', 'byr': '1992', 'ecl': 'blu', 'cid': '205'} +Missing expected value +Checking {'eyr': '2034', 'hcl': 'z', 'iyr': '2013', 'hgt': '172cm', 'byr': '1998', 'pid': '#ec3c3a', 'ecl': 'blu', 'cid': '54'} +Bad expire year +Checking {'hcl': '#623a2f', 'iyr': '2012', 'byr': '1975', 'pid': '358585328', 'ecl': 'blu', 'eyr': '2025'} +Missing expected value +Checking {'eyr': '2024', 'hcl': '#18171d', 'iyr': '2020', 'hgt': '190cm', 'pid': '282306278', 'byr': '1958', 'ecl': 'grn', 'cid': '276'} +Checking {'hcl': '#6b5442', 'iyr': '2017', 'hgt': '177cm', 'byr': '1955', 'pid': '111002386', 'eyr': '2028', 'ecl': 'grn'} +Checking {'cid': '109', 'hcl': '#866857', 'iyr': '2018', 'hgt': '169cm', 'pid': '694088201', 'byr': '1957', 'eyr': '2026', 'ecl': 'amb'} +Checking {'hcl': '#6b5442', 'iyr': '2013', 'hgt': '171cm', 'byr': '1965', 'pid': '268169550', 'ecl': 'blu', 'eyr': '2021'} +Checking {'cid': '173', 'hcl': '#a97842', 'iyr': '2010', 'hgt': '191cm', 'pid': '803092066', 'byr': '1956', 'eyr': '2023', 'ecl': 'grn'} +Checking {'cid': '181', 'hcl': '#b6652a', 'iyr': '2012', 'hgt': '190cm', 'byr': '1991', 'pid': '946620993', 'eyr': '2024', 'ecl': 'gry'} +Checking {'ecl': 'oth', 'hcl': '#cfa07d', 'iyr': '2019', 'hgt': '175cm', 'pid': '062548271', 'cid': '75', 'eyr': '2022'} +Missing expected value +Checking {'hcl': '#888785', 'iyr': '2014', 'byr': '1956', 'pid': '860561420', 'hgt': '176cm', 'cid': '262'} +Missing expected value +Checking {'hcl': '#efcc98', 'iyr': '2013', 'hgt': '188cm', 'pid': '828180303', 'byr': '1932', 'ecl': 'gry', 'eyr': '2028'} +Checking {'ecl': 'brn', 'hcl': '#341e13', 'iyr': '2012', 'hgt': '150cm', 'byr': '1992', 'pid': '644391775', 'cid': '292', 'eyr': '2029'} +Checking {'hcl': '#ceb3a1', 'iyr': '2013', 'hgt': '182cm', 'byr': '1982', 'pid': '625704144', 'ecl': 'grn', 'eyr': '2026'} +Checking {'hcl': '#812218', 'iyr': '2013', 'hgt': '150cm', 'byr': '1926', 'pid': '610910806', 'ecl': 'brn', 'eyr': '2025'} +Checking {'hcl': '#623a2f', 'iyr': '2017', 'hgt': '61in', 'byr': '1926', 'pid': '347974562', 'eyr': '2020', 'ecl': 'oth'} +Checking {'hcl': '#a97842', 'iyr': '2014', 'hgt': '185cm', 'byr': '1940', 'pid': '123961293', 'eyr': '2023', 'ecl': 'blu'} +Checking {'hcl': '#692e6c', 'iyr': '2011', 'hgt': '172cm', 'byr': '1984', 'pid': '342962046', 'eyr': '2020', 'ecl': 'grn'} +Checking {'eyr': '2023', 'hcl': '#b08932', 'iyr': '2019', 'hgt': '193cm', 'pid': '343331979', 'byr': '1985', 'ecl': 'blu', 'cid': '269'} +Checking {'hcl': '#fffffd', 'iyr': '2011', 'pid': '483091240', 'byr': '1988', 'ecl': 'blu', 'eyr': '2022'} +Missing expected value +Checking {'hcl': '#ceb3a1', 'iyr': '2019', 'hgt': '177cm', 'pid': '516533115', 'byr': '1922', 'cid': '294', 'ecl': 'amb'} +Missing expected value +Checking {'hcl': '#cfa07d', 'iyr': '2013', 'hgt': '193cm', 'byr': '1965', 'pid': '931305875', 'eyr': '2023', 'ecl': 'grn'} +Checking {'cid': '209', 'hcl': '#fffffd', 'iyr': '2019', 'hgt': '164cm', 'byr': '1944', 'pid': '141532765', 'ecl': 'hzl', 'eyr': '2029'} +Checking {'hcl': '#ceb3a1', 'iyr': '2013', 'hgt': '189cm', 'pid': '604140631', 'byr': '1935', 'ecl': 'brn', 'eyr': '2022'} +Checking {'eyr': '2027', 'hcl': '#888785', 'iyr': '2020', 'hgt': '152cm', 'byr': '1959', 'pid': '849438430', 'ecl': 'amb', 'cid': '287'} +Checking {'hcl': '#623a2f', 'iyr': '2018', 'hgt': '167cm', 'byr': '1988', 'pid': '470443459', 'eyr': '2029', 'ecl': 'brn'} +Checking {'eyr': '2021', 'hcl': '#341e13', 'iyr': '2012', 'hgt': '175cm', 'byr': '2027', 'pid': '271833606', 'ecl': 'hzl', 'cid': '276'} +Bad birth year +Checking {'hcl': '#623a2f', 'iyr': '2010', 'hgt': '164cm', 'pid': '970527839', 'byr': '1974', 'eyr': '2027', 'ecl': 'amb'} +Checking {'hcl': '#c0946f', 'iyr': '2013', 'byr': '1932', 'pid': '104193512', 'eyr': '2020', 'ecl': 'grn'} +Missing expected value +Checking {'hcl': '#623a2f', 'iyr': '2020', 'hgt': '65in', 'byr': '1982', 'pid': '570953460', 'eyr': '2030', 'ecl': 'blu'} +Checking {'hcl': '#602927', 'iyr': '2019', 'hgt': '169cm', 'byr': '1922', 'pid': '803264417', 'eyr': '2020', 'ecl': 'grn'} +Checking {'hcl': '#866857', 'iyr': '2017', 'hgt': '170cm', 'byr': '1963', 'pid': '762546796', 'ecl': 'amb', 'eyr': '2028'} +Checking {'cid': '184', 'hcl': '#733820', 'iyr': '1980', 'hgt': '176cm', 'pid': '54291174', 'byr': '1974', 'ecl': 'gry', 'eyr': '2035'} +Bad issue year +Checking {'eyr': '2028', 'hcl': '#c0946f', 'iyr': '2013', 'hgt': '63in', 'pid': '408646971', 'byr': '1951', 'cid': '84', 'ecl': 'amb'} +Checking {'hcl': '#6b5442', 'iyr': '2013', 'hgt': '170cm', 'byr': '1994', 'pid': '348959147', 'eyr': '2021', 'ecl': 'amb'} +Checking {'cid': '199', 'hcl': 'e7c520', 'iyr': '2017', 'hgt': '156cm', 'byr': '1957', 'pid': '890752588', 'ecl': 'hzl', 'eyr': '2025'} +bad hair color +Checking {'eyr': '2024', 'hcl': '#733820', 'iyr': '2016', 'hgt': '169cm', 'pid': '661114936', 'byr': '1928', 'ecl': 'hzl', 'cid': '180'} +Checking {'hcl': '#6b5442', 'iyr': '2015', 'hgt': '179cm', 'byr': '1941', 'pid': '148063033', 'eyr': '2020', 'ecl': 'brn'} +Checking {'hcl': '#cfa07d', 'iyr': '1935', 'hgt': '59cm', 'pid': '14292032', 'byr': '2020', 'eyr': '1956', 'ecl': '#c9bc33'} +Bad birth year +Checking {'ecl': 'amb', 'hcl': '#733820', 'iyr': '2010', 'hgt': '165cm', 'pid': '312465756', 'byr': '1993', 'eyr': '2023', 'cid': '112'} +Checking {'hcl': 'z', 'iyr': '1963', 'hgt': '111', 'byr': '1964', 'pid': '#f5628c', 'eyr': '2032', 'ecl': 'grt'} +Bad issue year +Checking {'eyr': '2023', 'hcl': '#623a2f', 'iyr': '2012', 'hgt': '169cm', 'pid': '809080900', 'byr': '1979', 'cid': '291', 'ecl': 'oth'} +Checking {'iyr': '2021', 'byr': '1967', 'pid': '2498700612', 'hgt': '59cm', 'eyr': '2033', 'ecl': 'gmt'} +Missing expected value +Checking {'hcl': '#b6652a', 'iyr': '2013', 'byr': '1953', 'pid': '442586860', 'ecl': 'oth'} +Missing expected value +Checking {'hcl': '#866857', 'iyr': '2017', 'hgt': '151cm', 'pid': '095687847', 'byr': '1967', 'eyr': '2022', 'ecl': 'oth'} +Checking {'hcl': '#866857', 'iyr': '1930', 'hgt': '61cm', 'pid': '983640144', 'byr': '1991', 'ecl': 'hzl', 'eyr': '2024'} +Bad issue year +Checking {'hcl': '#602927', 'iyr': '2013', 'hgt': '151cm', 'byr': '1992', 'pid': '812583062', 'ecl': 'oth', 'eyr': '2025'} +count = 194 diff --git a/test/day5.krk.expect b/test/day5.krk.expect new file mode 100644 index 0000000..a73794c --- /dev/null +++ b/test/day5.krk.expect @@ -0,0 +1,5 @@ +44 +5 +953 +--- +615 diff --git a/test/day6.krk.expect b/test/day6.krk.expect new file mode 100644 index 0000000..01a4561 --- /dev/null +++ b/test/day6.krk.expect @@ -0,0 +1,2 @@ +6430 +3125 diff --git a/test/generateLongListTest.krk.expect b/test/generateLongListTest.krk.expect new file mode 100644 index 0000000..e69de29 diff --git a/test/test.krk b/test/test.krk index d477e3a..8419f18 100755 --- a/test/test.krk +++ b/test/test.krk @@ -115,7 +115,7 @@ class Test: # This is a test class print Test let test = Test() -print test +#print test # Removed because of pointer output test.doAThing() test.foo = "bar" print test.foo diff --git a/test/test.krk.expect b/test/test.krk.expect new file mode 100644 index 0000000..1af6ec1 --- /dev/null +++ b/test/test.krk.expect @@ -0,0 +1,46 @@ +This is the first line that should print. +We can do simple concatenation 123. +40.74 +6 +Hex: 255 Octal: 83 Binary: 10 +i = 0 +i = 1 +i = 2 +i = 3 +i = 4 +i = 5 +i = 6 +i = 7 +i = 8 +i = 9 +This code is after the function definition +This is a function that does a thing! +You passed 'demo' as an argument! +The function call returned: 42 +Call to sleep returned: True +This is a function that does a thing! +You passed something else. +1 +2 +Function is defined, creating it... +And executing the result... +outside +Let's do some classes. + +yay: bax +bar + +yay: bar +This is a great teapot! +Subclass says: (I am a teapot) +(get[123]) +(set[456] = test) +Let's make a hashmap: +world +Let's make some lists: +Length before: 0 +Length after: 3 +j=0, list[j]=1 +j=1, list[j]=2 +j=2, list[j]=3 +34 diff --git a/test/testArgsKwargs.krk.expect b/test/testArgsKwargs.krk.expect new file mode 100644 index 0000000..1946610 --- /dev/null +++ b/test/testArgsKwargs.krk.expect @@ -0,0 +1,11 @@ +Positionals: [1, 2, 3, 'a', 'b'] +Keywords: {'biz': 42, 'foo': 'bar'} +1 2 [3, 4, 5, 6] +hello +Main: 1 2 1 2 +Keyword: {} +Main: 1 2 7 3 +Keyword: {} +Main: 1 2 1 2 +Keyword: {'test': 'thing'} +last() takes at most 4 arguments (6 given) diff --git a/test/testArgumentExpansions.krk.expect b/test/testArgumentExpansions.krk.expect new file mode 100644 index 0000000..ee90a1f --- /dev/null +++ b/test/testArgumentExpansions.krk.expect @@ -0,0 +1,3 @@ +Call starts here. +a = 1 b = 1 +args = [2, 3] kwargs = {'stuff': 'things', 'foo': 'bar'} diff --git a/test/testDecorators.krk b/test/testDecorators.krk index 16afc39..9bf1b7b 100644 --- a/test/testDecorators.krk +++ b/test/testDecorators.krk @@ -66,7 +66,6 @@ class Foo(): print "(decorated) self.foo = ", self.foo let f = Foo() -print "Got an f:", f f.undecorated() print "Returned from f.undecorated()" f.decorated("butts") @@ -98,9 +97,12 @@ def methodDecoratorWithArguments(decoratorArgA, decoratorArgB): return theActualDecorator class Bar(): + def __init__(self): + self.foo = "weee" + @methodDecoratorWithArguments("foo","bar") def superDecoratedMethod(self, arg): - print "I am method, so I can access", self, "and also my own argument which is now", arg + print "I am method, so I can access myself", self.foo, "and also my own argument which is now", arg let b = Bar() b.superDecoratedMethod("this arg goes to the wrapper") diff --git a/test/testDecorators.krk.expect b/test/testDecorators.krk.expect new file mode 100644 index 0000000..0864a6b --- /dev/null +++ b/test/testDecorators.krk.expect @@ -0,0 +1,49 @@ +Decorator defined. +Decorating! +Function with decorator defined. +I am a great decorated function that now needs an argument! I am the argument +Bar +And this is after the function call. +Function with decorator called. +Calling main. +Decorator defined. +Decorating! +Function with decorator defined. +I am a great decorated function (within a function!) that now needs an argument! I am in the inner wrapper. +Bar (the inner one) +And this is after the function call (in a function call!) +Function with decorator called. +I like the numbers [1, 2, 3] +I am an initializer. +I am here. +self.foo = bar +Returned from f.undecorated() +I need an extra arg: butts +(decorated) self.foo = bar +Done. +Returned from f.decorated() +I am decorating with this argument: foo +This wrapper captured this decorator arg: foo +I don't take any args of mine own, and nor does my wrapper. +I am decorating with these args: foo bar +I captured these from the decorator: foo bar +I also take my own argument: this arg goes to the wrapper +I am method, so I can access myself weee and also my own argument which is now and modify this one +I am a generic wrapper, I will pass all of my args along. +aMethod() missing required positional argument: 'with' +I am a generic wrapper, I will pass all of my args along. +I got just the first and None +And I am done. +I am a generic wrapper, I will pass all of my args along. +I got the first and and the second +And I am done. +I am a generic wrapper, I will pass all of my args along. +I got world and hello +And I am done. +I am a generic wrapper, I will pass all of my args along. +aMethod() got an unexpected keyword argument 'foo' +I am a generic wrapper, I will pass all of my args along. +I got 1 and 2 +And I am done. +I am a generic wrapper, I will pass all of my args along. +aMethod() takes at most 2 arguments (3 given) diff --git a/test/testDefaultArgs.krk.expect b/test/testDefaultArgs.krk.expect new file mode 100644 index 0000000..765d2a0 --- /dev/null +++ b/test/testDefaultArgs.krk.expect @@ -0,0 +1,14 @@ +You like bacon right? +You like sports right? +1 True c None 2.71828 +one 2 test None +l= [] +l*= [1] +l= [] +l*= [1] +l= [1, 2, 3] +l*= [1, 2, 3, 1] +l= [1, 2, 3] +l*= [1, 2, 3, 1] +l= [] +l*= [1] diff --git a/test/testEatWhitespace.krk.expect b/test/testEatWhitespace.krk.expect new file mode 100644 index 0000000..078c2df --- /dev/null +++ b/test/testEatWhitespace.krk.expect @@ -0,0 +1,6 @@ +1 2 3 4 +[1, 2, 3, 4] +lol 1 +lol 2 +lol 3 +lol 4 diff --git a/test/testElseIf.krk.expect b/test/testElseIf.krk.expect new file mode 100644 index 0000000..3cb335f --- /dev/null +++ b/test/testElseIf.krk.expect @@ -0,0 +1,2 @@ +two +outside of if/else diff --git a/test/testExtraneousBlanks.krk.expect b/test/testExtraneousBlanks.krk.expect new file mode 100644 index 0000000..0b3f8b1 --- /dev/null +++ b/test/testExtraneousBlanks.krk.expect @@ -0,0 +1,3 @@ +class member foo +class member bar +A docstring diff --git a/test/testHash.krk.expect b/test/testHash.krk.expect new file mode 100644 index 0000000..bb3b6eb --- /dev/null +++ b/test/testHash.krk.expect @@ -0,0 +1,8 @@ +1 +hello +3 +foo +1: 2 +hello: world +3: 4 +foo: bar diff --git a/test/testKeywordArgs.krk.expect b/test/testKeywordArgs.krk.expect new file mode 100644 index 0000000..27f27ce --- /dev/null +++ b/test/testKeywordArgs.krk.expect @@ -0,0 +1,12 @@ +1 2 +None None +1 2 +3 4 +1 2 +None 5 +function() missing required positional argument: 'positional2' +function() got multiple values for argument 'positional1' +function() got multiple values for argument 'keyword2' +1 abc +None 4 +function() got multiple values for argument 'positional1' diff --git a/test/testLinesFromReadme.krk.expect b/test/testLinesFromReadme.krk.expect new file mode 100644 index 0000000..6047669 --- /dev/null +++ b/test/testLinesFromReadme.krk.expect @@ -0,0 +1,2 @@ +767 lines +['', 'Kuroko is a bytecode-interpreted, dynamic, strongly-typed language with syntax similar to Python.', '', 'The bytecode VM / compiler is substantially based on Robert Nystrom\'s [_Crafting Interpreters_](https://craftinginterpreters.com/).'] diff --git a/test/testList.krk.expect b/test/testList.krk.expect new file mode 100644 index 0000000..4d22484 --- /dev/null +++ b/test/testList.krk.expect @@ -0,0 +1,6 @@ +1 +2 +string +3.14159 + +world diff --git a/test/testListComprehensions.krk.expect b/test/testListComprehensions.krk.expect new file mode 100644 index 0000000..12f5733 --- /dev/null +++ b/test/testListComprehensions.krk.expect @@ -0,0 +1,12 @@ +[5, 10, 15, 20, 25] +Continuing... +5 +35 +15 +25 +45 +10 +40 +Now a sum... +And now that sum applied to a complicated expression... +315 diff --git a/test/testLongList.krk.expect b/test/testLongList.krk.expect new file mode 100644 index 0000000..b19dee3 --- /dev/null +++ b/test/testLongList.krk.expect @@ -0,0 +1 @@ +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 'applesauce'] diff --git a/test/testLoopBreaks.krk.expect b/test/testLoopBreaks.krk.expect new file mode 100644 index 0000000..a229bd7 --- /dev/null +++ b/test/testLoopBreaks.krk.expect @@ -0,0 +1,120 @@ +x = 2 +x = 3 +x = 4 +x = 5 +x = 6 +x = 7 +x = 8 +x = 9 +x = 10 +not going to print this one :) +not going to print this one :) +not going to print this one :) +not going to print this one :) +not going to print this one :) +[ y = 1 ] +[ y = 2 ] +[ y = 3 ] +[ y = 4 ] +[ y = 5 ] +[ y = 6 ] +[ y = 7 ] +[ y = 8 ] +[ y = 9 ] +[ y = 10 ] +[ y = 11 ] +[ y = 12 ] +[ y = 13 ] +[ y = 14 ] +[ y = 15 ] +[ y = 16 ] +y = 16 +not going to print this one :) +[ y = 1 ] +[ y = 2 ] +[ y = 3 ] +[ y = 4 ] +[ y = 5 ] +[ y = 6 ] +[ y = 7 ] +[ y = 8 ] +[ y = 9 ] +[ y = 10 ] +[ y = 11 ] +[ y = 12 ] +[ y = 13 ] +[ y = 14 ] +[ y = 15 ] +[ y = 16 ] +[ y = 17 ] +y = 17 +not going to print this one :) +[ y = 1 ] +[ y = 2 ] +[ y = 3 ] +[ y = 4 ] +[ y = 5 ] +[ y = 6 ] +[ y = 7 ] +[ y = 8 ] +[ y = 9 ] +[ y = 10 ] +[ y = 11 ] +[ y = 12 ] +[ y = 13 ] +[ y = 14 ] +[ y = 15 ] +[ y = 16 ] +[ y = 17 ] +[ y = 18 ] +y = 18 +not going to print this one :) +[ y = 1 ] +[ y = 2 ] +[ y = 3 ] +[ y = 4 ] +[ y = 5 ] +[ y = 6 ] +[ y = 7 ] +[ y = 8 ] +[ y = 9 ] +[ y = 10 ] +[ y = 11 ] +[ y = 12 ] +[ y = 13 ] +[ y = 14 ] +[ y = 15 ] +[ y = 16 ] +[ y = 17 ] +[ y = 18 ] +[ y = 19 ] +y = 19 +not going to print this one :) +[ y = 1 ] +[ y = 2 ] +[ y = 3 ] +[ y = 4 ] +[ y = 5 ] +[ y = 6 ] +[ y = 7 ] +[ y = 8 ] +[ y = 9 ] +[ y = 10 ] +[ y = 11 ] +[ y = 12 ] +[ y = 13 ] +[ y = 14 ] +[ y = 15 ] +[ y = 16 ] +[ y = 17 ] +[ y = 18 ] +[ y = 19 ] +[ y = 20 ] +y = 20 +not going to print this one :) +hello 21 +5 +skipping 2 +15 +4? ending early! +Done diff --git a/test/testPythonFootgun.krk.expect b/test/testPythonFootgun.krk.expect new file mode 100644 index 0000000..8d6679b --- /dev/null +++ b/test/testPythonFootgun.krk.expect @@ -0,0 +1,6 @@ +['more'] +['more', 'more'] +[1, 2, 'more'] +['more', 'more', 'more'] +['more', 'more', 'more', 'more'] +['a', 'b', 'more'] diff --git a/test/testRuntimeException.krk b/test/testRuntimeException.krk index 4ad99a6..6c7aca7 100644 --- a/test/testRuntimeException.krk +++ b/test/testRuntimeException.krk @@ -3,6 +3,6 @@ import time try: time.sleep() except: - print "oh no! " + exception + print "oh no! " + exception.arg print "Back from try/except" diff --git a/test/testRuntimeException.krk.expect b/test/testRuntimeException.krk.expect new file mode 100644 index 0000000..bbf57cd --- /dev/null +++ b/test/testRuntimeException.krk.expect @@ -0,0 +1,2 @@ +oh no! sleep: expect at least one argument. +Back from try/except diff --git a/test/testStringQuoteTypes.krk.expect b/test/testStringQuoteTypes.krk.expect new file mode 100644 index 0000000..c5293cd --- /dev/null +++ b/test/testStringQuoteTypes.krk.expect @@ -0,0 +1,6 @@ +Basic double-quote string. +Basic single-quote string. +This is a +long string that spans +multiple lines +This is a normal string with a line break in it! diff --git a/test/testStrings.krk.expect b/test/testStrings.krk.expect new file mode 100644 index 0000000..57ca8c7 --- /dev/null +++ b/test/testStrings.krk.expect @@ -0,0 +1,2 @@ +hello +world "quotes" diff --git a/test/testTryExcept.krk.expect b/test/testTryExcept.krk.expect new file mode 100644 index 0000000..52f7bd4 --- /dev/null +++ b/test/testTryExcept.krk.expect @@ -0,0 +1,14 @@ +Hello, world! +This is the try block +123 +Blah blah blah +Oh no let's raise an exception! +This is the except block +456 +This is outside of the try-except +Let's try nesting an exception and raising it +This is the top level +This is the inner level +This is the inner handler. +This is the outer handler. +This is the exception