Ugly day 6 solution
This commit is contained in:
35
test/Day6Spec.hs
Normal file
35
test/Day6Spec.hs
Normal file
@@ -0,0 +1,35 @@
|
||||
module Day6Spec (spec) where
|
||||
|
||||
import Test.Hspec
|
||||
import Day6
|
||||
|
||||
spec :: Spec
|
||||
spec =
|
||||
describe "Day6" $ do
|
||||
describe "Part1" $ do
|
||||
it "finds unique lists" $ do
|
||||
isUnique "abc" `shouldBe` True
|
||||
isUnique "abca" `shouldBe` False
|
||||
isUnique "cabc" `shouldBe` False
|
||||
it "finds the marker in the next iteration" $ do
|
||||
findMarker' 4 3 "abc" "d" `shouldBe` Just 4
|
||||
findMarker' 4 4 "bcd" "e" `shouldBe` Just 5
|
||||
it "finds nothing if nothing is there" $ do
|
||||
findMarker "abcb" `shouldBe` Nothing
|
||||
findMarker "abcabcb" `shouldBe` Nothing
|
||||
it "finds the marker in the beginning" $ do
|
||||
findMarker "abcd" `shouldBe` Just 4
|
||||
findMarker "aabcd" `shouldBe` Just 5
|
||||
it "finds a marker" $ do
|
||||
findMarker "mjqjpqmgbljsphdztnvjfqwrcgsmlb"`shouldBe` Just 7
|
||||
findMarker "bvwbjplbgvbhsrlpgdmjqwftvncz" `shouldBe` Just 5
|
||||
findMarker "nppdvjthqldpwncqszvftbrmjlhg" `shouldBe` Just 6
|
||||
findMarker "nznrnfrfntjfmvfwmzdfjlvtqnbhcprsg" `shouldBe` Just 10
|
||||
findMarker "zcfzfwzzqfrljwzlrfnpqdbhtmscgvjw" `shouldBe` Just 11
|
||||
describe "Part 2" $ do
|
||||
it "finds start of message marker" $ do
|
||||
findStart "mjqjpqmgbljsphdztnvjfqwrcgsmlb"`shouldBe` Just 19
|
||||
findStart "bvwbjplbgvbhsrlpgdmjqwftvncz" `shouldBe` Just 23
|
||||
findStart "nppdvjthqldpwncqszvftbrmjlhg" `shouldBe` Just 23
|
||||
findStart "nznrnfrfntjfmvfwmzdfjlvtqnbhcprsg" `shouldBe` Just 29
|
||||
findStart "zcfzfwzzqfrljwzlrfnpqdbhtmscgvjw" `shouldBe` Just 26
|
||||
Reference in New Issue
Block a user