Ejemplo n.º 1
0
            public void ResolveLastFrameResult_Spare()
            {
                var resultType = FrameResultResolver.ResolveLastFrameResult(CreateRolls(1, maxPinCount - 1), maxPinCount);

                resultType.Should().BeEquivalentTo(new FrameResultType[] { FrameResultType.InProgress, FrameResultType.Spare });

                resultType = FrameResultResolver.ResolveLastFrameResult(CreateRolls(1, maxPinCount - 1, maxPinCount), maxPinCount);
                resultType.Should().BeEquivalentTo(new FrameResultType[] { FrameResultType.InProgress, FrameResultType.Spare, FrameResultType.Strike });
            }
Ejemplo n.º 2
0
            public void ResolveLastFrameResult_CheckRollsCountRange()
            {
                Action action = () => FrameResultResolver.ResolveLastFrameResult(new Roll[0], maxPinCount);

                action.Should().Throw <Exception>().WithMessage("FrameResult를 구할 수 없는 상태입니다.");

                action = () => FrameResultResolver.ResolveLastFrameResult(CreateRolls(1, 2, 3, 4), maxPinCount);
                action.Should().Throw <Exception>().WithMessage("FrameResult를 구할 수 없는 상태입니다.");
            }
Ejemplo n.º 3
0
            public void ResolveLastFrameResult_Stirkes()
            {
                var resultType = FrameResultResolver.ResolveLastFrameResult(CreateRolls(maxPinCount), maxPinCount);

                resultType.Should().BeEquivalentTo(new FrameResultType[] { FrameResultType.Strike });

                resultType = FrameResultResolver.ResolveLastFrameResult(CreateRolls(maxPinCount, maxPinCount), maxPinCount);
                resultType.Should().BeEquivalentTo(new FrameResultType[] { FrameResultType.Strike, FrameResultType.Strike });

                resultType = FrameResultResolver.ResolveLastFrameResult(CreateRolls(maxPinCount, maxPinCount, maxPinCount), maxPinCount);
                resultType.Should().BeEquivalentTo(new FrameResultType[] { FrameResultType.Strike, FrameResultType.Strike, FrameResultType.Strike });
            }
Ejemplo n.º 4
0
            public void ResolveLastFrameResult_Open()
            {
                var resultType = FrameResultResolver.ResolveLastFrameResult(CreateRolls(1), maxPinCount);

                resultType.Should().BeEquivalentTo(new FrameResultType[] { FrameResultType.InProgress });

                resultType = FrameResultResolver.ResolveLastFrameResult(CreateRolls(1, 2), maxPinCount);
                resultType.Should().BeEquivalentTo(new FrameResultType[] { FrameResultType.InProgress, FrameResultType.Open });

                Action action = () => FrameResultResolver.ResolveLastFrameResult(CreateRolls(1, 2, 3), maxPinCount);

                action.Should().Throw <Exception>().WithMessage("FrameResult를 구할 수 없는 상태입니다.");
            }
Ejemplo n.º 5
0
            public void ResolveRegularFrameResult_EmptyRolls()
            {
                Action action = () => FrameResultResolver.ResolveRegularFrameResult(new Roll[0], maxPinCount);

                action.Should().Throw <Exception>().WithMessage("FrameResult를 구할 수 없는 상태입니다.");
            }
Ejemplo n.º 6
0
            public void ResolveRegularFrameResult_TooMuchRolls()
            {
                Action action = () => FrameResultResolver.ResolveRegularFrameResult(CreateRolls(1, 2, 3), maxPinCount);

                action.Should().Throw <Exception>().WithMessage("FrameResult를 구할 수 없는 상태입니다.");
            }
Ejemplo n.º 7
0
            public void ResolveRegularFrameResult_Open()
            {
                var resultType = FrameResultResolver.ResolveRegularFrameResult(CreateRolls(1, 2), maxPinCount);

                resultType.Should().Be(FrameResultType.Open);
            }
Ejemplo n.º 8
0
            public void ResolveRegularFrameResult_InProgress()
            {
                var resultType = FrameResultResolver.ResolveRegularFrameResult(CreateRolls(1), maxPinCount);

                resultType.Should().Be(FrameResultType.InProgress);
            }
Ejemplo n.º 9
0
            public void ResolveRegularFrameResult_Spare()
            {
                var resultType = FrameResultResolver.ResolveRegularFrameResult(CreateRolls(maxPinCount - 1, 1), maxPinCount);

                resultType.Should().Be(FrameResultType.Spare);
            }