public void InputPolyLineNode_AddPolyLineNode() { var expectedPolyLineNodes = new List <Vector3>(); var expectedPolyLineNode = new Vector3(1, 1, 1); expectedPolyLineNodes.Add(expectedPolyLineNode); trajectory.AddNode(expectedPolyLineNode); var actualPolyLineNodes = trajectory.polyLineNodes; Assert.Equal(expectedPolyLineNodes, actualPolyLineNodes); }
public Trajectory ReadFile(string path, out string errorMessage) { try { errorMessage = ""; using (StreamReader sr = new StreamReader(path)) { string fileName = path.Split('.')[0].Split('\\').Last(); if (TryParseFileName(fileName, out errorMessage)) { string wellName = fileName.Split('-')[0]; string trajectoryName = fileName.Split('-')[1]; DistanceUnit distanceUnit = ParseUnit(sr.ReadLine(), out errorMessage); if (string.IsNullOrEmpty(errorMessage)) { Trajectory newTrajectory = new Trajectory(path, wellName, trajectoryName, distanceUnit); int lineNumber = 1; string line; while (!string.IsNullOrEmpty(line = sr.ReadLine())) { Vector3 point = ParseLine(lineNumber, line, out errorMessage); if (!string.IsNullOrEmpty(errorMessage)) { return(null); } newTrajectory.AddNode(point); lineNumber++; } return(newTrajectory); } } } } catch (FileNotFoundException) { errorMessage = "Error: File not found."; } catch (UnauthorizedAccessException) { errorMessage = "Error: File not accessible."; } catch (Exception ex) { errorMessage = "Failed to read trajectory data from file. Error: " + ex.Message; } return(null); }