private void ValidateInitialPositionAndOrientation(InitialPositionAndOrientation initPosAndOrient) { bool isPositionValid = mineRovers.arena.CheckPosition(initPosAndOrient.X, initPosAndOrient.Y); bool isOrientationValid = OrientationValidator.checkCharacter(initPosAndOrient.Orientation); if (!isPositionValid) { throw new Exception("Initial position invalid"); } if (!isOrientationValid) { throw new Exception("Initial orientation invalid"); } }
public static InitialPositionAndOrientation TranslateInitialPositionAndOrientation(string initPosAndOrient) { var initPosAndOrientTranslated = new InitialPositionAndOrientation(); string[] dataChunk = initPosAndOrient.Split(' '); bool xIsValid = Int32.TryParse(dataChunk[0], out initPosAndOrientTranslated.X); bool yIsValid = Int32.TryParse(dataChunk[1], out initPosAndOrientTranslated.Y); initPosAndOrientTranslated.Orientation = dataChunk[2][0]; if (!xIsValid || !yIsValid) { initPosAndOrientTranslated = null; } return(initPosAndOrientTranslated); }