public void GivenAssertionsAreCorrect()
        {
            var game = new Greed(false);

            Assert.AreEqual(1150, game.Score(new[] { 1, 1, 1, 5, 1 }));
            Assert.AreEqual(0, game.Score(new[] { 2, 3, 4, 6, 2 }));
            Assert.AreEqual(350, game.Score(new[] { 3, 4, 5, 3, 3 }));
            Assert.AreEqual(250, game.Score(new[] { 1, 5, 1, 2, 4 }));
        }
        public void FourOnesAreWorth1100()
        {
            var game  = new Greed(false);
            int score = game.Score(new[] { 1, 1, 1, 1 });

            Assert.AreEqual(1100, score);
        }
        public void ShouldScore800With3PairsAnd6TwosBasicRulesAnd3PairsRuleOnly()
        {
            var game = new Greed(false);

            game.AddScoringRule(new ThreePairsRule());
            Assert.AreEqual(800, game.Score(new[] { 2, 2, 2, 2, 2, 2 }));
        }
示例#4
0
        public void Score_RollingAGivenSequence_ShouldScoreAppropriately(int[] roll, int expectedScore)
        {
            //arrange
            Greed greed = new Greed();

            int[] diceRoll = roll;
            greed.Roll(diceRoll);

            //act
            int score = greed.Score();

            //assert
            score.Should().Be(expectedScore, $"because rolling {string.Join(",", diceRoll)} should earn {expectedScore} points");
        }
        public void NoSetsResultsInZeroScore()
        {
            int score = _greedGame.Score(new int[] { 2, 3, 4, 3, 2 });

            Assert.AreEqual(0, score);
        }
示例#6
0
 public static void ShouldBeWorthless()
 {
     Assert.AreEqual(0, Greed.Score(new int[] { 2, 3, 4, 6, 2 }), "Should be 0 :-(");
 }
示例#7
0
 public static void Tripplets4()
 {
     Assert.AreEqual(1100, Greed.Score(new int[] { 1, 1, 1, 1, 2 }), "Should be 1100");
 }
示例#8
0
 public static void Tripplets3()
 {
     Assert.AreEqual(300, Greed.Score(new int[] { 3, 3, 3, 2, 2 }), "Should be 300");
 }
示例#9
0
 public static void Tripplets2()
 {
     Assert.AreEqual(300, Greed.Score(new int[] { 1, 1, 3, 5, 5 }), "Should be 300");
 }
示例#10
0
 public static void ShouldValueMixedSets()
 {
     Assert.AreEqual(450, Greed.Score(new int[] { 2, 4, 4, 5, 4 }), "Should be 450");
 }
示例#11
0
 public static void ShouldValueTriplets()
 {
     Assert.AreEqual(400, Greed.Score(new int[] { 4, 4, 4, 3, 3 }), "Should be 400");
 }
 public int CalculateScore()
 {
     greedGame = new Greed(diceOption.UseAllRules);
     return(greedGame.Score(rolledDice));
 }