コード例 #1
0
        public void ShouldNotExecuteOutsideLimitsWhenOnNegativePosition()
        {
            var       startingPosition = new Position(-2, 0);
            const int steps            = 5;
            const int positionLimit    = 4;

            var command = new WestCommand(steps);

            var(lastPosition, positions) = command.Execute(startingPosition, positionLimit);

            var expectedLastPosition = new Position(-4, 0);
            var expectedPositions    = new List <Position>
            {
                new Position(-2, 0),
                new Position(-3, 0),
                new Position(-4, 0)
            };

            lastPosition.Should().Be(expectedLastPosition);
            positions.Should().BeEquivalentTo(expectedPositions);
        }
コード例 #2
0
        public void ShouldExecute()
        {
            var       startingPosition = new Position(2, -3);
            const int steps            = 3;
            const int positionLimit    = 10;

            var command = new WestCommand(steps);

            var(lastPosition, positions) = command.Execute(startingPosition, positionLimit);

            var expectedLastPosition = new Position(-1, -3);
            var expectedPositions    = new List <Position>
            {
                new Position(2, -3),
                new Position(1, -3),
                new Position(0, -3),
                new Position(-1, -3)
            };

            lastPosition.Should().Be(expectedLastPosition);
            positions.Should().BeEquivalentTo(expectedPositions);
        }