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]