implemented addGameStats
This commit is contained in:
parent
9e855d9672
commit
f9e7710122
|
@ -99,6 +99,7 @@ module Mtlstats.Types (
|
||||||
gameTied,
|
gameTied,
|
||||||
-- ** GameStats Helpers
|
-- ** GameStats Helpers
|
||||||
gmsPoints,
|
gmsPoints,
|
||||||
|
addGameStats,
|
||||||
-- ** Player Helpers
|
-- ** Player Helpers
|
||||||
pPoints
|
pPoints
|
||||||
) where
|
) where
|
||||||
|
@ -512,6 +513,14 @@ gameTied gs = (==) <$> gs^.homeScore <*> gs^.awayScore
|
||||||
gmsPoints :: GameStats -> Int
|
gmsPoints :: GameStats -> Int
|
||||||
gmsPoints gs = 2 * gs^.gmsWins + gs^. gmsOvertime
|
gmsPoints gs = 2 * gs^.gmsWins + gs^. gmsOvertime
|
||||||
|
|
||||||
|
-- | Adds two 'GameStats' values together
|
||||||
|
addGameStats :: GameStats -> GameStats -> GameStats
|
||||||
|
addGameStats s1 s2 = GameStats
|
||||||
|
{ _gmsWins = s1^.gmsWins + s2^.gmsWins
|
||||||
|
, _gmsLosses = s1^.gmsLosses + s2^.gmsLosses
|
||||||
|
, _gmsOvertime = s1^.gmsOvertime + s2^.gmsOvertime
|
||||||
|
}
|
||||||
|
|
||||||
-- | Calculates a player's points
|
-- | Calculates a player's points
|
||||||
pPoints :: PlayerStats -> Int
|
pPoints :: PlayerStats -> Int
|
||||||
pPoints s = s^.psGoals + s^.psAssists
|
pPoints s = s^.psGoals + s^.psAssists
|
||||||
|
|
|
@ -47,6 +47,7 @@ spec = describe "Mtlstats.Types" $ do
|
||||||
gameLostSpec
|
gameLostSpec
|
||||||
gameTiedSpec
|
gameTiedSpec
|
||||||
gmsPointsSpec
|
gmsPointsSpec
|
||||||
|
addGameStatsSpec
|
||||||
pPointsSpec
|
pPointsSpec
|
||||||
Menu.spec
|
Menu.spec
|
||||||
|
|
||||||
|
@ -341,6 +342,30 @@ gmsPointsSpec = describe "gmsPoints" $ mapM_
|
||||||
, ( 2, 4, 3, 7 )
|
, ( 2, 4, 3, 7 )
|
||||||
]
|
]
|
||||||
|
|
||||||
|
addGameStatsSpec :: Spec
|
||||||
|
addGameStatsSpec = describe "addGameStats" $
|
||||||
|
it "should add the values" $ let
|
||||||
|
|
||||||
|
s1 = GameStats
|
||||||
|
{ _gmsWins = 1
|
||||||
|
, _gmsLosses = 3
|
||||||
|
, _gmsOvertime = 2
|
||||||
|
}
|
||||||
|
|
||||||
|
s2 = GameStats
|
||||||
|
{ _gmsWins = 4
|
||||||
|
, _gmsLosses = 6
|
||||||
|
, _gmsOvertime = 5
|
||||||
|
}
|
||||||
|
|
||||||
|
expected = GameStats
|
||||||
|
{ _gmsWins = 5
|
||||||
|
, _gmsLosses = 9
|
||||||
|
, _gmsOvertime = 7
|
||||||
|
}
|
||||||
|
|
||||||
|
in addGameStats s1 s2 `shouldBe` expected
|
||||||
|
|
||||||
pPointsSpec :: Spec
|
pPointsSpec :: Spec
|
||||||
pPointsSpec = describe "pPoints" $ mapM_
|
pPointsSpec = describe "pPoints" $ mapM_
|
||||||
(\(goals, assists, points) -> let
|
(\(goals, assists, points) -> let
|
||||||
|
|
Loading…
Reference in New Issue
Block a user