示例#1
0
        private static LowranceLogData ReadFile(string filename, bool verbose)
        {
            var stopWatch = new Stopwatch();

            if (verbose)
            {
                Console.WriteLine("Reads file: {0}", filename);
            }

            LowranceLogData data;

            try
            {
                using (var stream = new FileStream(filename, FileMode.Open, FileAccess.Read))
                {
                    stopWatch.Start();
                    data = LowranceLogData.ReadFromStream(stream);
                    stopWatch.Stop();
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
                return(null);
            }

            if (verbose)
            {
                Console.WriteLine("Read time: " + stopWatch.Elapsed + "\n");
                stopWatch.Reset();
                LowranceLogDataInfo(data);
            }

            return(data);
        }
示例#2
0
        public void CsvLogDataReadWriteTest()
        {
            var testDir     = TestContext.CurrentContext.TestDirectory;
            var solutionDir = Path.GetDirectoryName(Path.GetDirectoryName(testDir));

            var csvWriteData = new CsvLogData();
            var csvReadData  = new CsvLogData();

            //takes csv data from demo .sl2
            using (var fromSl2Stream = new FileStream(solutionDir + @"\input.sl2", FileMode.Open, FileAccess.Read))
            {
                csvWriteData.Points = LowranceLogData.ReadFromStream(fromSl2Stream).Frames
                                      .Select(frame => new CsvLogEntry(frame));
            }

            //write it with csv format
            using (var toStream = new FileStream(testDir + @"\testCSVData.csv", FileMode.Create, FileAccess.Write))
            {
                CsvLogData.WriteToStream(toStream, csvWriteData);
            }

            using (var fromCSVStream = new FileStream(testDir + @"\testCSVData.csv", FileMode.Open, FileAccess.Read))
            {
                csvReadData = CsvLogData.ReadFromStream(fromCSVStream);
            }

            var writeDepthPoints = csvWriteData.Points as IDepthPointSource[] ?? csvWriteData.Points.ToArray();

            Assert.IsTrue(writeDepthPoints.Count() == csvReadData.Points.Count());

            foreach (var point in writeDepthPoints)
            {
                Assert.IsTrue(csvReadData.Points.Contains(point));
            }
        }