From 4848e54d81ccf62920c348329c841740aa6f8e9c Mon Sep 17 00:00:00 2001 From: Jonathan Lamothe Date: Thu, 28 Nov 2019 05:12:59 -0500 Subject: [PATCH] implemented goalieIsActive --- src/Mtlstats/Types.hs | 2 +- test/TypesSpec.hs | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/Mtlstats/Types.hs b/src/Mtlstats/Types.hs index 24a69d0..4cc65a1 100644 --- a/src/Mtlstats/Types.hs +++ b/src/Mtlstats/Types.hs @@ -989,4 +989,4 @@ goalieSummary g = g^.gName ++ " (" ++ show (g^.gNumber) ++ ")" -- | Determines whether or not a goalie has been active in the current -- season goalieIsActive :: Goalie -> Bool -goalieIsActive = undefined +goalieIsActive g = g^.gYtd.gsMinsPlayed /= 0 diff --git a/test/TypesSpec.hs b/test/TypesSpec.hs index 62005f3..a75e74a 100644 --- a/test/TypesSpec.hs +++ b/test/TypesSpec.hs @@ -78,6 +78,7 @@ spec = describe "Mtlstats.Types" $ do goalieSearchSpec goalieSearchExactSpec goalieSummarySpec + goalieIsActiveSpec Menu.spec playerSpec :: Spec @@ -753,6 +754,24 @@ goalieSummarySpec = describe "goalieSummary" $ it "should provide a summary string" $ goalieSummary (newGoalie 2 "Joe") `shouldBe` "Joe (2)" +goalieIsActiveSpec :: Spec +goalieIsActiveSpec = describe "goalieIsActive" $ mapM_ + (\(label, input, expected) -> context label $ + it ("should be " ++ show expected) $ + goalieIsActive input `shouldBe` expected) + + -- label, input, expected + [ ( "inactive", inactive, False ) + , ( "active", active, True ) + ] + + where + inactive = newGoalie 1 "Joe" + & gLifetime.gsMinsPlayed .~ 1 + + active = inactive + & gYtd.gsMinsPlayed .~ 1 + joe :: Player joe = newPlayer 2 "Joe" "center"