Skip to content
MainHelperTest.hs 1004 B
Newer Older
import MainHelper (CallHistory(..), newUniqueCallHistory)

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 "newUniqueCallHistory" $ do
    it "should work" $ do
      let buf = S.empty:: S.Seq CallHistory

      let buf1 = newUniqueCallHistory buf 1 $ CallHistory "time1" "ip1" "ua1"
      F.toList buf1 `shouldBe` [ CallHistory "time1" "ip1" "ua1" ]

      let buf2 = newUniqueCallHistory buf1 1 $ CallHistory "time2" "ip1" "ua1"
      F.toList buf2 `shouldBe` [ CallHistory "time2" "ip1" "ua1" ]

      let buf3 = newUniqueCallHistory buf1 2 $ CallHistory "time3" "ip2" "ua2"
      F.toList buf3 `shouldBe` [ CallHistory "time1" "ip1" "ua1"
                               , CallHistory "time3" "ip2" "ua2" ]

      let buf4 = newUniqueCallHistory buf1 1 $ CallHistory "time3" "ip2" "ua2"
      F.toList buf4 `shouldBe` [ CallHistory "time3" "ip2" "ua2" ]