public void GetNextPlayer_ExpiredSession_ReturnsNull() { var key = Guid.NewGuid(); var fakeSession = new Session(); fakeSession.Key = key; fakeSession.StartDate = DateTime.MinValue; fakeSession.ExpirationDate = DateTime.MinValue; var fakeContext = LogicalHelpers.GetSimpleSessionContext(fakeSession); var logic = new GameplayLayer(fakeContext.Object, fakeSession.Key); var player = logic.GetNextPlayerKey(); Assert.IsNull(player); }
public void GetNextPlayer_NewSession_ReturnsFirstPlayer() { var key = Guid.NewGuid(); var firstPlayer = new PlayerEntity() { Key = Guid.NewGuid() }; var fakeSession = new Session(); fakeSession.Key = key; fakeSession.StartDate = DateTime.MinValue; fakeSession.ExpirationDate = DateTime.MaxValue; fakeSession.Players = new List<PlayerEntity>() { firstPlayer }; var fakeContext = LogicalHelpers.GetSimpleSessionContext(fakeSession); var logic = new GameplayLayer(fakeContext.Object, fakeSession.Key); Guid? playerKey = logic.GetNextPlayerKey(); Assert.AreEqual(firstPlayer.Key, playerKey.Value); }
public void GetNextPlayer_SinglePlayedSetPlayed_ReturnsFirstPlayer() { var sessionKey = Guid.NewGuid(); var firstPlayer = new PlayerEntity() { Key = Guid.NewGuid(), Id = 1, }; var secondPlayer = new PlayerEntity() { Key = Guid.NewGuid(), Id = 2 }; var firstSet = new PlayedSet() { PlayedBy = firstPlayer, PlayedById = firstPlayer.Id }; var fakeSession = new Session(); fakeSession.Key = sessionKey; fakeSession.StartDate = DateTime.MinValue; fakeSession.ExpirationDate = DateTime.MaxValue; fakeSession.Players = new List<PlayerEntity>() { firstPlayer, secondPlayer }; fakeSession.PlayedSet = new List<PlayedSet>() { firstSet }; fakeSession.PlayerOrder = new List<PlayerOrder>() { new PlayerOrder() { Player = firstPlayer, Value = 0, PlayerId = firstPlayer.Id }, new PlayerOrder{ Player = secondPlayer, Value = 1, PlayerId = secondPlayer.Id } }; var fakeContext = LogicalHelpers.GetSimpleSessionContext(fakeSession); var logic = new GameplayLayer(fakeContext.Object, fakeSession.Key); Guid? nextPlayerKey = logic.GetNextPlayerKey(); Assert.AreEqual(secondPlayer.Key, nextPlayerKey.Value); }