public void EndRedrawWhileOpponentCanStillRedraw() { var redrawPlayer1Substate = new RedrawPlayerSubstate { UserId = 1, RedrawCardCount = 1 }; var game = new Game { State = new RedrawState { Substates = { redrawPlayer1Substate, new RedrawPlayerSubstate { UserId = 2, RedrawCardCount = 1 } } }, Players = { new Player { User = new User { Id = 1 }, }, new Player { User = new User { Id = 2 }, } } }; var command = new EndRedrawCardCommand { SenderUserId = 1 }; command.Execute(game); Assert.Null(command.NextState); Assert.Equal(0, redrawPlayer1Substate.RedrawCardCount); }
public void EndRedraw() { var redrawPlayer1Substate = new RedrawPlayerSubstate { UserId = 1, RedrawCardCount = 1 }; var game = new Game { State = new RedrawState { Substates = { redrawPlayer1Substate, new RedrawPlayerSubstate { UserId = 2, RedrawCardCount = 0 } } }, Players = { new Player { User = new User { Id = 1 }, }, new Player { User = new User { Id = 2 }, } } }; var command = new EndRedrawCardCommand { SenderUserId = 1 }; command.Execute(game); Assert.IsType(typeof(RoundState), command.NextState); Assert.Equal(0, redrawPlayer1Substate.RedrawCardCount); }