コード例 #1
0
        public void TestHandChecker_PassNot5Cards_ShouldReturnFalse()
        {
            IList <ICard> cards = new List <ICard>
            {
                new Card(CardFace.Five, CardSuit.Clubs)
            };
            var hand  = new Hand(cards);
            var valid = pokerChecker.IsValidHand(hand);

            Assert.IsFalse(valid);
        }
コード例 #2
0
        public void TestPokerHandsCheckToReturnTrueIfValidHandIsPassed()
        {
            Card         firstCard  = new Card(CardFace.Ace, CardSuit.Clubs);
            Card         secondCard = new Card(CardFace.Ace, CardSuit.Diamonds);
            Card         thirdCard  = new Card(CardFace.Ace, CardSuit.Hearts);
            Card         fourthCard = new Card(CardFace.Ace, CardSuit.Spades);
            Card         fifthCard  = new Card(CardFace.King, CardSuit.Hearts);
            List <ICard> Cards      = new List <ICard>(new ICard[] { firstCard, secondCard, thirdCard, fourthCard, fifthCard });
            IHand        myHand     = new Hand(Cards);

            Assert.AreEqual(true, handTester.IsValidHand(myHand));
        }
コード例 #3
0
        public void InvalidHandWithOneCardTest()
        {
            var fourOfDiamonds = new Card(CardFace.Four, CardSuit.Diamonds);

            var cards = new List <ICard>()
            {
                fourOfDiamonds
            };

            var hand = new Hand(cards);

            Assert.IsFalse(handsChecker.IsValidHand(hand));
        }
コード例 #4
0
        public void IsValidHand_ShouldReturnFalse_IfHandHasLessThanFiveCards()
        {
            IList <ICard> cards = new List <ICard>
            {
                new Card(CardFace.Ace, CardSuit.Spades),
                new Card(CardFace.Seven, CardSuit.Clubs)
            };
            var hand = new Hand(cards);

            var result = pokerHandsChecker.IsValidHand(hand);

            Assert.IsFalse(result);
        }
コード例 #5
0
        public void IsValidHandShouldReturnTrueWhenHandHasValidCards()
        {
            IList <ICard> listOfCards = new List <ICard>();

            for (int i = 0; i < 5; i++)
            {
                listOfCards.Add(allCards[i]);
            }

            IHand hand = new Hand(listOfCards);

            bool isHandValid = pockerHandsChecker.IsValidHand(hand);

            Assert.IsTrue(isHandValid);
        }
コード例 #6
0
        public void PokerHandsChecker_IsValidIHandWithTwoEqualCards_MustBeFalse()
        {
            IList <ICard> cards = new List <ICard>
            {
                new Card(CardFace.Ace, CardSuit.Spades),
                new Card(CardFace.King, CardSuit.Clubs),
                new Card(CardFace.Queen, CardSuit.Hearts),
                new Card(CardFace.Jack, CardSuit.Diamonds),
                new Card(CardFace.Jack, CardSuit.Diamonds)
            };

            Hand hand = new Hand(cards);

            Assert.IsFalse(checker.IsValidHand(hand));
        }
コード例 #7
0
        public void IsValidHandShouldReturnTrueIfHandContainsDifferentCards()
        {
            // Arrange
            var firstCard  = new Card(CardFace.Ace, CardSuit.Clubs);
            var secondCard = new Card(CardFace.Ace, CardSuit.Diamonds);
            var thirdCard  = new Card(CardFace.Ace, CardSuit.Hearts);
            var fourthCard = new Card(CardFace.Ace, CardSuit.Spades);
            var fifthCard  = new Card(CardFace.Eight, CardSuit.Diamonds);

            var cards = new List <ICard>()
            {
                firstCard,
                secondCard,
                thirdCard,
                fourthCard,
                fifthCard
            };

            var hand        = new Hand(cards);
            var handChecker = new PokerHandsChecker();

            // Act
            var result = handChecker.IsValidHand(hand);

            // Assert
            Assert.IsTrue(result);
        }
コード例 #8
0
ファイル: TestIsValidHand.cs プロジェクト: quela/myprojects
 public void TestIsValidHand_WithNoCards()
 {
     Hand currentHand = new Hand(new List<ICard>());
     PokerHandsChecker checker = new PokerHandsChecker();
     bool isValidHand = checker.IsValidHand(currentHand);
     Assert.AreEqual(false, isValidHand);
 }
コード例 #9
0
 public void isValidHandShouldThrowExceptionWhenHandContainesNotEnoughtCards()
 {
     var handChecker = new PokerHandsChecker();
     var cards = new List<ICard>() { new Card(CardFace.Six, CardSuit.Clubs) };
     var hand = new Hand(cards);
     handChecker.IsValidHand(hand);
 }
コード例 #10
0
        public void PokerHandsShouldThrowWhenNullIsPassed()
        {
            PokerHandsChecker pokerChecker = new PokerHandsChecker();
            IHand             hand         = null;

            pokerChecker.IsValidHand(hand);
        }
コード例 #11
0
        public void IsValidHandShouldThrowAnExceptionIfNullHandIsPassed()
        {
            IHand hand = null;
            var checker = new PokerHandsChecker();

            checker.IsValidHand(hand);
        }
コード例 #12
0
        public void IsValidHandShouldThrowAnExceptionIfNullListOfCardsIsPassed()
        {
            List<ICard> cards = null;
            var checker = new PokerHandsChecker();

            checker.IsValidHand(new Hand(cards));
        }
コード例 #13
0
        public void IsValidHandShouldThrowExceptionWhenNullHandIsPassed()
        {
            var   checker = new PokerHandsChecker();
            IHand hand    = null;

            checker.IsValidHand(hand);
        }
コード例 #14
0
        public void IsValidHandShouldThrowAnExceptionWhenFiveCardsWithTheSameFaceArePassed()
        {
            var cards = new List<ICard>() { new Card(CardFace.King, CardSuit.Spades), new Card(CardFace.King, CardSuit.Clubs), new Card(CardFace.King, CardSuit.Hearts), new Card(CardFace.King, CardSuit.Diamonds), new Card(CardFace.King, CardSuit.Diamonds) };
            var hand = new Hand(cards);
            var checker = new PokerHandsChecker();

            checker.IsValidHand(hand);
        }
コード例 #15
0
        public void IsValidHandShouldThrowAnExceptionWhenTwoEqualCardsArePassed()
        {
            var cards = new List<ICard>() { new Card(CardFace.King, CardSuit.Spades), new Card(CardFace.Three, CardSuit.Clubs), new Card(CardFace.Two, CardSuit.Clubs), new Card(CardFace.Queen, CardSuit.Spades), new Card(CardFace.King, CardSuit.Spades) };
               var hand = new Hand(cards);
               var checker = new PokerHandsChecker();

               checker.IsValidHand(hand);
        }
コード例 #16
0
        public void PokerHandsChecker_IsValidHand_ShoudReturnTrue()
        {
            PokerHandsChecker checker = new PokerHandsChecker();
            bool actual   = checker.IsValidHand(ValidFourOfAKind);
            bool expected = true;

            Assert.AreEqual(expected, actual);
        }
コード例 #17
0
        public void IsValidHandShouldThrowAnExceptionIfCountOfTheCardsInTheHandIsNotExactly5(int count)
        {
            var cards = new List<ICard>() { new Card(CardFace.King, CardSuit.Spades), new Card(CardFace.Three, CardSuit.Clubs), new Card(CardFace.Two, CardSuit.Clubs), new Card(CardFace.Queen, CardSuit.Spades), new Card(CardFace.King, CardSuit.Diamonds), new Card(CardFace.King, CardSuit.Spades), new Card(CardFace.Three, CardSuit.Clubs), new Card(CardFace.Two, CardSuit.Clubs), new Card(CardFace.Queen, CardSuit.Spades), new Card(CardFace.King, CardSuit.Diamonds) };
            var hand = new Hand(cards.Take(count).ToList());
            var checker = new PokerHandsChecker();

            checker.IsValidHand(hand);
        }
コード例 #18
0
        public void IsValidHandShouldReturnTrueIfValidHandIsPassed()
        {
            var cards = new List<ICard>() { new Card(CardFace.King, CardSuit.Spades), new Card(CardFace.Three, CardSuit.Clubs), new Card(CardFace.Two, CardSuit.Clubs), new Card(CardFace.Queen, CardSuit.Spades), new Card(CardFace.King, CardSuit.Diamonds) };
            var hand = new Hand(cards);
            var checker = new PokerHandsChecker();

            Assert.IsTrue(checker.IsValidHand(hand));
        }
コード例 #19
0
        public void IsValidShouldThrowNullReferenceException()
        {
            List <ICard> cards             = null;
            var          hand              = new Hand(cards);
            var          pokerHandsChecker = new PokerHandsChecker();

            pokerHandsChecker.IsValidHand(hand);
        }
コード例 #20
0
        public void ValidHandShouldntBeNull()
        {
            List <ICard>      cards    = null;
            Hand              someHand = new Hand(cards);
            PokerHandsChecker checker  = new PokerHandsChecker();

            Assert.AreEqual(false, checker.IsValidHand(someHand));
        }
コード例 #21
0
        public void IsValidHandShouldReturnFalseWhenNotFiveCardsArePresent()
        {
            var hand = new Hand(deck.GetRange(0, 3));
            var pokerHandsChecker = new PokerHandsChecker();

            var result = pokerHandsChecker.IsValidHand(hand);

            Assert.IsFalse(result);
        }
コード例 #22
0
        public void TestValidHandOfNone()
        {
            List <ICard>      cards       = new List <ICard>();
            Hand              hand        = new Hand(cards);
            PokerHandsChecker handChecker = new PokerHandsChecker();
            bool              isValidHand = handChecker.IsValidHand(hand);

            Assert.IsFalse(isValidHand);
        }
コード例 #23
0
ファイル: TestIsValidHand.cs プロジェクト: PetarPenev/Telerik
        public void TestOneCardHand()
        {
            List<ICard> cards = new List<ICard>();
            cards.Add(new Card(CardFace.Five, CardSuit.Hearts));
            Hand hand = new Hand(cards);
            PokerHandsChecker checker = new PokerHandsChecker();

            Assert.IsFalse(checker.IsValidHand(hand));
        }
コード例 #24
0
        public void IsValidHandShouldReturnTrueOnExactltyFiveDifferentCards(int startDeckIndex)
        {
            var hand = new Hand(deck.GetRange(startDeckIndex, 5));
            var pokerHandsChecker = new PokerHandsChecker();

            var result = pokerHandsChecker.IsValidHand(hand);

            Assert.IsTrue(result);
        }
コード例 #25
0
        public void IsValidHandTestWithZeroCards()
        {
            PokerHandsChecker checker = new PokerHandsChecker();

            Hand hand = new Hand(new List<ICard>());
            bool expectedValidHand = false;
            bool actual;
            actual = checker.IsValidHand(hand);
            Assert.AreEqual(expectedValidHand, actual);
        }
        public void HandWithNoCardsShouldNotBeValid()
        {
            var hand             = new Hand(new List <ICard>());
            var pokerHandChecker = new PokerHandsChecker();

            bool expected = false;
            bool actual   = pokerHandChecker.IsValidHand(hand);

            Assert.AreEqual(expected, actual);
        }
コード例 #27
0
        public void TestNullHand()
        {
            Hand hand = null;

            PokerHandsChecker checker = new PokerHandsChecker();
            bool expected = false;
            bool actual = checker.IsValidHand(hand);

            Assert.AreEqual(expected, actual);
        }
コード例 #28
0
        public void IsNotValidHandTest4()
        {
            PokerHandsChecker target = new PokerHandsChecker();
            IHand             hand   = new Hand(null);
            bool expected            = false;
            bool actual;

            actual = target.IsValidHand(hand);
            Assert.AreEqual(expected, actual);
        }
コード例 #29
0
        public void IsValidHandShouldThrowExceptionWhenHandContainsIsufficientCards()
        {
            var checker = new PokerHandsChecker();
            var cards   = new List <ICard> {
                new Card(CardFace.Ace, CardSuit.Diamonds)
            };
            var hand = new Hand(cards);

            checker.IsValidHand(hand);
        }
コード例 #30
0
        public void IsValidHandShouldReturnFalseIfSameCardAddedMoreThanOnce()
        {
            var hand = new Hand(deck.GetRange(0, 4));

            hand.Cards.Add(deck[0]);
            var pokerHandsChecker = new PokerHandsChecker();

            var result = pokerHandsChecker.IsValidHand(hand);

            Assert.IsFalse(result);
        }
コード例 #31
0
        public void TestIsValidHandWithValidHand()
        {
            PokerHandsChecker checker = new PokerHandsChecker();

            var cards = GenerateCorectCards();
            var hand  = new Hand(cards);

            bool isValid = checker.IsValidHand(hand);

            Assert.IsTrue(isValid, "Hand is valid and result mast be true.");
        }
コード例 #32
0
        public void IsValidHandTestWithZeroCards()
        {
            PokerHandsChecker checker = new PokerHandsChecker();

            Hand hand = new Hand(new List <ICard>());
            bool expectedValidHand = false;
            bool actual;

            actual = checker.IsValidHand(hand);
            Assert.AreEqual(expectedValidHand, actual);
        }
コード例 #33
0
        public void TestIsValidEmptyHand()
        {
            IList <ICard>     cards   = new List <ICard>();
            Hand              hand    = new Hand(cards);
            PokerHandsChecker checker = new PokerHandsChecker();

            bool expected = false;
            bool actual   = checker.IsValidHand(hand);

            Assert.AreEqual(expected, actual);
        }
コード例 #34
0
        public void IsValidHandShouldReturnFalseIfTwoDifferentCardsAreEqual()
        {
            var hand = new Hand(deck.GetRange(0, 3));

            hand.Cards.Add(new Card(CardFace.Ace, CardSuit.Spades));
            hand.Cards.Add(new Card(CardFace.Ace, CardSuit.Spades));
            var pokerHandsChecker = new PokerHandsChecker();

            var result = pokerHandsChecker.IsValidHand(hand);

            Assert.IsFalse(result);
        }
コード例 #35
0
        public void IsValidHand_HandHasDuplicateCards_ShouldReturnFalse()
        {
            // Arrange
            var hand             = new FakeHand(5);
            var pokerHandChecker = new PokerHandsChecker();

            // Act
            var result = pokerHandChecker.IsValidHand(hand);

            // Assert
            Assert.IsFalse(result);
        }
コード例 #36
0
ファイル: TestIsValidHand.cs プロジェクト: PetarPenev/Telerik
        public void TestFourCardHand()
        {
            List<ICard> cards = new List<ICard>();
            cards.Add(new Card(CardFace.Five, CardSuit.Hearts));
            cards.Add(new Card(CardFace.Seven, CardSuit.Clubs));
            cards.Add(new Card(CardFace.Jack, CardSuit.Hearts));
            cards.Add(new Card(CardFace.Ace, CardSuit.Diamonds));
            Hand hand = new Hand(cards);
            PokerHandsChecker checker = new PokerHandsChecker();

            Assert.IsFalse(checker.IsValidHand(hand));
        }
コード例 #37
0
        public void IsValidHandShouldThrowIfNotValidHandCardsCountLow()
        {
            var checker = new PokerHandsChecker();
            var hand = new Hand(new List<ICard>
                {
                    new Card(CardFace.Queen,CardSuit.Hearts),
                    new Card(CardFace.Jack,CardSuit.Hearts),
                    new Card(CardFace.King,CardSuit.Clubs),
                });

            checker.IsValidHand(hand);
        }
コード例 #38
0
        public void InvalidCardsCount()
        {
            PokerHandsChecker checker = new PokerHandsChecker();
            Hand hand = new Hand(new List<ICard>() {
                new Card(CardFace.Jack, CardSuit.Clubs),
                new Card(CardFace.King, CardSuit.Spades),
                new Card(CardFace.Ten, CardSuit.Spades),
                new Card(CardFace.Ace, CardSuit.Diamonds),
            });

            Assert.AreEqual(false, checker.IsValidHand(hand));
        }
        public void IsValidHand_ShouldReturnFalse_IfHandCollectionIsEmpty()
        {
            var collection = new List <ICard>();

            var hand = Mock.Create <IHand>();

            Mock.Arrange(() => hand.Cards).Returns(collection);

            var checker = new PokerHandsChecker();

            Assert.IsFalse(checker.IsValidHand(hand));
        }
コード例 #40
0
        public void TestHandValidityLessCards()
        {
            IPokerHandsChecker handsChecker = new PokerHandsChecker();

            IHand hand = new Hand(
                new Card(CardFace.Two, CardSuit.Clubs),
                new Card(CardFace.King, CardSuit.Diamonds),
                new Card(CardFace.Ten, CardSuit.Hearts),
                new Card(CardFace.Jack, CardSuit.Spades));

            Assert.IsFalse(handsChecker.IsValidHand(hand));
        }
コード例 #41
0
        public void CheckInvalidHand()
        {
            IHand hand = new Hand(new List <ICard>()
            {
                new Card(CardFace.Ace, CardSuit.Clubs),
                new Card(CardFace.Ace, CardSuit.Diamonds),
                new Card(CardFace.King, CardSuit.Hearts),
                new Card(CardFace.King, CardSuit.Spades)
            });
            IPokerHandsChecker checker = new PokerHandsChecker();

            Assert.AreEqual(false, checker.IsValidHand(hand));
        }
コード例 #42
0
        public void IsValidHand_ShouldThrowArgumentOutOfRangeException_IfHandConsistsOfLessThanFiveCards()
        {
            var handChecker = new PokerHandsChecker();
            var hand        = new Hand(new List <ICard>
            {
                new Card(CardFace.Ace, CardSuit.Hearts),
                new Card(CardFace.Eight, CardSuit.Clubs),
                new Card(CardFace.Nine, CardSuit.Diamonds),
                new Card(CardFace.Ten, CardSuit.Spades)
            });

            Assert.Throws <ArgumentOutOfRangeException>(() => handChecker.IsValidHand(hand));
        }
コード例 #43
0
        public void RepeatedCard()
        {
            PokerHandsChecker checker = new PokerHandsChecker();
            Hand hand = new Hand(new List<ICard>() {
                new Card(CardFace.Two, CardSuit.Spades),
                new Card(CardFace.Two, CardSuit.Spades),
                new Card(CardFace.Ten, CardSuit.Spades),
                new Card(CardFace.Ace, CardSuit.Diamonds),
                new Card(CardFace.Queen, CardSuit.Diamonds),
            });

            Assert.AreEqual(false, checker.IsValidHand(hand));
        }
コード例 #44
0
        public void IsValidHand_ThreeCards()
        {
            IHand hand = new Hand(new List <ICard>()
            {
                new Card(CardFace.Two, CardSuit.Diamonds),
                new Card(CardFace.Ace, CardSuit.Spades),
                new Card(CardFace.Ten, CardSuit.Clubs)
            });
            PokerHandsChecker checker = new PokerHandsChecker();
            bool isValid = checker.IsValidHand(hand);

            Assert.AreEqual(false, isValid);
        }
コード例 #45
0
        public void PokerHandsIsValidReturnFalseWhenHaveSameCards()
        {
            IHand hand = new Hand(new List<ICard>() { 
                new Card(CardFace.Ace, CardSuit.Clubs),
                new Card(CardFace.Ace, CardSuit.Diamonds),
                new Card(CardFace.King, CardSuit.Hearts),
                new Card(CardFace.Seven, CardSuit.Diamonds),
                new Card(CardFace.Seven, CardSuit.Diamonds)
            });

            var checker = new PokerHandsChecker();
            Assert.IsTrue(!checker.IsValidHand(hand));
        }
コード例 #46
0
        public void InvalidCardsCount()
        {
            PokerHandsChecker checker = new PokerHandsChecker();
            Hand hand = new Hand(new List <ICard>()
            {
                new Card(CardFace.Jack, CardSuit.Clubs),
                new Card(CardFace.King, CardSuit.Spades),
                new Card(CardFace.Ten, CardSuit.Spades),
                new Card(CardFace.Ace, CardSuit.Diamonds),
            });

            Assert.AreEqual(false, checker.IsValidHand(hand));
        }
コード例 #47
0
        public void TestInvalidHandConsistingOfFiveRepeatingCards()
        {
            Hand hand = new Hand(new List <ICard>());
            PokerHandsChecker checker = new PokerHandsChecker();

            hand.Cards.Add(new Card(CardFace.Jack, CardSuit.Diamonds));
            hand.Cards.Add(new Card(CardFace.Jack, CardSuit.Clubs));
            hand.Cards.Add(new Card(CardFace.Two, CardSuit.Diamonds));
            hand.Cards.Add(new Card(CardFace.Jack, CardSuit.Hearts));
            hand.Cards.Add(new Card(CardFace.Two, CardSuit.Diamonds));

            Assert.AreEqual(false, checker.IsValidHand(hand), "The test hand is invalid so the checker does not work properly.");
        }
コード例 #48
0
 public void FourCardsTest()
 {
     PokerHandsChecker checker = new PokerHandsChecker();
     List<ICard> cards = new List<ICard>()
     {
         new Card(CardFace.Ten, CardSuit.Spades),
         new Card(CardFace.Nine, CardSuit.Spades),
         new Card(CardFace.Eight, CardSuit.Spades),
         new Card(CardFace.Seven, CardSuit.Spades),
     };
     Hand hand = new Hand(cards);
     Assert.IsFalse(checker.IsValidHand(hand));
 }
コード例 #49
0
        public void IsValidHandShouldNotThrowIfValidHand()
        {
            var checker = new PokerHandsChecker();
            var hand = new Hand(new List<ICard>
                {
                    new Card(CardFace.Queen,CardSuit.Hearts),
                    new Card(CardFace.Jack,CardSuit.Hearts),
                    new Card(CardFace.King,CardSuit.Clubs),
                    new Card(CardFace.Two,CardSuit.Spades),
                    new Card(CardFace.Six,CardSuit.Diamonds)
                });

            Assert.IsTrue(checker.IsValidHand(hand));
        }
コード例 #50
0
        public void TestInvalidCardsCount()
        {
            Hand hand = new Hand(
                new Card(CardFace.Jack, CardSuit.Diamonds),
                new Card(CardFace.Queen, CardSuit.Hearts),
                new Card(CardFace.Four, CardSuit.Spades)
            );

            PokerHandsChecker checker = new PokerHandsChecker();
            bool expected = false;
            bool actual = checker.IsValidHand(hand);

            Assert.AreEqual(expected, actual);
        }
コード例 #51
0
        public void PokerHandsIsValidReturnФалсеWhenCardIsMore()
        {
            IHand hand = new Hand(new List<ICard>() { 
                new Card(CardFace.Ace, CardSuit.Clubs),
                new Card(CardFace.Ace, CardSuit.Diamonds),
                new Card(CardFace.King, CardSuit.Hearts),
                new Card(CardFace.King, CardSuit.Spades),
                new Card(CardFace.Seven, CardSuit.Diamonds),
                new Card(CardFace.Jack, CardSuit.Diamonds)
            });

            var checker = new PokerHandsChecker();
            Assert.IsTrue(!checker.IsValidHand(hand));
        }
コード例 #52
0
ファイル: TestIsValidHand.cs プロジェクト: quela/myprojects
 public void TestIsValidHand_FourCards()
 {
     IList<ICard> hand = new List<ICard>
     {
         new Card(CardFace.Ten, CardSuit.Spades),
         new Card(CardFace.Six, CardSuit.Hearts),
         new Card(CardFace.Jack, CardSuit.Diamonds),
         new Card(CardFace.Two, CardSuit.Clubs)
     };
     Hand currentHand = new Hand(hand);
     PokerHandsChecker checker = new PokerHandsChecker();
     bool isValidHand = checker.IsValidHand(currentHand);
     Assert.AreEqual(false, isValidHand);
 }
コード例 #53
0
 public void IsValidHandWithCardsWithSameFace()
 {
     var hand = new Hand(new List<ICard>()
     {
         new Card(CardFace.Ace,CardSuit.Spades),
         new Card(CardFace.Ace,CardSuit.Clubs),
         new Card(CardFace.Ace,CardSuit.Hearts),
         new Card(CardFace.Ace,CardSuit.Diamonds),
          new Card(CardFace.Ten,CardSuit.Diamonds)
     });
     var handChecker = new PokerHandsChecker();
     var isValid = handChecker.IsValidHand(hand);
     Assert.IsTrue(isValid);
 }
コード例 #54
0
        public void isValidHandShouldThrowExceptionWhenHandContainsTwoEqualCards()
        {
            var handChecker = new PokerHandsChecker();
            var cards = new List<ICard>
            {
                new Card(CardFace.Six, CardSuit.Diamonds),
                new Card(CardFace.Queen, CardSuit.Clubs),
                new Card(CardFace.Jack, CardSuit.Spades),
                new Card(CardFace.Ace, CardSuit.Spades),
                new Card(CardFace.Ace, CardSuit.Spades)
            };

            var hand = new Hand(cards);
            handChecker.IsValidHand(hand);
        }
コード例 #55
0
        public void IsValidHandShouldThrowIfDuplicateCard()
        {
            var checker = new PokerHandsChecker();
            var hand = new Hand(new List<ICard>
                {
                    new Card(CardFace.Queen,CardSuit.Hearts),
                    new Card(CardFace.Jack,CardSuit.Hearts),
                    new Card(CardFace.King,CardSuit.Clubs),
                    new Card(CardFace.Queen,CardSuit.Hearts),
                    new Card(CardFace.Four,CardSuit.Hearts),
                    new Card(CardFace.Two,CardSuit.Clubs)
                });

            checker.IsValidHand(hand);
        }
コード例 #56
0
        public void IsValidHandShouldThrowExceptionWhenFiveCardsOfSameFace()
        {
            var checker = new PokerHandsChecker();
            var cards = new List<ICard>
            {
                new Card(CardFace.Queen, CardSuit.Hearts),
                new Card(CardFace.Queen, CardSuit.Spades),
                new Card(CardFace.Queen, CardSuit.Spades),
                new Card(CardFace.Queen, CardSuit.Clubs),
                new Card(CardFace.Queen, CardSuit.Hearts)
            };
            var hand = new Hand(cards);

            Assert.IsFalse(checker.IsValidHand(hand));
        }
コード例 #57
0
        public void isValidHandShouldReturnTrueWithValidHand()
        {
            var handChecker = new PokerHandsChecker();
            var cards = new List<ICard>()
            {
                new Card(CardFace.Six, CardSuit.Diamonds),
                new Card(CardFace.Queen, CardSuit.Clubs),
                new Card(CardFace.Jack, CardSuit.Spades),
                new Card(CardFace.Three, CardSuit.Spades),
                new Card(CardFace.Ace, CardSuit.Hearts)
            };

            var hand = new Hand(cards);
            handChecker.IsValidHand(hand);
        }
コード例 #58
0
        public void IsValidHand_DifferentCards()
        {
            var hand = new Hand(new List<ICard>()
            {
                new Card(CardFace.Seven,CardSuit.Diamonds),
                new Card(CardFace.King,CardSuit.Spades),
                new Card(CardFace.Queen,CardSuit.Hearts),
                new Card(CardFace.Two,CardSuit.Clubs),
                new Card(CardFace.Five,CardSuit.Hearts)
            });

            var pokerChecker = new PokerHandsChecker();

            bool result = pokerChecker.IsValidHand(hand);

            Assert.IsTrue(result);
        }
コード例 #59
0
        public void IsValidHand_OneRepeatingCard()
        {
            var hand = new Hand(new List<ICard>()
            {
                new Card(CardFace.Seven,CardSuit.Diamonds),
                new Card(CardFace.King,CardSuit.Spades),
                new Card(CardFace.Queen,CardSuit.Hearts),
                new Card(CardFace.Two,CardSuit.Clubs),
                new Card(CardFace.Seven,CardSuit.Diamonds),
            });

            var pokerChecker = new PokerHandsChecker();

            bool result = pokerChecker.IsValidHand(hand);

            Assert.IsFalse(result);
        }
コード例 #60
0
        public void IsValidHandTestWith5DifferentCardsAllSameSiuts()
        {
            PokerHandsChecker checker = new PokerHandsChecker();

            Hand hand = new Hand(new List<ICard>()
            {
                new Card(CardFace.Ace, CardSuit.Hearts),
                new Card(CardFace.King, CardSuit.Hearts),
                new Card(CardFace.Ten, CardSuit.Hearts),
                new Card(CardFace.Seven, CardSuit.Hearts),
                new Card(CardFace.Jack, CardSuit.Hearts)
            });

            bool expectedValidHand = true;
            bool actual;
            actual = checker.IsValidHand(hand);
            Assert.AreEqual(expectedValidHand, actual);
        }