public void IsValid_ShouldReturnTrue_IfPlayerActionIsChangeTrumpAndArgumentsAreCorrect() { var playerActionValidator = new PlayerActionValidator(); var deck = new Deck(); var stateManager = new StateManager(); var context = new PlayerTurnContext( new MoreThanTwoCardsLeftRoundState(stateManager), deck.TrumpCard, deck.CardsLeft, 30, 30); var testPlayerHand = new List <Card>() { new Card(CardSuit.Club, CardType.Queen), new Card(CardSuit.Diamond, CardType.King), new Card(CardSuit.Club, CardType.King), new Card(deck.TrumpCard.Suit, CardType.Nine) }; var playerActionCard = new Card(CardSuit.Club, CardType.King); var actualOutcome = playerActionValidator.IsValid( PlayerAction.ChangeTrump(), context, testPlayerHand); Assert.IsTrue(actualOutcome); }
public void IsValid_ShouldReturnFalse_IfPassedANullValue() { var playerActionValidator = new PlayerActionValidator(); var deck = new Deck(); var stateManager = new StateManager(); var context = new PlayerTurnContext( new StartRoundState(stateManager), deck.TrumpCard, deck.CardsLeft, 30, 30); var testPlayerHand = new List <Card>() { new Card(CardSuit.Club, CardType.Jack), new Card(CardSuit.Diamond, CardType.Nine) }; var playerActionCard = new Card(CardSuit.Diamond, CardType.Jack); var actualOutcome = playerActionValidator.IsValid( null, context, testPlayerHand); Assert.IsFalse(actualOutcome); }
//Implement correct test public void IsValid_WhenActionTypeIsPlayCard_ShouldReturnPlayCard() { var playerValidator = new PlayerActionValidator(); var playerAction = PlayerAction.PlayCard(new Card(CardSuit.Club, CardType.Jack)); var stateManager = new StateManager(); var trumpCard = new Card(CardSuit.Spade, CardType.Ace); var cardsLeftInDeck = 5; var fPlayerRoundPoints = 10; var sPlayerRoundPoints = 15; ICollection <Card> playerCards = new List <Card>(); var context = new PlayerTurnContext(stateManager.State, trumpCard, cardsLeftInDeck, fPlayerRoundPoints, sPlayerRoundPoints); context.FirstPlayedCard = null; Assert.IsTrue(playerValidator.IsValid(playerAction, context, playerCards)); }
public void IsValid_IfActionIsNull_ShouldReturnFalse() { //Arrange var playerValidator = new PlayerActionValidator(); PlayerAction playerAction = null; PlayerTurnContext context = new PlayerTurnContext(new StateManager().State, new Card(CardSuit.Club, CardType.Jack), 3, 10, 10); ICollection <Card> playerCards = new List <Card>(); var expectedResult = false; //Act var actualResult = playerValidator.IsValid(playerAction, context, playerCards); //Assert Assert.AreEqual(expectedResult, actualResult); }