2 * Karinto Library Project
\r
4 * This software is distributed under a zlib-style license.
\r
5 * See license.txt for more information.
\r
9 using System.Collections.Generic;
\r
11 using System.Diagnostics;
\r
13 using NUnit.Framework;
\r
14 using AnalogChannel = Karinto.Xml.Hioki.HicorderAnalogChannelRow;
\r
16 namespace KarintoTest
\r
19 public class HiokiHicorderDataReaderTest
\r
21 private static double e = 1e-6;
\r
24 public void Read8855()
\r
26 HiokiHicorderDataReader reader = new HiokiHicorderDataReader();
\r
27 HiokiHicorderData data = reader.Read("Resources/hioki8855.mem");
\r
29 Assert.AreEqual("8855", data.Settings.Model);
\r
30 Assert.AreEqual("V 2.55", data.Settings.RomVersion);
\r
31 Assert.AreEqual("MEM", data.Settings.Function);
\r
32 Assert.AreEqual("100DIV", data.Settings.Shot);
\r
33 Assert.AreEqual(123, data.Settings.SaveDataNumber);
\r
34 DateTime d = new DateTime(2010, 11, 12, 13, 14, 15, 160, DateTimeKind.Local);
\r
35 Assert.AreEqual(d, data.Settings.TrigDate);
\r
36 Assert.AreEqual(100, data.Settings.SamplePerDiv);
\r
37 Assert.AreEqual(200e-6m, data.Settings.TimePerDiv);
\r
38 Assert.AreEqual(2e-6m, data.Settings.TimePerSample);
\r
39 Assert.AreEqual("SINGLE", data.Settings.TrigMode);
\r
40 Assert.AreEqual("OR", data.Settings.TrigSource);
\r
41 Assert.AreEqual("0 %", data.Settings.PreTrig);
\r
42 Assert.AreEqual(2, data.Settings.UseChannel);
\r
43 Assert.AreEqual("SET&COM", data.Settings.TitleSetting);
\r
44 Assert.AreEqual("KarintoTest", data.Settings.Title);
\r
46 AnalogChannel ch1 = data.ChannelData[0];
\r
47 Assert.AreEqual(data.Ch1, ch1);
\r
48 Assert.AreEqual(123, ch1.Length);
\r
49 Assert.AreEqual(0.84, ch1[0], 0.84 * e);
\r
50 Assert.AreEqual(0.9025, ch1[50], 0.9025 * e);
\r
51 Assert.AreEqual(0.9925, ch1[122], 0.9925 * e);
\r
53 AnalogChannel ch2 = data.Ch2;
\r
54 Assert.AreEqual(123, ch2.Length);
\r
55 Assert.AreEqual(0.0, ch2[0], 0.0 * e);
\r
56 Assert.AreEqual(0.04, ch2[50], 0.04 * e);
\r
57 Assert.AreEqual(0.0976, ch2[122], 0.0976 * e);
\r
59 Assert.AreEqual(data.Ch1, data.GetAnalogChannel(1));
\r
60 Assert.AreEqual(data.Ch2, data.GetAnalogChannel(2));
\r
61 Assert.AreEqual(data.Units[0][1], data.GetAnalogChannel(1));
\r
62 Assert.AreEqual(data.Units[0][2], data.GetAnalogChannel(2));
\r
66 public void Read886050()
\r
68 HiokiHicorderDataReader reader = new HiokiHicorderDataReader();
\r
69 HiokiHicorderData data = reader.Read("Resources/hioki886050.mem");
\r
70 Assert.AreEqual("8860-50", data.Settings.Model);
\r
71 Assert.AreEqual("V 3.09", data.Settings.RomVersion);
\r
72 Assert.AreEqual("MEM", data.Settings.Function);
\r
73 Assert.AreEqual("200 DIV", data.Settings.Shot);
\r
74 Assert.AreEqual(123, data.Settings.SaveDataNumber);
\r
75 DateTime d = new DateTime(2010, 11, 12, 13, 14, 15, 160, DateTimeKind.Local);
\r
76 Assert.AreEqual(d, data.Settings.TrigDate);
\r
77 Assert.AreEqual(100, data.Settings.SamplePerDiv);
\r
78 Assert.AreEqual(20e-3m, data.Settings.TimePerDiv);
\r
79 Assert.AreEqual(200e-6m, data.Settings.TimePerSample);
\r
80 Assert.AreEqual("AUTO", data.Settings.TrigMode);
\r
81 Assert.AreEqual("OR", data.Settings.TrigSource);
\r
82 Assert.AreEqual("0%", data.Settings.PreTrig);
\r
83 Assert.AreEqual(2, data.Settings.UseChannel);
\r
84 Assert.AreEqual("SETTING", data.Settings.TitleSetting);
\r
85 Assert.AreEqual("KarintoTest", data.Settings.Title);
\r
87 AnalogChannel ch1 = data.GetAnalogChannel(1, 1);
\r
88 Assert.AreEqual(123, ch1.Length);
\r
89 Assert.AreEqual(-0.19, ch1[0], 0.19 * e);
\r
90 Assert.AreEqual(-0.1275, ch1[50], 0.1275 * e);
\r
91 Assert.AreEqual(-37.5e-3, ch1[122], 37.5e-3 * e);
\r
93 AnalogChannel ch2 = data.GetAnalogChannel(1, 2);
\r
94 Assert.AreEqual(123, ch2.Length);
\r
95 Assert.AreEqual(-243.75e-6, ch2[0], 243.75e-6 * e);
\r
96 Assert.AreEqual(39.75625e-3, ch2[50], 39.75625e-3 * e);
\r
97 Assert.AreEqual(97.35625e-3, ch2[122], 97.35625e-3 * e);
\r