tracks/haskell/exercises/series/test/Tests.hs in trackler-2.0.0.3 vs tracks/haskell/exercises/series/test/Tests.hs in trackler-2.0.0.4

- old
+ new

@@ -1,7 +1,10 @@ {-# OPTIONS_GHC -fno-warn-type-defaults #-} +{-# LANGUAGE FlexibleContexts #-} +{-# LANGUAGE OverloadedStrings #-} +import GHC.Exts (toList) import Test.Hspec (Spec, describe, it, shouldBe) import Test.Hspec.Runner (configFastFail, defaultConfig, hspecWith) import Series (slices) @@ -9,25 +12,27 @@ main = hspecWith defaultConfig {configFastFail = True} specs specs :: Spec specs = describe "series" $ do - -- As of 2016-09-12, there was no reference file + -- As of 2016-11-08, there was no reference file -- for the test cases in `exercism/x-common`. + let x `shouldHaveSlices` yss = (map toList . toList) x `shouldBe` yss + it "slices of one" $ do - slices 1 "" `shouldBe` [] - slices 1 "01234" `shouldBe` [[0], [1], [2], [3], [4]] + slices 1 "" `shouldHaveSlices` [] + slices 1 "01234" `shouldHaveSlices` [[0], [1], [2], [3], [4]] it "slices of two" $ do - slices 2 "" `shouldBe` [] - slices 2 "01" `shouldBe` [[0,1]] - slices 2 "01234" `shouldBe` [[0,1], [1,2], [2,3], [3,4]] + slices 2 "" `shouldHaveSlices` [] + slices 2 "01" `shouldHaveSlices` [[0,1]] + slices 2 "01234" `shouldHaveSlices` [[0,1], [1,2], [2,3], [3,4]] it "slices of three" $ do - slices 3 "ab" `shouldBe` [] - slices 3 "012" `shouldBe` [[0,1,2]] - slices 3 "0123" `shouldBe` [[0,1,2], [1,2,3]] + slices 3 "ab" `shouldHaveSlices` [] + slices 3 "012" `shouldHaveSlices` [[0,1,2]] + slices 3 "0123" `shouldHaveSlices` [[0,1,2], [1,2,3]] it "slices of zero" $ do - slices 0 "" `shouldBe` [[]] - slices 0 "012" `shouldBe` [[]] + slices 0 "" `shouldHaveSlices` [[]] + slices 0 "012" `shouldHaveSlices` [[]]