void New_game_can_be_started(string gameName, int numberOfPlayers, int expectedNumberOfStartingUnits, Guid gameId, GameSetup game, Dice dice) { var players = new Dictionary<Guid, string>(); var turnGuid = new Guid("41a8cd9a-3eab-4c92-92d1-ccc7917fe669"); "Given a game name" .Given(() => { }); "And a game Id" .And(() => gameId = Guid.NewGuid()); "And a number of players" .And(() => { for (var i = 0; i < numberOfPlayers; i++) { players.Add(Guid.NewGuid(), "Player" + i); } }); "And a dice" .And(() => dice = new Dice()); "When we start a game" .When(() => { var command = new StartGameSetup(gameId, gameName, players); game = new GameSetup(command, dice, () => turnGuid); }); "Then a game should be started with a number of players" .Then(() => { var @event = (GameSetupStarted)game.Events.Last(); @event.setupId.ShouldBe(gameId); @event.GameName.ShouldBe(gameName); @event.Players.Count.ShouldBe(numberOfPlayers); @event.NumberOfStartingInfantryUnits.ShouldBe(expectedNumberOfStartingUnits); @event.Board.ShouldNotBeNull(); players.Keys.ShouldContain(@event.StartingPlayerId); }); }
void New_game_can_be_started(string gameName, int numberOfPlayers, int expectedNumberOfStartingUnits, Guid gameId, GameSetup game, Dice dice) { var players = new Dictionary <Guid, string>(); var turnGuid = new Guid("41a8cd9a-3eab-4c92-92d1-ccc7917fe669"); "Given a game name" .Given(() => { }); "And a game Id" .And(() => gameId = Guid.NewGuid()); "And a number of players" .And(() => { for (var i = 0; i < numberOfPlayers; i++) { players.Add(Guid.NewGuid(), "Player" + i); } }); "And a dice" .And(() => dice = new Dice()); "When we start a game" .When(() => { var command = new StartGameSetup(gameId, gameName, players); game = new GameSetup(command, dice, () => turnGuid); }); "Then a game should be started with a number of players" .Then(() => { var @event = (GameSetupStarted)game.Events.Last(); @event.setupId.ShouldBe(gameId); @event.GameName.ShouldBe(gameName); @event.Players.Count.ShouldBe(numberOfPlayers); @event.NumberOfStartingInfantryUnits.ShouldBe(expectedNumberOfStartingUnits); @event.Board.ShouldNotBeNull(); players.Keys.ShouldContain(@event.StartingPlayerId); }); }
public void Consume(GameStarted e) { var command = new StartGameSetup(e.SetupGameId, e.GameId, e.GameName, e.Players); _dispatcher.Dispatch(command); }