public void ShouldReportPositionAndFacingDirection([Range(0, TableSize)] int xPosition, [Range(0, TableSize)] int yPosition, SouthFacingDirection facingDirection) { _robot.Place(xPosition, yPosition, facingDirection); _robot.Report(); _messageWriterMock.Received(1).Write($"Current position: ({xPosition}, {yPosition}), Facing: {facingDirection.ToString()}"); }
public void ShouldBePlacedInTheRightPosition([Range(0, TableSize)] int xPosition, [Range(0, TableSize)] int yPosition, SouthFacingDirection facingDirection) { _robot.Place(xPosition, yPosition, facingDirection); _robot.Position.Value.X.Should().Be(xPosition); _robot.Position.Value.Y.Should().Be(yPosition); _robot.FacingDirection.Should().Be(facingDirection); }
public void ShouldBeAbleToBePlacedMultipleTimes([Range(0, TableSize)] int xPosition, [Range(0, TableSize)] int yPosition, SouthFacingDirection facingDirection) { _robot.Place(1, 4, new NorthFacingDirection()); _robot.Place(0, 1, new WestFacingDirection()); _robot.Place(xPosition, yPosition, facingDirection); _robot.Position.Value.X.Should().Be(xPosition); _robot.Position.Value.Y.Should().Be(yPosition); _robot.FacingDirection.Should().Be(facingDirection); }