public void CanChangeTrumpShouldReturnFalseWhenThePlayerIsNotFirstAndTheStateDoesNotPermitChanging() { var haveStateMock = new Mock<IStateManager>(); var roundState = new StartRoundState(haveStateMock.Object); var canChangeTrump = ChangeTrumpActionValidator.CanChangeTrump(false, roundState, TrumpThatCanBeChanged, PlayerCards); Assert.IsFalse(canChangeTrump); }
public void CloneShouldReturnDifferentReference() { var haveStateMock = new Mock<IStateManager>(); var state = new StartRoundState(haveStateMock.Object); var playerTurnContext = new PlayerTurnContext(state, new Card(CardSuit.Heart, CardType.Queen), 12, 0, 0); var clonedPlayerTurnContext = playerTurnContext.DeepClone(); Assert.AreNotSame(playerTurnContext, clonedPlayerTurnContext); }
public void CloneShouldReturnObjectWithTheSameProperties() { var haveStateMock = new Mock<IStateManager>(); var state = new StartRoundState(haveStateMock.Object); var playerTurnContext = new PlayerTurnContext(state, new Card(CardSuit.Club, CardType.Ten), 12, 0, 0) { FirstPlayedCard = new Card(CardSuit.Spade, CardType.King), FirstPlayerAnnounce = Announce.Forty, SecondPlayedCard = new Card(CardSuit.Heart, CardType.Nine) }; var clonedPlayerTurnContext = playerTurnContext.DeepClone(); Assert.IsNotNull(clonedPlayerTurnContext); Assert.AreSame(playerTurnContext.State, clonedPlayerTurnContext.State); Assert.AreEqual(playerTurnContext.CardsLeftInDeck, clonedPlayerTurnContext.CardsLeftInDeck); Assert.AreEqual(playerTurnContext.FirstPlayedCard, clonedPlayerTurnContext.FirstPlayedCard); Assert.AreEqual(playerTurnContext.FirstPlayerAnnounce, clonedPlayerTurnContext.FirstPlayerAnnounce); Assert.AreEqual(playerTurnContext.SecondPlayedCard, clonedPlayerTurnContext.SecondPlayedCard); Assert.AreEqual(playerTurnContext.TrumpCard, clonedPlayerTurnContext.TrumpCard); }
public void InvalidClosingGameShouldBeEvaluatedCorrectly() { StartRoundState begin = new StartRoundState(new GameRound(new Player(), new Player(), PlayerPosition.FirstPlayer)); PlayerTurnContext context = new PlayerTurnContext(begin, new Card(CardSuit.Diamond, CardType.Jack), 12); PlayerAction action = new PlayerAction(PlayerActionType.CloseGame, new Card(CardSuit.Club, CardType.Nine), Announce.None); IList<Card> cards = new List<Card>() { new Card(CardSuit.Spade, CardType.Queen), new Card(CardSuit.Spade, CardType.King), new Card(CardSuit.Heart, CardType.Queen), new Card(CardSuit.Club, CardType.Ace), new Card(CardSuit.Club, CardType.Nine), new Card(CardSuit.Diamond, CardType.Nine) }; Assert.IsFalse(validator.IsValid(action, context, cards)); }
public void TestWrongChangeTrumpInTheBegining() { StartRoundState begin = new StartRoundState(new GameRound(new Player(), new Player(), PlayerPosition.FirstPlayer)); PlayerTurnContext context = new PlayerTurnContext(begin, new Card(CardSuit.Diamond, CardType.Jack), 12); PlayerAction action = new PlayerAction(PlayerActionType.ChangeTrump, new Card(CardSuit.Club, CardType.Nine), Announce.None); IList<Card> cards = new List<Card>() { new Card(CardSuit.Spade, CardType.Queen), new Card(CardSuit.Spade, CardType.King), new Card(CardSuit.Heart, CardType.Queen), new Card(CardSuit.Club, CardType.Ace), new Card(CardSuit.Club, CardType.Nine), new Card(CardSuit.Diamond, CardType.Nine) }; Assert.IsFalse(validator.IsValid(action, context, cards)); }