public void CompareToShouldWorkCorrectly( ExpectedCompareResult expectedCompareResult, HandRankType firstHandRankType, ICollection <CardType> firstCardTypes, HandRankType secondHandRankType, ICollection <CardType> secondCardTypes) { var firstBestHand = new BestHand(firstHandRankType, firstCardTypes.Shuffle().ToList()); var secondBestHand = new BestHand(secondHandRankType, secondCardTypes.Shuffle().ToList()); var compareToResultFirstSecond = firstBestHand.CompareTo(secondBestHand); var compareToResultSecondFirst = secondBestHand.CompareTo(firstBestHand); switch (expectedCompareResult) { case ExpectedCompareResult.FirstShouldBeBetter: Assert.IsTrue(compareToResultFirstSecond > 0, "compareToResultFirstSecond > 0"); Assert.IsTrue(compareToResultSecondFirst < 0, "compareToResultSecondFirst < 0"); break; case ExpectedCompareResult.SecondShouldBeBetter: Assert.IsTrue(compareToResultFirstSecond < 0, "compareToResultFirstSecond < 0"); Assert.IsTrue(compareToResultSecondFirst > 0, "compareToResultSecondFirst > 0"); break; case ExpectedCompareResult.TheyShouldBeEqual: Assert.AreEqual(0, compareToResultFirstSecond); Assert.AreEqual(0, compareToResultSecondFirst); break; default: Assert.Fail("Invalid ExpectedCompareResult value"); break; } }
public void CompareToShouldWorkCorrectly( ExpectedCompareResult expectedCompareResult, HandRankType firstHandRankType, ICollection<CardType> firstCardTypes, HandRankType secondHandRankType, ICollection<CardType> secondCardTypes) { var firstBestHand = new BestHand(firstHandRankType, firstCardTypes.Shuffle().ToList()); var secondBestHand = new BestHand(secondHandRankType, secondCardTypes.Shuffle().ToList()); var compareToResultFirstSecond = firstBestHand.CompareTo(secondBestHand); var compareToResultSecondFirst = secondBestHand.CompareTo(firstBestHand); switch (expectedCompareResult) { case ExpectedCompareResult.FirstShouldBeBetter: Assert.IsTrue(compareToResultFirstSecond > 0, "compareToResultFirstSecond > 0"); Assert.IsTrue(compareToResultSecondFirst < 0, "compareToResultSecondFirst < 0"); break; case ExpectedCompareResult.SecondShouldBeBetter: Assert.IsTrue(compareToResultFirstSecond < 0, "compareToResultFirstSecond < 0"); Assert.IsTrue(compareToResultSecondFirst > 0, "compareToResultSecondFirst > 0"); break; case ExpectedCompareResult.TheyShouldBeEqual: Assert.AreEqual(0, compareToResultFirstSecond); Assert.AreEqual(0, compareToResultSecondFirst); break; default: Assert.Fail("Invalid ExpectedCompareResult value"); break; } }