public void testRulesNoRules() { ScoreSheet scoreSheet = new ScoreSheet(); scoreSheet.setupGame("Yacht"); List<String> rules = scoreSheet.getRules(); foreach (string str in rules) { Assert.AreNotEqual("If you score at least 63 points in the upper categories, you gain a bonus 35 points.", str); Assert.AreNotEqual("For each additional Yahtzee you roll with a non-zero score in the Yahtzee category, you gain an additional 100 points.", str); Assert.AreNotEqual("If you roll a Yahtzee but the Yahztzee category is already scored, then Joker Rules go into effect. If you can get a nonzero score in an upper category, you must score there. Otherwise, you must score in a lower category. The normal scoring restrictions do not apply. If all lower categories are filled, you must take a 0 in an upper category.", str); } }
public void testRulesStandard() { ScoreSheet scoreSheet = new ScoreSheet(); scoreSheet.setupGame("Yahtzee"); List<String> rules = scoreSheet.getRules(); Assert.AreEqual("Welcome to Yahtzee! Here are the scoring rules for you game.", rules[0]); Assert.AreEqual("", rules[1]); Assert.AreEqual("How to each category scores:", rules[2]); Assert.AreEqual("Aces: Scores the sum of all dice showing 1.", rules[3]); Assert.AreEqual("Twos: Scores the sum of all dice showing 2.", rules[4]); Assert.AreEqual("Threes: Scores the sum of all dice showing 3.", rules[5]); Assert.AreEqual("Fours: Scores the sum of all dice showing 4.", rules[6]); Assert.AreEqual("Fives: Scores the sum of all dice showing 5.", rules[7]); Assert.AreEqual("Sixes: Scores the sum of all dice showing 6.", rules[8]); Assert.AreEqual("Three of a Kind: If there are three matching dice, score the total of all dice. Otherwise, score 0.", rules[9]); Assert.AreEqual("Four of a Kind: If there are four matching dice, score the total of all dice. Otherwise, score 0.", rules[10]); Assert.AreEqual("Full House: If there are three of one value and two of a different value, score 25. Otherwise, score 0.", rules[11]); Assert.AreEqual("Small Straight: If the dice show four consecutive values, score 30. Otherwise, score 0.", rules[12]); Assert.AreEqual("Large Straight: If the dice show five consecutive numbers, score 40. Otherwise, score 0.", rules[13]); Assert.AreEqual("Yahtzee: If all dice show the same value, score 50. Otherwise, score 0.", rules[14]); Assert.AreEqual("Chance: Score total of all dice.", rules[15]); Assert.AreEqual("", rules[16]); Assert.AreEqual("If you score at least 63 points in the upper categories, you gain a bonus 35 points.", rules[17]); Assert.AreEqual("", rules[18]); Assert.AreEqual("For each additional Yahtzee you roll with a non-zero score in the Yahtzee category, you gain an additional 100 points.", rules[19]); Assert.AreEqual("", rules[20]); Assert.AreEqual("If you roll a Yahtzee but the Yahztzee category is already scored, then Joker Rules go into effect. If you can get a nonzero score in an upper category, you must score there. Otherwise, you must score in a lower category. The normal scoring restrictions do not apply. If all lower categories are filled, you must take a 0 in an upper category.", rules[21]); }
public void testRulesBonus() { ScoreSheet scoreSheet = new ScoreSheet(); scoreSheet.setupGame("Yatzy"); List<String> rules = scoreSheet.getRules(); Assert.AreEqual("If you score at least 63 points in the upper categories, you gain a bonus 50 points.", rules[19]); }