packages feed

hw-conduit-0.2.0.0: test/HaskellWorks/Data/Conduit/CombinatorSpec.hs

module HaskellWorks.Data.Conduit.CombinatorSpec (spec) where

import           Data.Conduit
import           Data.Conduit.List                    as L
import           Data.Maybe
import           HaskellWorks.Data.Conduit.Combinator

import           Test.Hspec

{-# ANN module ("HLint: ignore Redundant do" :: String) #-}

spec :: Spec
spec = describe "HaskellWorks.Data.Conduit.CombinatorSpec" $ do
  describe "inJust" $ do
    it "should map when Just and propagate Nothing" $ do
      let input = [Just 1, Just 2, Nothing, Nothing, Just 4, Nothing] :: [Maybe Int]
      let results = runConduitPure $
                L.sourceList input
            .|  inJust (L.map (+1))
            .|  L.consume
      results `shouldBe` [Just 2, Just 3, Nothing, Nothing, Just 5, Nothing]