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
15 using XY1Table = Karinto.Xml.Data.XY1ChDataTable;
\r
16 using XY2Table = Karinto.Xml.Data.XY2ChDataTable;
\r
17 using NUnit.Framework;
\r
19 namespace KarintoTest
\r
22 public class CsvWriterTest
\r
26 public void XY2chData()
\r
28 File.Delete("Resources/d_d_d_out.csv");
\r
30 CsvReader<XY2Table> reader = new CsvReader<XY2Table>();
\r
31 XY2Table source = reader.Read("Resources/d_d_d.csv");
\r
33 CsvWriter<XY2Table> writer = new CsvWriter<XY2Table>();
\r
34 writer.Write("Resources/d_d_d_out.csv", source);
\r
36 XY2Table table = reader.Read("Resources/d_d_d_out.csv");
\r
38 Assert.AreEqual("X", table.XColumn.Caption);
\r
39 Assert.AreEqual("Y1", table.Y1Column.Caption);
\r
40 Assert.AreEqual("Y2", table.Y2Column.Caption);
\r
42 Assert.AreEqual(0.0, table[0].X);
\r
43 Assert.AreEqual(5.0, table[50].X);
\r
44 Assert.AreEqual(10.0, table[100].X);
\r
46 Assert.AreEqual(0.0, table[0].Y1);
\r
47 Assert.AreEqual(0.0, table[50].Y1);
\r
48 Assert.AreEqual(0.0, table[100].Y1);
\r
50 Assert.AreEqual(0.0, table[0].Y2);
\r
51 Assert.AreEqual(1.0, table[50].Y2);
\r
52 Assert.AreEqual(0.0, table[100].Y2);
\r
57 public void XY2chDataWithCaption()
\r
59 File.Delete("Resources/d_d_d_out.csv");
\r
61 CsvReader<XY2Table> reader = new CsvReader<XY2Table>();
\r
62 XY2Table source = reader.ReadWithCaption("Resources/d_d_d.csv");
\r
64 CsvWriter<XY2Table> writer = new CsvWriter<XY2Table>();
\r
65 writer.WriteWithCaption("Resources/d_d_d_out.csv", source);
\r
67 XY2Table table = reader.ReadWithCaption("Resources/d_d_d_out.csv");
\r
69 Assert.AreEqual("Header1", table.XColumn.Caption);
\r
70 Assert.AreEqual("Header2", table.Y1Column.Caption);
\r
71 Assert.AreEqual("Header3", table.Y2Column.Caption);
\r
73 Assert.AreEqual(0.0, table[0].X);
\r
74 Assert.AreEqual(5.0, table[50].X);
\r
75 Assert.AreEqual(10.0, table[100].X);
\r
77 Assert.AreEqual(0.0, table[0].Y1);
\r
78 Assert.AreEqual(0.0, table[50].Y1);
\r
79 Assert.AreEqual(0.0, table[100].Y1);
\r
81 Assert.AreEqual(0.0, table[0].Y2);
\r
82 Assert.AreEqual(1.0, table[50].Y2);
\r
83 Assert.AreEqual(0.0, table[100].Y2);
\r
87 public void XY1chData()
\r
89 File.Delete("Resources/d_d_out.csv");
\r
91 CsvReader<XY1Table> reader = new CsvReader<XY1Table>();
\r
92 XY1Table source = reader.ReadWithCaption("Resources/d_d_d.csv");
\r
94 CsvWriter<XY1Table> writer = new CsvWriter<XY1Table>();
\r
95 writer.WriteWithCaption("Resources/d_d_out.csv", source);
\r
97 XY1Table table = reader.ReadWithCaption("Resources/d_d_out.csv");
\r
99 Assert.AreEqual("Header1", table.XColumn.Caption);
\r
100 Assert.AreEqual("Header2", table.YColumn.Caption);
\r
102 Assert.AreEqual(0.0, table[0].X);
\r
103 Assert.AreEqual(5.0, table[50].X);
\r
104 Assert.AreEqual(10.0, table[100].X);
\r
106 Assert.AreEqual(0.0, table[0].Y);
\r
107 Assert.AreEqual(0.0, table[50].Y);
\r
108 Assert.AreEqual(0.0, table[100].Y);
\r
112 public void Prototype()
\r
114 File.Delete("Resources/d_d_d_out.csv");
\r
116 DataTable prototype = new DataTable();
\r
117 prototype.Columns.Add("X", typeof(decimal));
\r
118 prototype.Columns.Add("Y1", typeof(float));
\r
119 prototype.Columns.Add("Y2", typeof(int));
\r
121 CsvReader reader = new CsvReader(prototype);
\r
122 DataTable source = reader.ReadWithCaption("Resources/d_d_d.csv");
\r
124 CsvWriter writer = new CsvWriter(prototype);
\r
127 writer.WriteWithCaption("Resources/d_d_d_out.csv", source);
\r
129 DataTable table = reader.ReadWithCaption("Resources/d_d_d.csv");
\r
131 Assert.AreEqual("Header1", table.Columns["X"].Caption);
\r
132 Assert.AreEqual("Header2", table.Columns["Y1"].Caption);
\r
133 Assert.AreEqual("Header3", table.Columns["Y2"].Caption);
\r
135 Assert.AreEqual(0.0m, table.Rows[0]["X"]);
\r
136 Assert.AreEqual(5.0m, table.Rows[50]["X"]);
\r
137 Assert.AreEqual(10.0m, table.Rows[100]["X"]);
\r
139 Assert.AreEqual(0.0f, table.Rows[0]["Y1"]);
\r
140 Assert.AreEqual(0.0f, table.Rows[50]["Y1"]);
\r
141 Assert.AreEqual(0.0f, table.Rows[100]["Y1"]);
\r
143 Assert.AreEqual(0, table.Rows[0]["Y2"]);
\r
144 Assert.AreEqual(1, table.Rows[50]["Y2"]);
\r
145 Assert.AreEqual(0, table.Rows[100]["Y2"]);
\r