public void ToString_Matches_Expected_Regex() { Regex startingHandLongName = new Regex(@"^[2-9,A,K,Q,J,T][c,d,h,s][2-9,A,K,Q,J,T][c,d,h,s]$"); Regex startingHandShortName = new Regex(@"^([2-9,A,K,Q,J,T][2-9,A,K,Q,J,T][o,s]$)|([22,33,44,55,66,77,88,99,TT,JJ,QQ,KK,AA]$)"); foreach (StartingHandCombo hand in _startingHandCombos.Values) { Assert.IsTrue(startingHandLongName.IsMatch(hand.ToString()), "Incorrect Hand Long Format found in Combos:"+hand.ToString()); Assert.IsTrue(startingHandLongName.IsMatch(hand.ToString(false)), "Incorrect Hand Long Format found in Combos:" + hand.ToString(false)); Assert.IsTrue(startingHandShortName.IsMatch(hand.ToString(true)), "Incorrect Hand Short Format found in Combos:" + hand.ToString(true)); //Verify order in short format if(hand.SecondCard.Rank > hand.FirstCard.Rank) { StartingHandCombo orderedHand = new StartingHandCombo(hand.SecondCard, hand.FirstCard); //First card should be bigger then the second Assert.IsTrue(hand.ToString(true).Substring(0, 1) == orderedHand.FirstCard.ToString().Substring(0, 1)); //Either order should output the same when using the short format Assert.IsTrue(hand.ToString(true) == orderedHand.ToString(true)); //Order should be different with the long format Assert.IsTrue(hand.ToString(false) != orderedHand.ToString()); Assert.IsTrue(hand.ToString(false, true) == orderedHand.ToString(),"The sorted long format did not match:" + hand.ToString(false, true) + " != " + hand.ToString()); } } foreach (StartingHandCombo hand in _startingHandPermutations.Values) { Assert.IsTrue(startingHandLongName.IsMatch(hand.ToString()), "Incorrect Hand Long Format found in Permutations:" + hand.ToString()); Assert.IsTrue(startingHandLongName.IsMatch(hand.ToString(false)), "Incorrect Hand Long Format found in Permutations:" + hand.ToString(false)); Assert.IsTrue(startingHandShortName.IsMatch(hand.ToString(true)), "Incorrect Hand Short Format found in Permutations:" + hand.ToString(true)); //Verify order in simple format if (hand.SecondCard.Rank >= hand.FirstCard.Rank) { StartingHandCombo orderedHand = new StartingHandCombo(hand.SecondCard, hand.FirstCard); //First card should be bigger then the second Assert.IsTrue(hand.ToString(true).Substring(0, 1) == orderedHand.FirstCard.ToString().Substring(0, 1)); //Either order should output the same when using the simple format Assert.IsTrue(hand.ToString(true) == orderedHand.ToString(true)); //Order should be different with the long format Assert.IsTrue(hand.ToString(false) != orderedHand.ToString()); } } }
public void InvalidConstructorString(string test) { try { StartingHandCombo hand = new StartingHandCombo(test); Assert.Fail("This hand should have thrown an exception:" + test); } catch (ArgumentException e) { } }
public void ToString_CreatesExactOrderedOrginalHands_Passes() { foreach (StartingHandCombo hand in _startingHandPermutations.Values) { StartingHandCombo handFromString = new StartingHandCombo(hand.ToString()); Assert.IsTrue(hand.Equals(handFromString, StartingHandCombo.MatchingMode.ExactSuits, true), "The hand created from ToString was not an exact match"); } }
public void HighCardAndLowCard_ConsistentEvenWithPPs_Pass() { StartingHandCombo hand = new StartingHandCombo("9s9c"); StartingHandCombo revHand = new StartingHandCombo("9c9s"); Assert.IsTrue(hand.Equals(revHand, StartingHandCombo.MatchingMode.ExactSuits)); Assert.IsFalse(hand.Equals(revHand, StartingHandCombo.MatchingMode.ExactSuits, false)); Assert.IsTrue(hand.HighCard == revHand.HighCard); Assert.IsTrue(hand.LowCard == revHand.LowCard); hand = new StartingHandCombo("Th9d"); revHand = new StartingHandCombo("9dTh"); Assert.IsTrue(hand.Equals(revHand, StartingHandCombo.MatchingMode.ExactSuits)); Assert.IsFalse(hand.Equals(revHand, StartingHandCombo.MatchingMode.ExactSuits, false)); Assert.IsTrue(hand.HighCard == revHand.HighCard); Assert.IsTrue(hand.LowCard == revHand.LowCard); }
public void Constructor_NullInsteadofString_Throws() { StartingHandCombo hand = new StartingHandCombo(null); }
public void Constructor_EmptyString_Throws() { StartingHandCombo hand = new StartingHandCombo(""); }
public void Constructor_DuplicateCards_Throws() { StartingHandCombo hand = new StartingHandCombo(new Card(Rank.Ace, Suit.Diamonds), new Card("AsKd")); }
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)); }