Esempio n. 1
0
        public static void ClassInit(TestContext context)
        {
            _startingHandCombos = new Dictionary<string, WeightedStartingHandCombo>();
            _startingHandPermutations = new Dictionary<string, WeightedStartingHandCombo>();

            //All starting hands match a regular expression after ToString is called
            List<Card> cards = new List<Card>();
            foreach (Rank r in (Rank[])Enum.GetValues(typeof(Rank)))
            {
                foreach (Suit s in (Suit[])Enum.GetValues(typeof(Suit)))
                {
                    cards.Add(new Card(r, s));
                }
            }

            for (int iFirstCard = 0; iFirstCard < 52; iFirstCard++)
            {
                for (int iSecondCard = iFirstCard + 1; iSecondCard < 52; iSecondCard++)
                {
                    WeightedStartingHandCombo hand = new WeightedStartingHandCombo(cards[iFirstCard], cards[iSecondCard], 1);
                    _startingHandCombos.Add(hand.ToString(false), hand);
                    _startingHandPermutations.Add(hand.ToString(), hand);

                    WeightedStartingHandCombo handOppOrder = new WeightedStartingHandCombo(cards[iSecondCard], cards[iFirstCard], 1);
                    _startingHandPermutations.Add(handOppOrder.ToString(), handOppOrder);
                }
            }

            Assert.IsTrue(_startingHandCombos.Count == (52 * 51) / 2, "Incorrect number of combo's.");
            Assert.IsTrue(_startingHandPermutations.Count == 52 * 51, "Incorrect number of permutations.");
        }
Esempio n. 2
0
 /// <summary>
 /// Adds a combo to the range.  If a combo already exists, it is overwritten (with a potentially new weight).  If the combo is part of this starting hand, then a exception is thrown.
 /// </summary>
 /// <param name="combo">The combo to add.</param>
 public override void Add(WeightedStartingHandCombo combo)
 {
     if (combo.HighCard.Rank == this.HighRank &&
         combo.LowCard.Rank == this.LowRank &&
         combo.IsSuited() == this.IsSuited)
     {
         AddCombo(combo);
     }
     else
     {
         throw new ArgumentException("All combos of a StartingHand must have that same ranks and suitedness:" + _combos[0].ToString(true, true) + "!=" + combo.ToString(true, true));
     }
 }
        public void Equals_SameHandsWithDifferentWeightsAreNotEqual_Passes()
        {
            WeightedStartingHandCombo smallerWeight = new WeightedStartingHandCombo("AsKc", .5);
            WeightedStartingHandCombo biggerWeight = new WeightedStartingHandCombo("AsKc", .51);

            Assert.IsFalse(smallerWeight.Equals(biggerWeight));
            Assert.IsTrue(smallerWeight.Equals(new WeightedStartingHandCombo("AsKc", .5)));

            Assert.IsFalse(smallerWeight == biggerWeight);
            Assert.IsTrue(smallerWeight == (new WeightedStartingHandCombo("AsKc", .5)));

            Assert.IsFalse((WeightedStartingHandCombo)null == biggerWeight);
            Assert.IsTrue((WeightedStartingHandCombo)null != biggerWeight);

            Assert.IsFalse(new WeightedStartingHandCombo("7c6s", .5).Equals(new StartingHandCombo("7c6s")),"7c6s(.5) does not equal 7c6s.");

            WeightedStartingHandCombo hand = new WeightedStartingHandCombo("QcQs(.25)");
            StartingHandCombo SH = hand;
            Assert.IsTrue(new WeightedStartingHandCombo("QcQs", .25).Equals(SH));

            SH = new StartingHandCombo("QcQs");
            Assert.IsFalse(new WeightedStartingHandCombo("QcQs", .25).Equals(SH));
        }
 public void Constructor_WeightIncludedInHandStringAndParameter_throws()
 {
     WeightedStartingHandCombo hand = new WeightedStartingHandCombo("TsTh(.5)",.5);
 }
 public void Constructor_ShortHandString_throws()
 {
     WeightedStartingHandCombo hand = new WeightedStartingHandCombo("TsT(.5)", .5);
 }
 public void Constructor_Null_throws()
 {
     WeightedStartingHandCombo hand = new WeightedStartingHandCombo(null);
 }
 public void Constructor_NegativeUsedForWeight_throws()
 {
     WeightedStartingHandCombo hand = new WeightedStartingHandCombo("AsKh", -.01);
 }
 public void Constructor_EmptyString_throws()
 {
     WeightedStartingHandCombo hand = new WeightedStartingHandCombo(String.Empty);
 }
 public void Constructor_0UsedForWeight_Passes()
 {
     WeightedStartingHandCombo hand = new WeightedStartingHandCombo("AsKh", 0);
 }
        public void ToString_IncludesWeight_Passes()
        {
            Assert.AreEqual("AcKh(0.333)", new WeightedStartingHandCombo("AcKh", .333).ToString());
            Assert.AreEqual("AcKh", new WeightedStartingHandCombo("AcKh", 1).ToString());

            WeightedStartingHandCombo testDecimals = new WeightedStartingHandCombo("3c2h", .333);
            Assert.AreEqual(testDecimals.ToString(), new WeightedStartingHandCombo(testDecimals.ToString()).ToString());

            string hand = "AcKh(0.333)";
            Assert.AreEqual(hand, new WeightedStartingHandCombo(new WeightedStartingHandCombo("AcKh", .333).ToString()).ToString());
        }
        public void ToStringOverloads_FormatingWorksAsExpected_Passes()
        {
            WeightedStartingHandCombo hand = new WeightedStartingHandCombo("KhQd", .5);
            Assert.IsTrue(hand.ToString(true) == "KQo(0.5)");

            Assert.IsTrue(new WeightedStartingHandCombo("QhKh", .5).ToString(true, true) == "KQs(0.5)");
        }