public void ThreePairsGivesThreeHundredTest() { var dices = TestUtils.GenerateDices(new[] { 1, 1, 4, 4, 5, 5 }); Assert.AreEqual(300, DiceCombinationAnalyzer.Analyze(dices)); // TODO: This test is not extensive. Should somehow test all possible Three Pairs }
public void ThreeDiceWithOnesAndFivesTest() { var dices = TestUtils.GenerateDices(new[] { 1, 1, 5 }); Assert.AreEqual(250, DiceCombinationAnalyzer.Analyze(dices)); dices = TestUtils.GenerateDices(new[] { 1, 5, 5 }); Assert.AreEqual(200, DiceCombinationAnalyzer.Analyze(dices)); }
public void ThreeOrMoreDicesWithValueOneGivesThousandPointsTest() { // Three or more dices with value one gives a score of 1000*2^(numberOfDices-3) for (int numberOfDices = 3; numberOfDices <= 6; numberOfDices++) { List <int> diceValues = new List <int>(); for (int i = 1; i <= numberOfDices; i++) { diceValues.Add(1); } var dices = TestUtils.GenerateDices(diceValues.ToArray()); var expectedScore = 1000 * Math.Pow(2, (numberOfDices - 3)); Assert.AreEqual(expectedScore, DiceCombinationAnalyzer.Analyze(dices)); } }
public void ThreeOrMoreOfAnyValueExceptOneTest() { // Test the cases of 3, 4, 5 and 6 dices of each dice value for (int numberOfDices = 3; numberOfDices <= 6; numberOfDices++) { // Test all dice values except ones for (int diceValue = 2; diceValue <= 6; diceValue++) { List <int> diceValues = new List <int>(); // Generate dices of the current dice value and number of dices for (int i = 1; i <= numberOfDices; i++) { diceValues.Add(diceValue); } var dices = TestUtils.GenerateDices(diceValues.ToArray()); var expectedScore = (numberOfDices - 2) * 100 * diceValue; Assert.AreEqual(expectedScore, DiceCombinationAnalyzer.Analyze(dices)); } } }
public void StraightGivesSixHundredTest() { var dices = TestUtils.GenerateDices(new[] { 1, 2, 3, 4, 5, 6 }); Assert.AreEqual(600, DiceCombinationAnalyzer.Analyze(dices)); }
public void TwoDiceWithValueOneAndFiveTest() { var dices = TestUtils.GenerateDices(new[] { 1, 5 }); Assert.AreEqual(150, DiceCombinationAnalyzer.Analyze(dices)); }
public void SingleDiceWithValueFiveTest() { var dices = TestUtils.GenerateDices(new[] { 5 }); Assert.AreEqual(50, DiceCombinationAnalyzer.Analyze(dices)); }
public void HasAnythingThreeOfSomethingTest() { var dices = TestUtils.GenerateDices(new int[] { 2, 2, 3, 4, 6, 2 }); Assert.IsTrue(DiceCombinationAnalyzer.HasAnything(dices)); }
public void HasAnythingASingleFiveTest() { var dices = TestUtils.GenerateDices(new int[] { 2, 5, 3, 4, 6 }); Assert.IsTrue(DiceCombinationAnalyzer.HasAnything(dices)); }
public void HasNothingTest() { var dices = TestUtils.GenerateDices(new int[] { 2, 3, 3, 4, 6, 4 }); Assert.IsFalse(DiceCombinationAnalyzer.HasAnything(dices)); }