packages feed

mockcat-1.4.0.0: test/Test/MockCat/Readme/QuickStartDemoSpec.hs

module Test.MockCat.Readme.QuickStartDemoSpec (spec) where

import Test.Hspec
import Test.MockCat

spec :: Spec
spec = do
  it "Quick Start Demo" $ do
    withMockIO $ do
      -- 1. モックを作成 ("Hello" を受け取ったら 42 を返す)
      --    同時に「1回呼ばれるはずだ」と期待を宣言
      f <- mock ("Hello" ~> (42 :: Int))
        `expects` called once

      -- 2. f "Hello" を呼び出し、42 を得る
      f "Hello" `shouldBe` 42

      -- 3. スコープを抜ける際、宣言した期待に対する検証が自動で行われる