public void Should_be_able_to_add_only_correct_card_When_trying_to_add() { var tenOfSpades = new Card(CardSuit.Spades, CardNumber.Ten); this.tableauPile = new TableauPile(new List <Card> { tenOfSpades }); var nineOfHearts = new Card(CardSuit.Hearts, CardNumber.Nine); var nineOfDiamonds = new Card(CardSuit.Diamonds, CardNumber.Nine); var nineOfSpades = new Card(CardSuit.Spades, CardNumber.Nine); var nineOfClubs = new Card(CardSuit.Clubs, CardNumber.Nine); this.tableauPile.CanAddPileOfCards(new List <Card> { nineOfHearts }).Should().BeTrue(); this.tableauPile.CanAddPileOfCards(new List <Card> { nineOfDiamonds }).Should().BeTrue(); this.tableauPile.CanAddPileOfCards(new List <Card> { nineOfSpades }).Should().BeFalse(); this.tableauPile.CanAddPileOfCards(new List <Card> { nineOfClubs }).Should().BeFalse(); }
public void Should_have_card_face_up_When_creating_pile_of_one() { this.tableauPile = this.GetCustomPileOf(1); this.tableauPile.TopFaceUpCard.Should().Be(twoOfSpades); this.tableauPile.Count.Should().Be(1); }
public void Should_receive_empty_card_When_pack_is_empty() { this.tableauPile = this.GetCustomPileOf(2); this.tableauPile.RemoveTopCard(); this.tableauPile.RemoveTopCard(); this.tableauPile.TopFaceUpCard.Should().Be(Card.EmptyCard); }
public void Should_remove_exactly_one_card_When_removing_top_card() { this.tableauPile = this.GetCustomPileOf(3); var sizeBeforeReveal = this.tableauPile.Count; this.tableauPile.RemoveTopCard(); var sizeAfterReveal = this.tableauPile.Count; sizeBeforeReveal.Should().Be(sizeAfterReveal + 1); }
public void Should_Pop_If_Target_Is_Not_Stock() { IPile pile = new FoundationPile(); var cardACE = new Card(1, CardType.Spade); pile.Push(cardACE); Mock <IPile> mockPile = new Mock <IPile>(); IPile target = new TableauPile(); Assert.True(pile.PopRefactor(target)); }
public void Should_reveal_cards_in_correct_order_When_removing_cards_from_it() { this.tableauPile = this.GetCustomPileOf(3); var firstCardRevealed = this.tableauPile.TopFaceUpCard; this.tableauPile.RemoveTopCard(); var secondCardRevealed = this.tableauPile.TopFaceUpCard; this.tableauPile.RemoveTopCard(); var thirdCardRevealed = this.tableauPile.TopFaceUpCard; this.tableauPile.RemoveTopCard(); firstCardRevealed.Should().Be(this.fourOfClubs); secondCardRevealed.Should().Be(this.threeOfDiamonds); thirdCardRevealed.Should().Be(this.twoOfSpades); }
public void Setup() { _pile = new TableauPile(); }