1234567891011121314151617181920212223242526272829303132 |
- module Day6Spec (spec) where
-
- import Test.Hspec
- import Day6
- import qualified Data.Sequence as S
-
- spec :: Spec
- spec =
- describe "Day6" $ do
- describe "Part1" $ do
- it "finds the marker just after the beginning" $ do
- findEnd "aabcd" `shouldBe` Just 5
- it "finds the marker in the beginning" $ do
- findEnd "abcd" `shouldBe` Just 4
- findEnd "aabcd" `shouldBe` Just 5
- it "finds nothing if nothing is there" $ do
- findEnd "abc" `shouldBe` Nothing
- findEnd "abcb" `shouldBe` Nothing
- findEnd "abcabcb" `shouldBe` Nothing
- it "finds a marker" $ do
- findEnd "mjqjpqmgbljsphdztnvjfqwrcgsmlb"`shouldBe` Just 7
- findEnd "bvwbjplbgvbhsrlpgdmjqwftvncz" `shouldBe` Just 5
- findEnd "nppdvjthqldpwncqszvftbrmjlhg" `shouldBe` Just 6
- findEnd "nznrnfrfntjfmvfwmzdfjlvtqnbhcprsg" `shouldBe` Just 10
- findEnd "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
|