Ejemplo n.º 1
0
        public void Test_FullHouse_CreateInstance(string strCards, bool isValid)
        {
            var cards     = Utils.ParseCards(strCards);
            var fullHouse = FullHouse.CreateInstance(cards);

            CreateInstanceHelper(fullHouse, HandRanks.FullHouse, cards, isValid);
        }
Ejemplo n.º 2
0
        public void test_scores()
        {
            var highCard = new HighCard();

            Assert.AreEqual(0, highCard.Score);
            var onePair = new OnePair();

            Assert.AreEqual(1, onePair.Score);
            var twoPairs = new TwoPairs();

            Assert.AreEqual(2, twoPairs.Score);
            var set = new Set();

            Assert.AreEqual(3, set.Score);
            var straight = new Straight();

            Assert.AreEqual(4, straight.Score);
            var flush = new Flush();

            Assert.AreEqual(5, flush.Score);
            var fullHouse = new FullHouse();

            Assert.AreEqual(6, fullHouse.Score);
            var quads = new Quads();

            Assert.AreEqual(7, quads.Score);
            var straightFlush = new StraightFlush();

            Assert.AreEqual(8, straightFlush.Score);
            var royalFlush = new RoyalFlush();

            Assert.AreEqual(9, royalFlush.Score);
        }
Ejemplo n.º 3
0
        public void FullHouseShouldReturnSumOfAllDice(List <int> rolledDice, int expectedOutcome)
        {
            var fullHouse = new FullHouse();
            var result    = fullHouse.CalculateScore(rolledDice);

            Assert.Equal(expectedOutcome, result);
        }
Ejemplo n.º 4
0
            public void FivesFullOfQueens()
            {
                var acesFullOfKings = AcesFullOfKingsGame();

                // ARRANGE
                var aces = acesFullOfKings.Cards.Where(
                    c =>
                    Rank.ACE == c.Rank);

                var kings = acesFullOfKings.Cards.Where(
                    c =>
                    Rank.KING == c.Rank);

                var fives = aces.Select(
                    c =>
                    new Card(Rank.FIVE, c.Suit)).ToArray();

                var queens = kings.Select(
                    c =>
                    new Card(Rank.QUEEN, c.Suit)).ToArray();

                var game = new Game(
                    fives[0],
                    queens[0],
                    fives[1],
                    queens[1],
                    fives[2]);

                // ACT
                var result = new FullHouse().Evaluate(game);

                // ASSERT
                Assert.IsTrue(result.Success());
                Assert.AreSame(game.Cards, result.UsedCards);
            }
Ejemplo n.º 5
0
        public void GivenHandCardThenCheckIfFullHouse(string handCard, bool expectedResult)
        {
            var handCardFormatted = Common.ConvertCardStringToList(handCard);

            var isStraightFlush = new FullHouse().IsThisType(handCardFormatted);

            Assert.True(isStraightFlush == expectedResult);
        }
Ejemplo n.º 6
0
        public void ShouldSayIfFullHouse()
        {
            Hand      theHand = new Hand("7H,7D,7S,6H,6S");
            FullHouse fHouse  = new FullHouse();
            var       result  = fHouse.IsTypeOf(theHand);

            Assert.That(result, Is.EqualTo(true));
        }
Ejemplo n.º 7
0
        public void Nao_deve_ser_uma_jogada_valida(int[] mao)
        {
            //When
            var jogada = new FullHouse(mao);

            //Then
            Assert.False(jogada.EhValida());
        }
Ejemplo n.º 8
0
        public void Test_FullHouse_EqualityOperators(string strInputA, string strInputB, bool areEqual)
        {
            var cardsA = Utils.ParseCards(strInputA);
            var cardsB = Utils.ParseCards(strInputB);

            var fullHouseOne = FullHouse.CreateInstance(cardsA);
            var fullHouseTwo = FullHouse.CreateInstance(cardsB);

            EqualityOperatorsHelper(fullHouseOne, fullHouseTwo, areEqual);
        }
Ejemplo n.º 9
0
        public void Test_FullHouse_ComparableTests(string strInputA, string strInputB, int comp)
        {
            var cardsA = Utils.ParseCards(strInputA);
            var cardsB = Utils.ParseCards(strInputB);

            var fullHouseOne = FullHouse.CreateInstance(cardsA);
            var fullHouseTwo = FullHouse.CreateInstance(cardsB);

            ComparableTestsHelper(fullHouseOne, fullHouseTwo, comp);
        }
Ejemplo n.º 10
0
            public void AcesFullOfKings()
            {
                // ARRANGE
                var game = AcesFullOfKingsGame();

                // ACT
                var result = new FullHouse().Evaluate(game);

                // ASSERT
                Assert.IsTrue(result.Success());
                Assert.AreSame(game.Cards, result.UsedCards);
            }
Ejemplo n.º 11
0
        private void AssertSum(int expected, int pairValue, int threeOfAKindValue)
        {
            var pair         = new Mock <Pair>(1, 1);
            var threeOfAKind = new Mock <ThreeOfAKind>(1, 1, 1);

            pair.Setup(p => p.GetValue()).Returns(pairValue);
            threeOfAKind.Setup(t => t.GetValue()).Returns(threeOfAKindValue);

            var sut = new FullHouse(pair.Object, threeOfAKind.Object);

            Assert.Equal(expected, sut.GetValue());
        }
Ejemplo n.º 12
0
        public void HandFullHouseTestDuplicate()
        {
            //Arrange
            List <Card> cards = new List <Card>();

            cards.Add(new Card(Suits.Clubes, "A"));
            cards.Add(new Card(Suits.Clubes, "A"));

            //Act
            FullHouse hand = new FullHouse();

            //Assert
            Assert.ThrowsException <InvalidOperationException>(() => hand.IsMatch(cards));
        }
Ejemplo n.º 13
0
        public void IsFullHouse()
        {
            _cardHand = new List <Card> {
                new Card(CardRank.Ace, CardSuit.Clubs),
                new Card(CardRank.Two, CardSuit.Spades),
                new Card(CardRank.Two, CardSuit.Diamonds),
                new Card(CardRank.Ace, CardSuit.Hearts),
                new Card(CardRank.Two, CardSuit.Spades)
            };

            var hand = new FullHouse();

            Assert.IsTrue(hand.HasHand(_cardHand));
        }
Ejemplo n.º 14
0
        public void Test_FullHouse_EqualityOperators_ForNull()
        {
            var cards     = Utils.ParseCards("7C 7D 7S 3H 3D");
            var fullHouse = FullHouse.CreateInstance(cards);

            Assert.False(fullHouse.Equals(null));

            Assert.True((FullHouse)null == (FullHouse)null);
            Assert.False((FullHouse)null == fullHouse);
            Assert.False(fullHouse == (FullHouse)null);

            Assert.False((FullHouse)null != (FullHouse)null);
            Assert.True((FullHouse)null != fullHouse);
            Assert.True(fullHouse != (FullHouse)null);
        }
Ejemplo n.º 15
0
        public void FullHouseUnitTests_1()
        {
            var fullHouseHands = new Dictionary <long, string>()
            {
                //{0x0008004002001000, string.Empty},                                      // 0000 0000 0000/0000 0000.0000 0/100.0000 0000.00/10 0000.0000 001/1.0001 0001.0001
                { 0x0000004002003111, string.Empty }                                         // 0000 0000 0000/0000 0000.0000 0/100.0000 0000.00/10 0000.0000 001/1.0001 0001.0001
            };

            var pht = new FullHouse();

            foreach (var hand in fullHouseHands)
            {
                var ph = new PokerHand(hand.Key);
                Assert.True(pht.Parse(ph), hand.Value);
                Assert.Equal(PokerHandAnalyzer.Strength.FullHouse, ph.Strength);
            }
        }
Ejemplo n.º 16
0
        public void fullhouse_no()
        {
            var set   = new FullHouse();
            var cards = new List <Card>
            {
                new Card(Suit.Clubs, Rank.Ace),
                new Card(Suit.Diamonds, Rank.Ace),
                new Card(Suit.Spades, Rank.Seven),
                new Card(Suit.Clubs, Rank.Ten),
                new Card(Suit.Spades, Rank.Ten),
                new Card(Suit.Spades, Rank.King)
            };

            set.SetCards(cards);
            var result = set.IsPresent();

            Assert.IsFalse(result);
        }
Ejemplo n.º 17
0
        public void HandIsNotFullHouse()
        {
            //Arrange
            List <Card> cards = new List <Card>();

            cards.Add(new Card(Suits.Hearts, 3));
            cards.Add(new Card(Suits.Hearts, 8));
            cards.Add(new Card(Suits.Spades, 3));
            cards.Add(new Card(Suits.Clubes, 3));
            cards.Add(new Card(Suits.Hearts, "K"));
            cards.Add(new Card(Suits.Dimensions, 7));
            cards.Add(new Card(Suits.Dimensions, "A"));

            //Act
            FullHouse fullHouse = new FullHouse();

            //Assert
            Assert.IsFalse(fullHouse.IsMatch(cards).HasValue);
        }
Ejemplo n.º 18
0
    /// <summary>
    /// Adds the cutouts for the extensions.
    /// </summary>
    protected override void AddExtensionCutouts(int i, ref List <pb_Object> cutouts, List <PBUtility.Cutout> cuts, Transform wall, float wallLength)
    {
        FullHouse f = transform.GetComponentInParent <HouseCustomizer>().customizableHouse;
        Wall      w;
        int       reverse;

        switch (i)
        {
        case 3:
            w       = Wall.right;
            reverse = 1;
            break;

        case 2:
            w       = Wall.left;
            reverse = -1;
            break;

        case 1:
            w       = Wall.front;
            reverse = 1;
            break;

        case 0:
        default:
            w       = Wall.back;
            reverse = -1;
            break;
        }
        if (w == hExt.wall)
        {
            pb_Object cutout = pb_ShapeGenerator.CubeGenerator(new Vector3(f.WallLength(w) - ((f.AO.foundationSeparation + f.AO.wallThickness) * 2f),
                                                                           Mathf.Min(f.Dim.height, Dim.height) - f.AO.ceilingThickness, AO.wallThickness + NUDGE));
            cutout.transform.SetParent(transform);
            cutout.transform.localPosition = new Vector3((f.WallLength(w) + WallLength(w) - (f.AO.foundationSeparation * 4f)) * hExt.position / 2f * reverse,
                                                         (Mathf.Min(f.Dim.height, Dim.height) - (f.AO.ceilingThickness + Dim.height)) / 2f, 0);

            cutouts.Add(cutout);
            cuts.Add(new PBUtility.Cutout(cutout));
        }
    }
Ejemplo n.º 19
0
    override public int Compare(Hand second)
    {
        FullHouse secondHidden = second as FullHouse;

        if (triplePower > secondHidden.triplePower)
        {
            return(1);
        }
        else if (triplePower < secondHidden.triplePower)
        {
            return(-1);
        }
        if (pairPower > secondHidden.pairPower)
        {
            return(1);
        }
        else if (pairPower < secondHidden.pairPower)
        {
            return(-1);
        }
        return(0);
    }
Ejemplo n.º 20
0
        public FullHouseDisplayer(DomainFacade displayer, FullHouse fullHouse)
            : base(displayer, fullHouse, "full-house")
        {
            _position = fullHouse.Position;
            _value    = fullHouse.Value;

            _house = HintsHelper.HouseFirstOrDefault(_position,
                                                     positions => positions.Count(pos => !_informer.HasValue(pos)) == 1
                                                     );

            _positionsInHouse = HintsHelper.GetPositionsInHouse(_position, _house);

            _explanationSteps.Add(Explain01);
            _explanationSteps.Add(Explain02);
            _explanationSteps.Add(Explain03);
            for (int i = 0; i < _value - 1; i++)
            {
                var explain = ExplainN(i);
                _explanationSteps.Add(explain);
            }

            _explanationSteps.Add(ExplainLast);
        }
Ejemplo n.º 21
0
        public void HandIsFullHouse()
        {
            //Arrange
            List <Card> cards = new List <Card>();

            cards.Add(new Card(Suits.Hearts, 3));
            cards.Add(new Card(Suits.Hearts, "A"));
            cards.Add(new Card(Suits.Spades, 3));
            cards.Add(new Card(Suits.Clubes, 3));
            cards.Add(new Card(Suits.Hearts, "K"));
            cards.Add(new Card(Suits.Dimensions, 7));
            cards.Add(new Card(Suits.Dimensions, "A"));

            //Act
            FullHouse h         = new FullHouse();
            Hand      fullHouse = h.IsMatch(cards).Value;

            //Assert
            Assert.IsNotNull(fullHouse);
            Assert.AreEqual(5, fullHouse.CardsInTheHand.Count);
            Assert.AreEqual <int>(3, fullHouse.CardsInTheHand[0].Value);
            Assert.AreEqual <int>(14, fullHouse.CardsInTheHand[4].Value);
            Assert.AreEqual(Constancts.HandRanks.FullHouse, fullHouse.Rank);
        }
Ejemplo n.º 22
0
 public void Setup()
 {
     _sut = new FullHouse();
 }
Ejemplo n.º 23
0
 public FullHouseTests()
 {
     _fullhouseCategory = new FullHouse();
 }
        private string GetScore(IPokerHand hand)
        {
            var royalFlush = new RoyalFlush(hand);

            if (royalFlush.IsHighRank)
            {
                return(royalFlush.Title);
            }

            var straightFlush = new StraightFlush(hand);

            if (straightFlush.IsHighRank)
            {
                return(straightFlush.Title);
            }

            var fourOfAKind = new FourOfAKind(hand);

            if (fourOfAKind.IsHighRank)
            {
                return(fourOfAKind.Title);
            }

            var fullHouse = new FullHouse(hand);

            if (fullHouse.IsHighRank)
            {
                return(fullHouse.Title);
            }

            var flush = new Flush(hand);

            if (flush.IsHighRank)
            {
                return(flush.Title);
            }

            var straight = new Straight(hand);

            if (straight.IsHighRank)
            {
                return(straight.Title);
            }

            var threeOfAKind = new ThreeOfAKind(hand);

            if (threeOfAKind.IsHighRank)
            {
                return(threeOfAKind.Title);
            }

            var twoPair = new TwoPair(hand);

            if (twoPair.IsHighRank)
            {
                return(twoPair.Title);
            }

            var onePair = new OnePair(hand);

            if (onePair.IsHighRank)
            {
                return(onePair.Title);
            }

            return("High Card");
        }
Ejemplo n.º 25
0
        protected void showPotentialLowerScore()
        {
            const int FULL_HOUSE     = 25;
            const int SMALL_STRAIGHT = 30;
            const int LARGE_STRAIGHT = 40;
            const int YAHTZEE        = 50;
            int       fieldValue     = 0;


            for (int i = 0; i < ytzDice.DiceArray.Length; i++)
            {
                TestDice.gameDice[i] = ytzDice.DiceArray[i].faceValue;
            }


            fieldValue = ytzDice.CalcFullHouse(TestDice.gameDice);
            System.Diagnostics.Debug.WriteLine(fieldValue.ToString());
            if (fullHouseSaved == false)
            {
                fullHouseScoreValue.Text      = FullHouse.ToString();
                fullHouseScoreValue.ForeColor = Color.Red;
                if (fieldValue > 0)
                {
                    fullHouseScoreValue.Text      = FULL_HOUSE.ToString();
                    fullHouseScoreValue.ForeColor = Color.Red;
                }
            }

            //small striaght check
            fieldValue = ytzDice.CalcStraight(false, TestDice.gameDice);
            System.Diagnostics.Debug.WriteLine(fieldValue.ToString());
            if (smallStraightSaved == false)
            {
                smallStraightScoreValue.Text      = SmallStraight.ToString();
                smallStraightScoreValue.ForeColor = Color.Red;

                if (fieldValue > 0)
                {
                    smallStraightScoreValue.Text      = SMALL_STRAIGHT.ToString();
                    smallStraightScoreValue.ForeColor = Color.Red;
                }
            }


            fieldValue = ytzDice.CalcStraight(true, TestDice.gameDice);
            System.Diagnostics.Debug.WriteLine(fieldValue.ToString());
            if (largeStraightSaved == false)
            {
                largeStraightScoreValue.Text      = LargeStraight.ToString();
                largeStraightScoreValue.ForeColor = Color.Red;

                if (fieldValue > 0)
                {
                    largeStraightScoreValue.Text      = LARGE_STRAIGHT.ToString();
                    largeStraightScoreValue.ForeColor = Color.Red;
                }
            }

            fieldValue = ytzDice.CalcXOfAKind(3, TestDice.gameDice);
            System.Diagnostics.Debug.WriteLine(fieldValue.ToString());
            if (threeOfaKindSaved == false)
            {
                ThreeofKindScoreValue.Text      = ThreeofKind.ToString();
                ThreeofKindScoreValue.ForeColor = Color.Red;
                if (fieldValue > 0)
                {
                    ThreeofKindScoreValue.Text      = fieldValue.ToString();
                    ThreeofKindScoreValue.ForeColor = Color.Red;
                }
            }

            fieldValue = ytzDice.CalcXOfAKind(4, TestDice.gameDice);
            System.Diagnostics.Debug.WriteLine(fieldValue.ToString());
            if (fourOfAKindSaved == false)
            {
                FourofKindScoreValue.Text      = FourofKind.ToString();
                FourofKindScoreValue.ForeColor = Color.Red;

                if (fieldValue > 0)
                {
                    FourofKindScoreValue.Text      = fieldValue.ToString();
                    FourofKindScoreValue.ForeColor = Color.Red;
                }
            }

            fieldValue = ytzDice.CalcXOfAKind(5, TestDice.gameDice);
            System.Diagnostics.Debug.WriteLine(fieldValue.ToString());
            if (YahtzeeSaved == false)
            {
                YahtzeeScoreValue.Text      = Yahtzee.ToString();
                YahtzeeScoreValue.ForeColor = Color.Red;
                if (fieldValue > 0)
                {
                    YahtzeeScoreValue.Text      = YAHTZEE.ToString();
                    YahtzeeScoreValue.ForeColor = Color.Red;
                }
            }


            fieldValue = ytzDice.CalcChance(TestDice.gameDice);
            System.Diagnostics.Debug.WriteLine(fieldValue.ToString());
            if (ChanceSaved == false)
            {
                chanceScoreValue.Text      = Chance.ToString();
                chanceScoreValue.ForeColor = Color.Red;
                if (fieldValue > 0)
                {
                    chanceScoreValue.Text      = fieldValue.ToString();
                    chanceScoreValue.ForeColor = Color.Red;
                }
            }
        }
Ejemplo n.º 26
0
        protected void LoadCurrentScores()
        {
            if (acesSaved == true)
            {
                acesScoreValue.Text      = aces.ToString();
                acesScoreValue.ForeColor = Color.Black;
                btnAces.Enabled          = false;
                btnAces.Visible          = false;
            }

            if (twosSaved == true)
            {
                twosScoreValue.Text      = twos.ToString();
                twosScoreValue.ForeColor = Color.Black;
                btnTwos.Enabled          = false;
                btnTwos.Visible          = false;
            }

            if (threesSaved == true)
            {
                threesScoreValue.Text      = threes.ToString();
                threesScoreValue.ForeColor = Color.Black;
                btnThrees.Enabled          = false;
                btnThrees.Visible          = false;
            }
            if (foursSaved == true)
            {
                foursScoreValue.Text      = fours.ToString();
                foursScoreValue.ForeColor = Color.Black;
                btnFours.Enabled          = false;
                btnFours.Visible          = false;
            }
            if (fivesSaved == true)
            {
                fivesScoreValue.Text      = fives.ToString();
                fivesScoreValue.ForeColor = Color.Black;
                btnFives.Enabled          = false;
                btnFives.Visible          = false;
            }
            if (sixesSaved == true)
            {
                sixesScoreValue.Text      = sixs.ToString();
                sixesScoreValue.ForeColor = Color.Black;
                btnSixes.Enabled          = false;
                btnSixes.Visible          = false;
            }

            if (threeOfaKindSaved == true)
            {
                ThreeofKindScoreValue.Text      = ThreeofKind.ToString();
                ThreeofKindScoreValue.ForeColor = Color.Black;
                btnThreeKind.Enabled            = false;
                btnThreeKind.Visible            = false;
            }

            if (fourOfAKindSaved == true)
            {
                FourofKindScoreValue.Text      = fours.ToString();
                FourofKindScoreValue.ForeColor = Color.Black;
                btnFourKind.Enabled            = false;
                btnFourKind.Visible            = false;
            }
            if (fullHouseSaved == true)
            {
                fullHouseScoreValue.Text      = FullHouse.ToString();
                fullHouseScoreValue.ForeColor = Color.Black;
                btnFullHouse.Enabled          = false;
                btnFullHouse.Visible          = false;
            }
            if (smallStraightSaved == true)
            {
                smallStraightScoreValue.Text      = SmallStraight.ToString();
                smallStraightScoreValue.ForeColor = Color.Black;
                btnSmallStraight.Enabled          = false;
                btnSmallStraight.Visible          = false;
            }
            if (largeStraightSaved == true)
            {
                largeStraightScoreValue.Text      = LargeStraight.ToString();
                largeStraightScoreValue.ForeColor = Color.Black;
                btnLargeStraight.Enabled          = false;
                btnLargeStraight.Visible          = false;
            }
            if (YahtzeeSaved == true)
            {
                YahtzeeScoreValue.Text      = Yahtzee.ToString();
                YahtzeeScoreValue.ForeColor = Color.Black;
                btnYahtzee.Enabled          = false;
                btnYahtzee.Visible          = false;
            }
            if (ChanceSaved == true)
            {
                chanceScoreValue.Text      = Chance.ToString();
                chanceScoreValue.ForeColor = Color.Black;
                btnChance.Enabled          = false;
                btnChance.Visible          = false;
            }

            if (YahtzeeBonus > 0)
            {
                yahtzeeBonusScoreValue.Text      = YahtzeeBonus.ToString();
                yahtzeeBonusScoreValue.ForeColor = Color.Black;
                btnYahtzeeBonus.Enabled          = false;
                btnYahtzeeBonus.Visible          = false;
            }

            //check if upper bonus achieved
            UpperBonusCalc();
            if (UpperBonus == 35)
            {
                upperBonusScoreValue.Text      = UpperBonus.ToString();
                upperBonusScoreValue.ForeColor = Color.Black;
            }

            TotalScoreCalc();
        }