1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
{-# LANGUAGE RecordWildCards #-}
module Test.Hspec.Core.Runner.ResultSpec (spec) where
import Prelude ()
import Helper
import Test.Hspec.Core.Format
import Test.Hspec.Core.Runner.Result
spec :: Spec
spec = do
describe "Summary" $ do
let
summary :: Summary
summary = toSummary $ toSpecResult [item Success, item failure]
it "can be deconstructed via accessor functions" $ do
(summaryExamples &&& summaryFailures) summary `shouldBe` (2, 1)
it "can be deconstructed via pattern matching" $ do
let Summary examples failures = summary
(examples, failures) `shouldBe` (2, 1)
it "can be deconstructed via RecordWildCards" $ do
let Summary{..} = summary
(summaryExamples, summaryFailures) `shouldBe` (2, 1)
describe "specResultSuccess" $ do
context "when all spec items passed" $ do
it "returns True" $ do
specResultSuccess (toSpecResult [item Success]) `shouldBe` True
context "with a failed spec item" $ do
it "returns False" $ do
specResultSuccess (toSpecResult [item Success, item failure]) `shouldBe` False
context "with an empty result list" $ do
it "returns True" $ do
specResultSuccess (toSpecResult []) `shouldBe` True
where
failure = Failure Nothing NoReason
item result = (([], ""), Item Nothing 0 "" result)
|