Skip to content
LibTest.hs 623 B
Newer Older
import Lib
import qualified Data.Sequence as S
import qualified Data.Foldable as F
import Test.Hspec

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

main :: IO ()
main = hspec $ do
  describe "boundedPushRight" $ do
    it "should work" $ do
      let buf = S.empty :: S.Seq Int

      let buf1 = boundedPushRight buf 3 1
      F.toList buf1 `shouldBe` [1]

      let buf2 = boundedPushRight buf1 3 2
      F.toList buf2 `shouldBe` [1, 2]

      let buf3 = boundedPushRight buf2 3 3
      F.toList buf3 `shouldBe` [1, 2, 3]

      let buf4 = boundedPushRight buf3 3 4
      F.toList buf4 `shouldBe` [2, 3, 4]