Sha256: a534922dfb0fe0b24e954835e6d784357acf9522fdc1b7c5b860c8d4eff27f7a

Contents?: true

Size: 1.13 KB

Versions: 47

Compression:

Stored size: 1.13 KB

Contents

module Test.Main where

import Prelude
import Control.Monad.Eff (Eff)
import Test.Unit (suite, test)
import Test.Unit.Main (runTest)
import Test.Unit.Assert as Assert
import Data.List (List(Nil), fromFoldable)
import Data.String as String
import Accumulate (accumulate)


main :: Eff _ Unit
main = runTest do
  suite "Accumulate.accumulate" do
    test "empty accumulation" $
      let
        emptyList = (Nil :: List Int)
      in
        Assert.equal emptyList $
          accumulate square emptyList

    test "accumulate single square" $
      Assert.equal (fromFoldable [4]) $
        accumulate square (fromFoldable [2])

    test "accumulate squares" $
      Assert.equal (fromFoldable [1, 4, 9]) $
        accumulate square (fromFoldable [1, 2, 3])

    test "accumulate upcases" $
      Assert.equal (fromFoldable ["HELLO", "WORLD"]) $
        accumulate String.toUpper (fromFoldable ["hello", "world"])

    test "accumulate length of strings" $
      Assert.equal (fromFoldable [3, 5, 5, 3, 3]) $
        accumulate String.length (fromFoldable ["the", "quick", "brown", "fox", "etc"])


square :: forall a. (Semiring a) => a -> a
square x = x * x

Version data entries

47 entries across 47 versions & 1 rubygems

Version Path
trackler-2.2.1.37 tracks/purescript/exercises/accumulate/test/Main.purs
trackler-2.2.1.36 tracks/purescript/exercises/accumulate/test/Main.purs
trackler-2.2.1.35 tracks/purescript/exercises/accumulate/test/Main.purs
trackler-2.2.1.34 tracks/purescript/exercises/accumulate/test/Main.purs
trackler-2.2.1.33 tracks/purescript/exercises/accumulate/test/Main.purs
trackler-2.2.1.32 tracks/purescript/exercises/accumulate/test/Main.purs
trackler-2.2.1.31 tracks/purescript/exercises/accumulate/test/Main.purs
trackler-2.2.1.30 tracks/purescript/exercises/accumulate/test/Main.purs
trackler-2.2.1.29 tracks/purescript/exercises/accumulate/test/Main.purs
trackler-2.2.1.28 tracks/purescript/exercises/accumulate/test/Main.purs
trackler-2.2.1.27 tracks/purescript/exercises/accumulate/test/Main.purs
trackler-2.2.1.26 tracks/purescript/exercises/accumulate/test/Main.purs
trackler-2.2.1.25 tracks/purescript/exercises/accumulate/test/Main.purs
trackler-2.2.1.24 tracks/purescript/exercises/accumulate/test/Main.purs
trackler-2.2.1.23 tracks/purescript/exercises/accumulate/test/Main.purs
trackler-2.2.1.22 tracks/purescript/exercises/accumulate/test/Main.purs
trackler-2.2.1.21 tracks/purescript/exercises/accumulate/test/Main.purs
trackler-2.2.1.20 tracks/purescript/exercises/accumulate/test/Main.purs
trackler-2.2.1.19 tracks/purescript/exercises/accumulate/test/Main.purs
trackler-2.2.1.18 tracks/purescript/exercises/accumulate/test/Main.purs