public Colour GetPlayerTurn(Domain.Entities.Lobby lobby) { if (lobby.Rounds.Count % 2 == 0) { return(Colour.Blue); } return(Colour.Red); }
public void GetPlayerTurn_GivenNewGame_ShouldReturnBlue() { // arrange var lobby = new Domain.Entities.Lobby(); // action var playerTurn = new TurnLogic().GetPlayerTurn(lobby); // assert playerTurn.ShouldBe(Domain.Enumerations.Colour.Blue); }
public void GetPlayerTurn_AfterOneRound_ShouldReturnRed() { // arrange var lobby = new Domain.Entities.Lobby(); lobby.Rounds = new List <Round> { new Round() }; // action var playerTurn = new TurnLogic().GetPlayerTurn(lobby); // assert playerTurn.ShouldBe(Domain.Enumerations.Colour.Red); }
public Domain.Entities.Lobby Map(Data.Model.Lobby data) { var rounds = data.Rounds != null?JsonConvert.DeserializeObject <List <Data.Model.Round> >(data.Rounds) : new List <Data.Model.Round>(); var players = data.Players != null?JsonConvert.DeserializeObject <List <Data.Model.Player> >(data.Players) : new List <Data.Model.Player>(); var domain = new Domain.Entities.Lobby { }; domain.Players = players.Select(player => new Domain.Entities.Player { Name = player.PlayerName, Identifier = player.ConnectionId, PlayerId = 0, Connected = true }).ToList(); return(domain); }
public async Task <CreateGameResponse> Handle(CreateGameCommand request, CancellationToken cancellationToken) { var lobby = new Domain.Entities.Lobby(); _onitamaDbContext.Lobby.Add(lobby); lobby.RedCards = request?.RedCard.Select(card => (Card)card).ToList(); lobby.BlueCards = request?.BlueCard.Select(card => (Card)card).ToList(); lobby.NeutralCard = (Card)request.NeutralCard; await _onitamaDbContext.SaveChangesAsync(); var notification = new LobbyCreatedEvent { LobbyId = lobby.LobbyId }; await _mediator.Publish(notification); return(new CreateGameResponse { LobbyId = lobby.LobbyId }); }
public Data.Model.Lobby Map(Domain.Entities.Lobby domain) { var data = _mapper.Map <Data.Model.Lobby>(domain); return(data); }