public void RightTest_ShouldReturnChangedDirection_WhenCorrectComamndIsGiven(CardinalDirectionTypesEnum currentDirection, CardinalDirectionTypesEnum newDirection) { //Arrange movementProcessor.CurrentDirection = currentDirection; //Act var result = movementProcessor.Right(); //Assert Assert.That(movementProcessor.CurrentDirection, Is.EqualTo(newDirection)); }
private bool IsMoveValid(CardinalDirectionTypesEnum movingDirection) { try { switch (movingDirection) { case CardinalDirectionTypesEnum.NORTH: if (YPosition == 5) { return(false); } break; case CardinalDirectionTypesEnum.EAST: if (XPosition == 5) { return(false); } break; case CardinalDirectionTypesEnum.SOUTH: if (YPosition == 0) { return(false); } break; case CardinalDirectionTypesEnum.WEST: if (XPosition == 0) { return(false); } break; } } catch (Exception ex) { StatusMessage = UNKNOWN_ERROR; return(false); } return(true); }
private bool IsPlacementValid(int X, int Y, CardinalDirectionTypesEnum defaultDirection) { try { //Should be within the grid from 0-5 if (X < 0 || Y < 0 || X > MaxX || Y > MaxY) { StatusMessage = INVALID_POSITION; return(false); } } catch (Exception ex) { StatusMessage = UNKNOWN_ERROR; return(false); } return(true); }
public bool Place(int X, int Y, CardinalDirectionTypesEnum defaultDirection) { try { if (!IsPlacementValid(X, Y, defaultDirection)) { return(false); } XPosition = X; YPosition = Y; CurrentDirection = defaultDirection; StatusMessage = COMMAND_SUCCESSFULL; } catch (Exception ex) { StatusMessage = UNKNOWN_ERROR; return(false); } return(true); }
public void MoveTest_ShouldReturnFalseWhenPositionToInvalid(int postionX, int positionY, CardinalDirectionTypesEnum cuurrentDirection) { //Arrange movementProcessor.XPosition = postionX; movementProcessor.YPosition = positionY; movementProcessor.CurrentDirection = cuurrentDirection; //Act var result = movementProcessor.Move(); //Assert Assert.That(result, Is.False); }
public void ProcessMovementTest_ShouldReturnFalse_WhenValidArgumentsArepassed(int postionX, int positionY, CardinalDirectionTypesEnum directionType) { //Act var result = movementProcessor.Place(postionX, positionY, directionType); //Assert Assert.That(result, Is.False); }
public void ReportTest_ShouldPrintOutput_WhenCorrectCommandIsGiven(int postionX, int positionY, CardinalDirectionTypesEnum directionType, string output) { //Arrange movementProcessor.XPosition = postionX; movementProcessor.YPosition = positionY; movementProcessor.CurrentDirection = directionType; //Act var result = movementProcessor.Report(); //Assert Assert.That(result, Is.EqualTo(output)); }