implemented goalieName
This commit is contained in:
parent
8dcef502be
commit
e077c32956
|
@ -19,7 +19,7 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
-}
|
-}
|
||||||
|
|
||||||
module Mtlstats.Helpers.Goalie (goalieDetails) where
|
module Mtlstats.Helpers.Goalie (goalieDetails, goalieName) where
|
||||||
|
|
||||||
import Lens.Micro ((^.))
|
import Lens.Micro ((^.))
|
||||||
|
|
||||||
|
@ -46,3 +46,13 @@ goalieDetails g = let
|
||||||
]
|
]
|
||||||
|
|
||||||
in header ++ "\n" ++ body
|
in header ++ "\n" ++ body
|
||||||
|
|
||||||
|
-- | Returns the goalie name, modified if they are a rookie
|
||||||
|
goalieName :: Goalie -> String
|
||||||
|
goalieName g = let
|
||||||
|
|
||||||
|
suffix = if g^.gRookie
|
||||||
|
then "*"
|
||||||
|
else ""
|
||||||
|
|
||||||
|
in g^.gName ++ suffix
|
||||||
|
|
|
@ -22,14 +22,15 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
module Helpers.GoalieSpec (spec) where
|
module Helpers.GoalieSpec (spec) where
|
||||||
|
|
||||||
import Lens.Micro ((&), (.~), (%~))
|
import Lens.Micro ((&), (.~), (%~))
|
||||||
import Test.Hspec (Spec, describe, it, shouldBe)
|
import Test.Hspec (Spec, context, describe, it, shouldBe)
|
||||||
|
|
||||||
import Mtlstats.Helpers.Goalie
|
import Mtlstats.Helpers.Goalie
|
||||||
import Mtlstats.Types
|
import Mtlstats.Types
|
||||||
|
|
||||||
spec :: Spec
|
spec :: Spec
|
||||||
spec = describe "Goalie"
|
spec = describe "Goalie" $ do
|
||||||
goalieDetailsSpec
|
goalieDetailsSpec
|
||||||
|
goalieNameSpec
|
||||||
|
|
||||||
goalieDetailsSpec :: Spec
|
goalieDetailsSpec :: Spec
|
||||||
goalieDetailsSpec = describe "goalieDetails" $ let
|
goalieDetailsSpec = describe "goalieDetails" $ let
|
||||||
|
@ -67,3 +68,17 @@ goalieDetailsSpec = describe "goalieDetails" $ let
|
||||||
|
|
||||||
in it "should format the output correctly" $
|
in it "should format the output correctly" $
|
||||||
goalieDetails input `shouldBe` expected
|
goalieDetails input `shouldBe` expected
|
||||||
|
|
||||||
|
goalieNameSpec :: Spec
|
||||||
|
goalieNameSpec = describe "goalieName" $ mapM_
|
||||||
|
(\(label, g, expected) -> context label $
|
||||||
|
it ("should be " ++ expected) $
|
||||||
|
goalieName g `shouldBe` expected)
|
||||||
|
|
||||||
|
-- label, goalie, expected
|
||||||
|
[ ( "rookie", goalie True, "foo*" )
|
||||||
|
, ( "non-rookie", goalie False, "foo" )
|
||||||
|
]
|
||||||
|
|
||||||
|
where
|
||||||
|
goalie r = newGoalie 1 "foo" & gRookie .~ r
|
||||||
|
|
Loading…
Reference in New Issue
Block a user