示例#1
0
        public void Scorer_IsScoreCorrect()
        {
            Scorer myScorer = new Scorer("testword");

            myScorer.CalculateScore();
            Assert.AreEqual(12, myScorer.Score);
        }
示例#2
0
        public void SomnezSampleInterviewQuestions_Score_Jabbit()
        {
            var scorer = new Scorer();
            var result = scorer.CalculateScore("Jabbt");

            Console.WriteLine(result);

            Assert.AreEqual(13, result);
        }
示例#3
0
        public void SomnezSampleInterviewQuestions_Score_XRayMachine()
        {
            var scorer = new Scorer();
            var result = scorer.CalculateScore("XRay Machine");

            Console.WriteLine(result);

            Assert.AreEqual(20, result);
        }
示例#4
0
        public void TestOneVotesForWrongPerson()
        {
            var room = new RoomBuilder()
                       .WithPlayer(id: "person-1", character: "stick", votedFor: "person-2")
                       .WithPlayer(id: "person-2", character: "stick", votedFor: "person-3")
                       .WithPlayer(id: "person-3", character: "chameleon")
                       .Build();

            var scorer = new Scorer(room);
            var result = scorer.CalculateScore();

            Assert.That(result["person-1"], Is.EqualTo(1));
            Assert.That(result["person-2"], Is.EqualTo(1));
            Assert.That(result["person-3"], Is.EqualTo(1));
        }
示例#5
0
        public void Should_allow_aditional_roll_if_spare_in_the_last_frame()
        {
            // Arrange
            var scorer = new Scorer();

            // Act
            for (int i = 0; i < 18; i++)
            {
                scorer.Roll(0);
            }
            scorer.Roll(1);
            scorer.Roll(9);
            scorer.Roll(9);
            var score = scorer.CalculateScore();

            // Assert
            score.Should().Be(19);
        }
示例#6
0
        private void Start()
        {
            world.endWorldStream.Subscribe(message =>
            {
                var(initialWorld, endWorld) = message;

                populationCounter += 1;

                var score = scorer.CalculateScore(endWorld);
                Debug.Log("Final score: " + score);
                worldScores.Add(new WorldScore(initialWorld, score));

                VisualizeBestWorld();

                if (populationCounter == 10)
                {
                    populationCounter = 0;
                    foreach (var worldMap in GenerateMutatedWorlds())
                    {
                        worldInitializer.worldStates.Enqueue(worldMap);
                    }
                }
            });
        }
示例#7
0
        public void Should_sum_two_subsequent_rolls_if_strike(int[] rolls, int total)
        {
            // Arrange
            var scorer = new Scorer();

            // Act
            foreach (int pins in rolls)
            {
                scorer.Roll(pins);
            }
            var score = scorer.CalculateScore();

            // Assert
            score.Should().Be(total);
        }
示例#8
0
        public void Should_sum_two_subsequent_rolls(
			int firstRoll,
			int secondRoll,
			int total)
        {
            // Arrange
            var scorer = new Scorer();

            // Act
            scorer.Roll(firstRoll);
            scorer.Roll(secondRoll);
            var score = scorer.CalculateScore();

            // Assert
            Assert.AreEqual(total, score);
        }
示例#9
0
        public void Should_sum_one_subsequent_roll_if_spare(
			int first,
			int second,
			int third,
			int total)
        {
            // Arrange
            var scorer = new Scorer();

            // Act
            scorer.Roll(first);
            scorer.Roll(second);
            scorer.Roll(third);
            var score = scorer.CalculateScore();

            // Assert
            score.Should().Be(total);
        }
示例#10
0
        public void Should_return_300_for_the_perfect_game()
        {
            // Arrange
            var scorer = new Scorer();

            // Act
            for (int i = 0; i < 12; i++)
            {
                scorer.Roll(10);
            }
            var score = scorer.CalculateScore();

            // Assert
            score.Should().Be(300);
        }
示例#11
0
        public void Should_return_0_if_no_rolls()
        {
            // Arrange
            var scorer = new Scorer();

            // Act
            int score = scorer.CalculateScore();

            // Assert
            Assert.AreEqual(0, score);
        }
示例#12
0
        public void Should_sum_two_subsequent_rolls_if_triple()
        {
            // Arrange
            var scorer = new Scorer();

            // Act
            scorer.Roll(10);
            scorer.Roll(10);
            scorer.Roll(10);
            scorer.Roll(2);
            scorer.Roll(2);
            scorer.Roll(2);
            var score = scorer.CalculateScore();

            // Assert
            score.Should().Be(72);
        }
示例#13
0
        public void Should_sum_two_subsequent_rolls_if_strike_at_the_beggining_of_the_game()
        {
            // Arrange
            var scorer = new Scorer();

            // Act
            scorer.Roll(10);
            scorer.Roll(2);
            scorer.Roll(2);
            var score = scorer.CalculateScore();

            // Assert
            score.Should().Be(18);
        }