public void FirstHeaderDateTimeTest() { var firstDate = default(DateTime); var recordsRead = -999; using(var stream = DaqDataFileTestUtility.CreateSampleDaqFileStream()) { using(var reader = new DaqDataFileReader(stream)) { recordsRead = reader.ReadNextValidStamp(out firstDate); } } Assert.AreNotEqual(-999, recordsRead, "Tested method was not executed."); Assert.AreNotEqual(-1,firstDate, "Valid date was not found."); Assert.AreNotEqual(default(DateTime), firstDate, "Valid date was not found."); Assert.AreEqual(new DateTime(2010,3,15,19,30,23),firstDate, "Wrong date was read."); }
public static DaqDataFileInfo Create(FileInfo fileInfo) { int nid = 0; string idValue = AnemFileNameRegex.Match(fileInfo.Name).Groups[1].Value; if (String.IsNullOrEmpty(idValue) || 1 != idValue.Length) { return(null); } char idChar = Char.ToUpperInvariant(idValue[0]); if (idChar >= 'A' && idChar <= 'Z') { nid = idChar - 'A'; } else { return(null); } try { using (FileStream fs = File.Open(fileInfo.FullName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) { DateTime stamp; int recordsPassed = -1; using (var reader = new DaqDataFileReader(fs)) { recordsPassed = reader.ReadNextValidStamp(out stamp); } if (recordsPassed >= 0) { if (0 != recordsPassed) { stamp = stamp.Subtract(new TimeSpan(0, 0, recordsPassed)); } return(new DaqDataFileInfo(fileInfo, nid, stamp)); } return(null); } } catch (IOException ioEx) { return(null); } }
public void ReadFirstThreeRecordsTest() { DateTime stamp; // setup the stamp variable to compare Assert.True(DaqDataFileInfo.TryConvert7ByteDateTime( new byte[] { 0x07, 0xda, 0x03, 0x0f, 0x13, 0x1e, 0x17, 0xa5 }, 0, out stamp )); using (var stream = DaqDataFileTestUtility.CreateSampleDaqFileStream()) { using (var reader = new DaqDataFileReader(stream)) { Assert.True(reader.MoveNext()); Assert.AreEqual( PackedReadingValues.FromDeviceBytes(new byte[] { 0x00, 0x01, 0x09, 0x41, 0x33, 0x60, 0x00, 0x1f }, 0), reader.Current.Values ); Assert.AreEqual(stamp.Add(new TimeSpan(0, 0, 0, 1)), reader.Current.TimeStamp); Assert.True(reader.MoveNext()); Assert.AreEqual( PackedReadingValues.FromDeviceBytes(new byte[] { 0x00, 0x01, 0x05, 0x41, 0x33, 0x60, 0x00, 0x1f }, 0), reader.Current.Values ); Assert.AreEqual(stamp.Add(new TimeSpan(0, 0, 0, 2)), reader.Current.TimeStamp); Assert.True(reader.MoveNext()); Assert.AreEqual( PackedReadingValues.FromDeviceBytes(new byte[] { 0x00, 0x01, 0x09, 0x41, 0x33, 0x60, 0x00, 0x1f }, 0), reader.Current.Values ); Assert.AreEqual(stamp.Add(new TimeSpan(0, 0, 0, 3)), reader.Current.TimeStamp); } } }
private static int ProcessFile(FileInfo file) { if (!file.Exists) { Console.WriteLine("ERROR: file '{0}' not found.", file.FullName); return 1; } try { // try to convert daq to csv using (var daqDataFileReader = new DaqDataFileReader(file)) { return SaveDump(ReadAll(daqDataFileReader), file.FullName); } } catch (IOException ex) { if (!file.Extension.EndsWith("csv", StringComparison.OrdinalIgnoreCase)) Console.WriteLine("ERROR: csv may already exist."); } catch (Exception ex) { return 1; } return 2; }
private static IEnumerable<PackedReading> ReadAll(DaqDataFileReader reader) { while (reader.MoveNext()) { yield return reader.Current; } }
public static DaqDataFileInfo Create(FileInfo fileInfo) { int nid = 0; string idValue = AnemFileNameRegex.Match(fileInfo.Name).Groups[1].Value; if (String.IsNullOrEmpty(idValue) || 1 != idValue.Length) { return null; } char idChar = Char.ToUpperInvariant(idValue[0]); if (idChar >= 'A' && idChar <= 'Z') { nid = idChar - 'A'; } else { return null; } try { using (FileStream fs = File.Open(fileInfo.FullName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) { DateTime stamp; int recordsPassed = -1; using (var reader = new DaqDataFileReader(fs)) { recordsPassed = reader.ReadNextValidStamp(out stamp); } if (recordsPassed >= 0) { if (0 != recordsPassed) { stamp = stamp.Subtract(new TimeSpan(0, 0, recordsPassed)); } return new DaqDataFileInfo(fileInfo, nid, stamp); } return null; } } catch (IOException ioEx) { return null; } }