public static void Main(string[] args) { List <IBowlingFrame> frames = InitializeFrames(args); BowlingGame bowlingGame = new BowlingGame(frames); FrameScores scores = bowlingGame.CalculateFrameScores(); OutputScoresToConsole(args, scores); }
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); }
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); }
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); }
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); }
public void TotalSum_Of_EmptyFrameScores() { app.FrameScores scores = new app.FrameScores(); Assert.Equal(0, scores.TotalScore); }