Sha256: efcab515443be9e3aaab0fe2c2d3c9abd17809f22396798b937741a90d5c24fd

Contents?: true

Size: 978 Bytes

Versions: 113

Compression:

Stored size: 978 Bytes

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 "rows" $ for_ rowsCases rowsTest
  where

    rowsTest (description, n, expected) = it description assertion
      where
        assertion = rows n `shouldBe` expected

    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

113 entries across 113 versions & 1 rubygems

Version Path
trackler-2.2.1.62 tracks/haskell/exercises/pascals-triangle/test/Tests.hs
trackler-2.2.1.61 tracks/haskell/exercises/pascals-triangle/test/Tests.hs
trackler-2.2.1.60 tracks/haskell/exercises/pascals-triangle/test/Tests.hs
trackler-2.2.1.59 tracks/haskell/exercises/pascals-triangle/test/Tests.hs
trackler-2.2.1.58 tracks/haskell/exercises/pascals-triangle/test/Tests.hs
trackler-2.2.1.57 tracks/haskell/exercises/pascals-triangle/test/Tests.hs
trackler-2.2.1.56 tracks/haskell/exercises/pascals-triangle/test/Tests.hs
trackler-2.2.1.55 tracks/haskell/exercises/pascals-triangle/test/Tests.hs
trackler-2.2.1.54 tracks/haskell/exercises/pascals-triangle/test/Tests.hs
trackler-2.2.1.53 tracks/haskell/exercises/pascals-triangle/test/Tests.hs
trackler-2.2.1.52 tracks/haskell/exercises/pascals-triangle/test/Tests.hs
trackler-2.2.1.51 tracks/haskell/exercises/pascals-triangle/test/Tests.hs
trackler-2.2.1.50 tracks/haskell/exercises/pascals-triangle/test/Tests.hs
trackler-2.2.1.49 tracks/haskell/exercises/pascals-triangle/test/Tests.hs
trackler-2.2.1.48 tracks/haskell/exercises/pascals-triangle/test/Tests.hs
trackler-2.2.1.47 tracks/haskell/exercises/pascals-triangle/test/Tests.hs
trackler-2.2.1.46 tracks/haskell/exercises/pascals-triangle/test/Tests.hs
trackler-2.2.1.45 tracks/haskell/exercises/pascals-triangle/test/Tests.hs
trackler-2.2.1.44 tracks/haskell/exercises/pascals-triangle/test/Tests.hs
trackler-2.2.1.43 tracks/haskell/exercises/pascals-triangle/test/Tests.hs