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);
        }
示例#2
0
        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);
        }