コード例 #1
0
        public void TestBowling_AllStrikes()
        {
            //Assemble
            HardcodedPinPhysics physics = new HardcodedPinPhysics(balls_AllStrikes);
            GoBowling           bowl    = new GoBowling(physics);

            //Act
            int pinsNockedDown01 = bowl.ThrowBall(1);
            int pinsNockedDown02 = bowl.ThrowBall(1);
            int pinsNockedDown03 = bowl.ThrowBall(1);
            int pinsNockedDown04 = bowl.ThrowBall(1);
            int pinsNockedDown05 = bowl.ThrowBall(1);
            int pinsNockedDown06 = bowl.ThrowBall(1);
            int pinsNockedDown07 = bowl.ThrowBall(1);
            int pinsNockedDown08 = bowl.ThrowBall(1);
            int pinsNockedDown09 = bowl.ThrowBall(1);
            int pinsNockedDown10 = bowl.ThrowBall(1);
            int pinsNockedDown11 = bowl.ThrowBall(2);
            int pinsNockedDown12 = bowl.ThrowBall(3);

            //Assert
            Assert.AreEqual(10, pinsNockedDown01);
            Assert.AreEqual(10, pinsNockedDown02);
            Assert.AreEqual(10, pinsNockedDown03);
            Assert.AreEqual(10, pinsNockedDown04);
            Assert.AreEqual(10, pinsNockedDown05);
            Assert.AreEqual(10, pinsNockedDown06);
            Assert.AreEqual(10, pinsNockedDown07);
            Assert.AreEqual(10, pinsNockedDown08);
            Assert.AreEqual(10, pinsNockedDown09);
            Assert.AreEqual(10, pinsNockedDown10);
            Assert.AreEqual(10, pinsNockedDown11);
            Assert.AreEqual(10, pinsNockedDown12);

            CalculateScore calculate  = new CalculateScore();
            int?           totalScore = calculate.TotalScore(bowl.Frames, bowl.Balls, 9);

            Assert.AreEqual(300, totalScore.Value);

            totalScore = calculate.TotalScore(bowl.Frames, bowl.Balls, 5);
            Assert.AreEqual(180, totalScore.Value);

            totalScore = calculate.TotalScore(bowl.Frames, bowl.Balls, 0);
            Assert.AreEqual(30, totalScore.Value);
        }
コード例 #2
0
        public void TestBowling_Mix()
        {
            //Assemble
            HardcodedPinPhysics physics = new HardcodedPinPhysics(balls_Mix);
            GoBowling           bowl    = new GoBowling(physics);

            //Act
            int pinsNockedDown01 = bowl.ThrowBall(1);
            int pinsNockedDown02 = bowl.ThrowBall(2);
            int pinsNockedDown03 = bowl.ThrowBall(1);
            int pinsNockedDown04 = bowl.ThrowBall(2);
            int pinsNockedDown05 = bowl.ThrowBall(1);
            int pinsNockedDown06 = bowl.ThrowBall(1);
            int pinsNockedDown07 = bowl.ThrowBall(2);
            int pinsNockedDown08 = bowl.ThrowBall(1);
            int pinsNockedDown09 = bowl.ThrowBall(2);
            int pinsNockedDown10 = bowl.ThrowBall(1);
            int pinsNockedDown11 = bowl.ThrowBall(2);
            int pinsNockedDown12 = bowl.ThrowBall(1);
            int pinsNockedDown13 = bowl.ThrowBall(2);
            int pinsNockedDown14 = bowl.ThrowBall(1);
            int pinsNockedDown15 = bowl.ThrowBall(2);
            int pinsNockedDown16 = bowl.ThrowBall(1);
            int pinsNockedDown17 = bowl.ThrowBall(2);
            int pinsNockedDown18 = bowl.ThrowBall(1);
            int pinsNockedDown19 = bowl.ThrowBall(2);
            int pinsNockedDown20 = bowl.ThrowBall(3);

            //Assert
            Assert.AreEqual(5, pinsNockedDown01);
            Assert.AreEqual(5, pinsNockedDown02);
            Assert.AreEqual(6, pinsNockedDown03);
            Assert.AreEqual(3, pinsNockedDown04);
            Assert.AreEqual(10, pinsNockedDown05);
            Assert.AreEqual(7, pinsNockedDown06);
            Assert.AreEqual(2, pinsNockedDown07);
            Assert.AreEqual(8, pinsNockedDown08);
            Assert.AreEqual(2, pinsNockedDown09);
            Assert.AreEqual(5, pinsNockedDown10);
            Assert.AreEqual(5, pinsNockedDown11);
            Assert.AreEqual(0, pinsNockedDown12);
            Assert.AreEqual(6, pinsNockedDown13);
            Assert.AreEqual(0, pinsNockedDown14);
            Assert.AreEqual(7, pinsNockedDown15);
            Assert.AreEqual(2, pinsNockedDown16);
            Assert.AreEqual(2, pinsNockedDown17);
            Assert.AreEqual(10, pinsNockedDown18);
            Assert.AreEqual(4, pinsNockedDown19);
            Assert.AreEqual(4, pinsNockedDown20);

            CalculateScore calculate  = new CalculateScore();
            int?           totalScore = calculate.TotalScore(bowl.Frames, bowl.Balls, 9);

            Assert.AreEqual(113, totalScore.Value);

            totalScore = calculate.TotalScore(bowl.Frames, bowl.Balls, 5);
            Assert.AreEqual(78, totalScore.Value);

            totalScore = calculate.TotalScore(bowl.Frames, bowl.Balls, 0);
            Assert.AreEqual(16, totalScore.Value);
        }