packages feed

supplemented-0.5.0.1: test/Main.hs

module Main where

import Rebase.Prelude hiding (takeWhile)
import Test.Tasty
import Test.Tasty.Runners
import Test.Tasty.HUnit
import Supplemented


main =
  defaultMain $
  testGroup "All tests"
  [
    testCase "Supplements unite" $
    let
      result :: [Int]
      result =
        execWriter $
        runSupplemented $
        do
          essence (tell (pure 1))
          supplement (tell (pure 2))
          essence (tell (pure 3))
          supplement (tell (pure 4))
          supplement (tell (pure 5))
          pure ()
          supplement (tell (pure 6))
      in assertEqual (show result) [1, 2, 3] result
  ]