module Main where

import Test.Hspec
import Day6
import Data.ByteString

spec :: Spec
spec = do
  describe "Day6" $ do
    context "decode" $ do
      it "should return correct val for test input" $ do
        decode mostCommon day6TestInput `shouldBe` "easter"

      it "should return correct val for day 6 input" $ do
        decode mostCommon day6Input `shouldBe` "qrqlznrl"

      it "should return correct val for test input least common" $ do
        decode leastCommon day6TestInput `shouldBe` "advent"

      it "should return correct val for day 6 input least common" $ do
        decode leastCommon day6Input `shouldBe` "kgzdfaon"

main :: IO ()
main = hspec spec

day6TestInput = [
  "eedadn",
  "drvtee",
  "eandsr",
  "raavrd",
  "atevrs",
  "tsrnev",
  "sdttsa",
  "rasrtv",
  "nssdts",
  "ntnada",
  "svetve",
  "tesnvt",
  "vntsnd",
  "vrdear",
  "dvrsen",
  "enarar"]

day6Input = [
  "blrqqadw",
  "hxwteava",
  "xtzzneor",
  "ufydaiyx",
  "hhvcoozu",
  "nbbvuvmd",
  "usvdcalw",
  "rpntrbyo",
  "kgjholvo",
  "nlohafzu",
  "gxmifiuy",
  "xndolmhm",
  "zmtsfmtq",
  "wkdzmogx",
  "aogqflji",
  "uphmjtnl",
  "jkqognlw",
  "mdzsbrij",
  "zyxolasw",
  "kvdyikgy",
  "xpxgmuqq",
  "viuoqyap",
  "simgbmca",
  "qxcjewnz",
  "ivwoedjr",
  "mlmzozlr",
  "jmyallmm",
  "oeecmjte",
  "miuvzeww",
  "qtfsiigb",
  "lstgpdfp",
  "pevoamxy",
  "mjtpbedv",
  "ugbasbgg",
  "idcnuhtx",
  "wwhcrxdr",
  "prrugmrq",
  "npoiywvw",
  "zpkohigv",
  "wngoczfk",
  "gxnmxano",
  "cbacsmte",
  "meclajtf",
  "zhztflqy",
  "grqqlecu",
  "qjbzsptn",
  "ebagoidi",
  "egegrnyh",
  "jccwkqle",
  "ikkwrzqt",
  "nedkjwhf",
  "vildwwrp",
  "ugrejotn",
  "kdajfbqw",
  "gyiwhxpd",
  "eemhkuwh",
  "jvfhoiqi",
  "wsgyaiip",
  "jzjvagvv",
  "lqupczes",
  "fetfptqt",
  "msmlbgcf",
  "iukfpgrm",
  "ctymfjpj",
  "rbrpmkvx",
  "glooxgap",
  "scctgiai",
  "lakkjuyk",
  "gaekimfl",
  "bhfaybki",
  "qaiazzpf",
  "dwqkvsee",
  "fuhbygkt",
  "zhkggelc",
  "haigokzn",
  "jpuangaj",
  "tpunltos",
  "izqxnhhd",
  "oeyxnqkn",
  "vzvelmik",
  "ddnaozap",
  "mdlhkdlu",
  "oglyexnm",
  "mcgxswpe",
  "jzkjknxc",
  "gfqnuhfs",
  "ztnxzwng",
  "bnuxixlk",
  "vmumdwec",
  "kuxxbcbv",
  "vdcfhyso",
  "qtdesxqr",
  "qciljohn",
  "qqlluqzz",
  "njhvvqbw",
  "knakngrj",
  "pradgsbt",
  "koffjwwy",
  "tvrkgjql",
  "mqtxerte",
  "smigupym",
  "bxxvoskx",
  "jerbindg",
  "snlgnowp",
  "qsuxtdsu",
  "fnpexyoa",
  "ffwifdad",
  "mvgrpczm",
  "oxszzrsb",
  "pxefzlch",
  "mcgbeauh",
  "neseoapm",
  "iwnulsrv",
  "zhinoifi",
  "lfmjmmtk",
  "fsxcqurn",
  "gmkkhfuh",
  "nuqeimxo",
  "uvjdgkdo",
  "ohtmvkcu",
  "albuiptc",
  "piaihrgr",
  "fjviblws",
  "qotlvddl",
  "gchijkjr",
  "azzrnqhy",
  "xrynrbck",
  "pdvkcekk",
  "thscvzai",
  "eoapfznw",
  "hpgoissz",
  "ifnesaoy",
  "eniqycje",
  "hmjmghcp",
  "sfyrvbbi",
  "tuxcoidt",
  "icysmkcf",
  "ycagvtls",
  "dohqfcgc",
  "taitvkzk",
  "bblnroyh",
  "grdklrua",
  "qpijbooa",
  "pcwtjacj",
  "mrvxbefl",
  "oodwrtvj",
  "xosqbcie",
  "zbquakff",
  "ypwpamng",
  "rpfbkssq",
  "fctgmcav",
  "hdtcdfcf",
  "ctboapkz",
  "qypakerm",
  "vebdtsmq",
  "cyxqtbtt",
  "dcnpkmnu",
  "hnjppwfo",
  "gqmfdahb",
  "hxiqcrbe",
  "rpxazkak",
  "nmtraoky",
  "sisqtogo",
  "oycwooev",
  "lmmitjey",
  "rytzptco",
  "waatgjdu",
  "khsuxyse",
  "cxjltfxn",
  "eedsmcld",
  "fngdicwe",
  "lkomchdq",
  "ulvabpoz",
  "oyhjvimr",
  "dpyexiwi",
  "wjfzkbbv",
  "ihohnaxx",
  "ajxfefrv",
  "bplrrpcz",
  "rtamodoq",
  "slwrcibk",
  "sgwdtumz",
  "vlemhplz",
  "dnpkqvad",
  "ytolejsa",
  "ojevrxsc",
  "bgbmnvyv",
  "lmrousup",
  "yyubvohm",
  "bqaqltmt",
  "vfbzzthz",
  "ylehjmop",
  "exddqqwo",
  "xqfxejzq",
  "myyuypku",
  "zyvmvbla",
  "cnpquvbp",
  "yaxdddeq",
  "cnrjqdra",
  "lwphgfgf",
  "zqdbcnmn",
  "qelivdwx",
  "wpnwomgu",
  "xzephbpa",
  "yghrabgr",
  "pnjsyhth",
  "okdznczw",
  "urwcwwfm",
  "hjrsrrzk",
  "foklmzqs",
  "mjldwaun",
  "dabalbmb",
  "jmtqvwst",
  "uhtzixah",
  "blclhmjf",
  "wilsnjwb",
  "qeeriszr",
  "vbfagerv",
  "afegxkkh",
  "zwzausdd",
  "ysfgzvbw",
  "ymjlmnmz",
  "rnrbxnij",
  "ihvhqtvk",
  "ofwrugbp",
  "ontvlhfu",
  "sfjgpqpx",
  "oyzkaiyl",
  "xfmvkfkh",
  "pqpeeptl",
  "jdyueahx",
  "plghatyl",
  "yrdizope",
  "lrurgkqw",
  "xdqtlmww",
  "dkaiotxb",
  "iegjcmln",
  "iupoupxa",
  "zrepcilx",
  "tpewzoxi",
  "munsmbpj",
  "fvhsucvb",
  "rlwchfml",
  "kcmlbubj",
  "jnhurapr",
  "dflwxeii",
  "wtypbujm",
  "jivypmpr",
  "argvlhnz",
  "acyvvplf",
  "naqafzfw",
  "ngepfsju",
  "xfpuwtji",
  "pqgkxbmj",
  "oeygjbxs",
  "evoydkqq",
  "nhuoohdi",
  "wrznguek",
  "ssirmkbq",
  "ackhglvh",
  "egszqozo",
  "rhnhhxul",
  "mqabqvun",
  "yunlcuvd",
  "zklsneau",
  "itanrdqb",
  "pvxbkwoc",
  "rqbqjyuv",
  "ioxjpvqd",
  "pzkgsdej",
  "yklripsi",
  "iohazhoh",
  "umxxpdaw",
  "czfnfgxt",
  "xaxvkjjc",
  "qhgvdvaa",
  "iobwhxjq",
  "jwfwqqjs",
  "cbrfgjpp",
  "conpdlzv",
  "wbcmssue",
  "gyqkseid",
  "ozrzahxt",
  "rzowboce",
  "lhntmyie",
  "tlrcktzc",
  "lxmzpvku",
  "ckliqrdt",
  "qlmalosg",
  "ovvyxrnr",
  "gctjwzrl",
  "ooqvxzac",
  "dbdqzzly",
  "fpsjzuxx",
  "njndzgel",
  "hjfqofhh",
  "txhcpktf",
  "otceqnmc",
  "dduyepiz",
  "bsxdbzgs",
  "zklbicun",
  "rstnuwtg",
  "tasiqsbs",
  "wewnwuyn",
  "zvgkuxxp",
  "nxcmlrmx",
  "mizqhlnv",
  "xyxzfeca",
  "qkeuwzgi",
  "ajnzmfks",
  "ejszlxyc",
  "xzfggxpd",
  "jbooydts",
  "eisoqvuo",
  "hdfpevns",
  "alybbyrb",
  "yvpylcnz",
  "tdpcycrv",
  "kwptuqyw",
  "ncobyufk",
  "fclvkbek",
  "tgnfcfup",
  "vbcuaudl",
  "hublkdvy",
  "aoetzcyl",
  "fsiuwhbi",
  "eyolgmxh",
  "siptvnjn",
  "shvycepr",
  "ntrwmime",
  "dbdnbfyt",
  "bwluchce",
  "uigenqhy",
  "krxdyhap",
  "avycqglh",
  "gguniqpm",
  "wcwzelyd",
  "wzurdris",
  "rmhstxuj",
  "vuaozvvq",
  "bsdgqrpx",
  "twnvkunt",
  "nqgqtugs",
  "vzkvghwg",
  "ypceflob",
  "dsyzunmb",
  "kvhacqqr",
  "ozlfwkjl",
  "pyznytxd",
  "ykdkbfgf",
  "eajwdyia",
  "bhkxsxcc",
  "vytpdoop",
  "ibpypdrh",
  "dkkjnwng",
  "lxwkkldf",
  "nbtckkoy",
  "qtjyffvl",
  "sbitpceb",
  "sxmhbcuy",
  "zorovlxd",
  "bazreact",
  "cwzggemu",
  "uowhquji",
  "eijszbmy",
  "aarneovu",
  "grhvjqyo",
  "fzheiyvq",
  "nzsdrlli",
  "wfsdwsok",
  "wrqjuygq",
  "ggpffnri",
  "wkycrfjm",
  "drksyjxn",
  "smuhwcxa",
  "iabdvvyj",
  "esidunjn",
  "decnfzwl",
  "ysihdzkf",
  "zokmsjgk",
  "pxuddjdo",
  "uemyoegc",
  "glqycmsw",
  "fvfkqzdu",
  "mhotjpqc",
  "pfyuopbx",
  "tibutsqb",
  "krzcqnkv",
  "djqpmsmb",
  "vbufrshp",
  "mmzsrikm",
  "zkjbrtoo",
  "uopielbd",
  "jmketnly",
  "raomwphg",
  "uwocphkf",
  "lvktwagm",
  "lqmorzgf",
  "rihrgrdp",
  "cnbuplfg",
  "hwfjvxcj",
  "sfgptuic",
  "ixkimxsx",
  "kfpicnix",
  "tvpybbrf",
  "navehxpr",
  "rwbcttbq",
  "obqcxwjd",
  "fuiskmfg",
  "xcvfxoeh",
  "tsmaaoyx",
  "qjhiyeex",
  "qwfxiyxq",
  "ctkyxatm",
  "hyxhsvmy",
  "puknicfi",
  "hbwzmyks",
  "uczqlycu",
  "wkywzgqs",
  "kzfehffd",
  "aoooehdc",
  "lnijvgrg",
  "aedbnxzk",
  "lusvnger",
  "ltpbpgiq",
  "aypxjgwo",
  "lgejygmw",
  "auqexwja",
  "fwszagnq",
  "aiafpduf",
  "lyltmest",
  "agtasqwl",
  "fqrlliiw",
  "udarpyjv",
  "kxotyded",
  "aodevwdt",
  "lmmfarbx",
  "snjwogeo",
  "ehfmpymn",
  "yahfaxeo",
  "xudbdnog",
  "rrkxhhsy",
  "hdxadfck",
  "dmnujkng",
  "cujvjtry",
  "srwxylvi",
  "dwohbywb",
  "cvspfupf",
  "czvvjhfw",
  "wvyjwtzz",
  "vfooqywj",
  "bmulxlpz",
  "hbukjylo",
  "bdhsvgdg",
  "vnrrqyue",
  "hjveswxf",
  "yxgzdjwn",
  "byonsarh",
  "edbmtqyz",
  "owvunnfp",
  "wfqqsuyj",
  "cwckbkwt",
  "plesmdky",
  "pzatdacm",
  "nqfyxhij",
  "jjwqitsc",
  "tejffykk",
  "yllyznoo",
  "kkqhuqlc",
  "hxchsqos",
  "buvmceha",
  "kbzymzrl",
  "kiemcigv",
  "txmjfujf",
  "vfnystic",
  "kvaiybnq",
  "ztrwxszz",
  "wiyawlfm",
  "sgedycpx",
  "isafnieb",
  "bpspuqvx",
  "fqjtxrtb",
  "bgjdrvhb",
  "mnsbgbhe",
  "jpsqcfzz",
  "fpumugea",
  "qqutezwg",
  "eoabntsw",
  "tupqchzt",
  "ezwjasja",
  "rsguwrqg",
  "cqzcijqd",
  "rhxlhksr",
  "vcwlknrc",
  "eiqbcafb",
  "lwzbrrtr",
  "aomiovcj",
  "ujxshcar",
  "fbpjehma",
  "bgdphfwg",
  "iukvlxvq",
  "ptawvjzy",
  "styyqrqd",
  "itobtfvm",
  "yqnpsyha",
  "vkwfaykp",
  "zwpoxkzx",
  "uqwasoht",
  "tkgfmnvj",
  "xkilydvt",
  "xlmkpdaz",
  "xfvukjte",
  "yyzpwped",
  "xzxwnrlm",
  "ausmhunn",
  "qgiiljhq",
  "njqhxprl",
  "fgfxiphp",
  "kkzjpuur",
  "dcqixesl",
  "tthldwgg",
  "nkjxnttn",
  "cjtiiltj",
  "drlzddsv",
  "xxluiael",
  "kjjsewia",
  "danhtpxa",
  "edexzcqw",
  "mrqewvuh",
  "opwtwbbt",
  "rdbsaeke",
  "viistwnj",
  "llcndvsm",
  "jeejjqyb",
  "hstekias",
  "gmswtskg",
  "qhdktszo",
  "ptbryiff",
  "jrtlgbag",
  "gjbbbfnu",
  "uirwdwzh",
  "esmntxej",
  "vdcmrenk",
  "tagtsvaz",
  "hnewrron",
  "zydwkvuh",
  "zscfhzxk",
  "sazgunom",
  "gqcxdowc",
  "twmxtniu",
  "wfblhfiv",
  "barpdrob",
  "jwjrnqhv",
  "xvnysjvz",
  "jvsftvqs",
  "jivuhphv",
  "grbezkpe",
  "xuolyqis",
  "smuxlqpu",
  "rticwcrh",
  "huzyzxul",
  "pgqawldg",
  "mdcgejab",
  "rlrgwpfo",
  "uqhvyglu",
  "csinjsjy",
  "ydorfrud",
  "gmcnjnbr",
  "qzvizjbt",
  "vejkuvii",
  "uhfrombz",
  "clgrjlys"]
