From 4655cb37b938e63720181e59787d275958b6a8d3 Mon Sep 17 00:00:00 2001 From: Jonathan Lamothe Date: Thu, 14 Nov 2019 01:57:51 -0500 Subject: [PATCH] implemented editGoalieYtdLosses --- src/Mtlstats/Actions/EditGoalie.hs | 2 +- test/Actions/EditGoalieSpec.hs | 32 ++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/src/Mtlstats/Actions/EditGoalie.hs b/src/Mtlstats/Actions/EditGoalie.hs index 84925d5..1417f4d 100644 --- a/src/Mtlstats/Actions/EditGoalie.hs +++ b/src/Mtlstats/Actions/EditGoalie.hs @@ -90,7 +90,7 @@ editGoalieYtdLosses -- ^ The number of losses -> ProgState -> ProgState -editGoalieYtdLosses = undefined +editGoalieYtdLosses losses = editGoalie (gYtd.gsLosses .~ losses) EGYtd editGoalie :: (Goalie -> Goalie) -> EditGoalieMode -> ProgState -> ProgState editGoalie f mode s = fromMaybe s $ do diff --git a/test/Actions/EditGoalieSpec.hs b/test/Actions/EditGoalieSpec.hs index 3a788f7..13e03ab 100644 --- a/test/Actions/EditGoalieSpec.hs +++ b/test/Actions/EditGoalieSpec.hs @@ -37,6 +37,7 @@ spec = describe "EditGoalie" $ do editGoalieYtdMinsSpec editGoalieYtdGoalsSpec editGoalieYtdWinsSpec + editGoalieYtdLossesSpec editGoalieNumberSpec :: Spec editGoalieNumberSpec = describe "editGoalieNumber" $ editTest @@ -224,6 +225,37 @@ editGoalieYtdWinsSpec = describe "editGoalieYtdWins" $ editTest ) ] +editGoalieYtdLossesSpec :: Spec +editGoalieYtdLossesSpec = describe "editGoalieYtdLosses" $ editTest + (editGoalieYtdLosses 1) + EGYtdLosses + (\(num, name, losses) -> newGoalie num name & gYtd.gsLosses .~ losses) + [ ( "set Joe" + , Just 0 + , ( 2, "Joe", 1 ) + , ( 3, "Bob", 0 ) + , EGYtd + ) + , ( "set Bob" + , Just 1 + , ( 2, "Joe", 0 ) + , ( 3, "Bob", 1 ) + , EGYtd + ) + , ( "out of bounds" + , Just 2 + , ( 2, "Joe", 0 ) + , ( 3, "Bob", 0 ) + , EGYtdLosses + ) + , ( "no goalie selected" + , Nothing + , ( 2, "Joe", 0 ) + , ( 3, "Bob", 0 ) + , EGYtdLosses + ) + ] + editTest :: (ProgState -> ProgState) -> EditGoalieMode