public void GetScore_GameInInitialState_GetsLoveForEveryone() { var game = TestGameFactory.CreateDefault(); var score = game.GetGameScore(); Assert.Equal(State.Normal, score.GameState); Assert.Equal(Score.Love, score.PlayerA); Assert.Equal(Score.Love, score.PlayerB); }
public void PromoteScore_GameInInlineDataState_FollowsScoreSequence(Score init, Score expected) { var game = TestGameFactory.Create(playerA: init); game.PromoteScore(Player.A); var score = game.GetGameScore(); Assert.Equal(expected, score.PlayerA); }
public void GetScore_GameInInlineDataState_GetsInlineDatatState(Score playerA, Score playerB, State state) { var game = TestGameFactory.Create(playerA: playerA, playerB: playerB); var score = game.GetGameScore(); Assert.Equal(state, score.GameState); Assert.Equal(playerA, score.PlayerA); Assert.Equal(playerB, score.PlayerB); }
public void PromoteScore_GameInInitialState_PromotesPlayerBScore() { var game = TestGameFactory.CreateDefault(); game.PromoteScore(Player.B); var score = game.GetGameScore(); Assert.Equal(Score.Love, score.PlayerA); Assert.Equal(Score.Fifteen, score.PlayerB); }
public void PromoteScore_GameInDeuceState_PromotesPlayerAndGameToAdvantageState() { var game = TestGameFactory.Create(playerA: Score.Forty, playerB: Score.Forty); game.PromoteScore(Player.A); var score = game.GetGameScore(); Assert.Equal(State.Advantage, score.GameState); Assert.Equal(Score.FortyWithAdvantage, score.PlayerA); Assert.Equal(Score.Forty, score.PlayerB); }
public void PromoteScore_GameInThirtyFourtyState_PromotesGameToDeuceState() { var game = TestGameFactory.Create(playerA: Score.Thirty, playerB: Score.Forty); game.PromoteScore(Player.A); var score = game.GetGameScore(); Assert.Equal(State.Deuce, score.GameState); Assert.Equal(Score.Forty, score.PlayerA); Assert.Equal(Score.Forty, score.PlayerB); }
public void PromoteScore_GameInWonState_ThrowsExceptionWhenPromote() { var game = TestGameFactory.Create(playerA: Score.Won, playerB: Score.Forty); Assert.Throws <InvalidOperationException>(() => game.PromoteScore(Player.A)); }