Sha256: a856ada4a89d8c5f61b9077caae58b93a4a589e7e5387199041bf2e69b538376
Contents?: true
Size: 1.06 KB
Versions: 165
Compression:
Stored size: 1.06 KB
Contents
{-# OPTIONS_GHC -fno-warn-type-defaults #-} import Data.Foldable (for_) import Test.Hspec (Spec, describe, it, shouldBe) import Test.Hspec.Runner (configFastFail, defaultConfig, hspecWith) import Triangle (rows) main :: IO () main = hspecWith defaultConfig {configFastFail = True} specs specs :: Spec specs = describe "pascals-triangle" $ describe "rows" $ for_ rowsCases rowsTest where rowsTest (description, n, expected) = it description assertion where assertion = rows n `shouldBe` expected -- Test cases adapted from `exercism/x-common` on 2016-09-14. rowsCases = [ ("no rows" , 0, [ ]) , ("single row" , 1, [[1] ]) , ("two rows" , 2, [[1], [1, 1] ]) , ("three rows" , 3, [[1], [1, 1], [1, 2, 1] ]) , ("four rows" , 4, [[1], [1, 1], [1, 2, 1], [1, 3, 3, 1]]) , ("negative rows",-1, [ ]) ]
Version data entries
165 entries across 165 versions & 1 rubygems