Пример #1
0
        public static void Main(string[] args)
        {
            List <IBowlingFrame> frames      = InitializeFrames(args);
            BowlingGame          bowlingGame = new BowlingGame(frames);
            FrameScores          scores      = bowlingGame.CalculateFrameScores();

            OutputScoresToConsole(args, scores);
        }
Пример #2
0
        private static void OutputScoresToConsole(string[] args, FrameScores framesScore)
        {
            Console.WriteLine(args[1]);
            Console.WriteLine(framesScore.ToString());
            int totalScore = framesScore.TotalScore;

            Console.WriteLine(totalScore > 0 ? totalScore.ToString() : "-");
        }
        public void Test_EmptyFrames()
        {
            List <IBowlingFrame> frames = new List <IBowlingFrame>();

            BowlingGame bowlingGame = new BowlingGame(frames);

            app.FrameScores scores = bowlingGame.CalculateFrameScores();

            Assert.Equal(0, scores.TotalScore);
        }
        public void Test_OneOpenFrame()
        {
            List <IBowlingFrame> frames = new List <IBowlingFrame>();

            frames.Add(new OpenFrame(new Roll(1), new Roll(1)));

            BowlingGame bowlingGame = new BowlingGame(frames);

            app.FrameScores scores = bowlingGame.CalculateFrameScores();

            Assert.Equal(2, scores.TotalScore);
        }
Пример #5
0
        public FrameScores CalculateFrameScores()
        {
            FrameScores scores = new FrameScores();

            var framesQueue = new BowlingFramesQueue(_frames);

            while (framesQueue.TryDequeue(out var frame))
            {
                IFrameScore score = frame.GetScore(framesQueue);
                scores.Add(score);
            }

            return(scores);
        }
Пример #6
0
        public void TotalSum_Of_FrameScores()
        {
            app.FrameScores    scores    = new app.FrameScores();
            Mock <IFrameScore> scoreMock = new Mock <IFrameScore>();

            scoreMock
            .Setup(score => score.Value)
            .Returns(1);

            scores.Add(scoreMock.Object);
            scores.Add(scoreMock.Object);
            scores.Add(scoreMock.Object);
            Assert.Equal(3, scores.TotalScore);
        }
Пример #7
0
        public void TotalSum_Of_FrameScores_AtFirstOpenScore_IsZero()
        {
            app.FrameScores    scores    = new app.FrameScores();
            Mock <IFrameScore> scoreMock = new Mock <IFrameScore>();

            scoreMock
            .Setup(score => score.Value)
            .Returns(1);
            Mock <IFrameScore> openScoreMock = new Mock <IFrameScore>();

            openScoreMock
            .Setup(score => score.Value)
            .Returns(0);
            openScoreMock
            .Setup(score => score.IsOpen)
            .Returns(true);

            scores.Add(openScoreMock.Object);
            scores.Add(scoreMock.Object);
            Assert.Equal(0, scores.TotalScore);
        }
Пример #8
0
 public void TotalSum_Of_EmptyFrameScores()
 {
     app.FrameScores scores = new app.FrameScores();
     Assert.Equal(0, scores.TotalScore);
 }