OSDN Git Service

NUnit 2.6に移行
[karinto/karinto.git] / KarintoTest / CsvWriterTest.cs
1 /*\r
2  *      Karinto Library Project\r
3  *\r
4  *      This software is distributed under a zlib-style license.\r
5  *      See license.txt for more information.\r
6  */\r
7 \r
8 using System;\r
9 using System.Collections.Generic;\r
10 using System.Text;\r
11 using System.Diagnostics;\r
12 using System.Data;\r
13 using System.IO;\r
14 using Karinto;\r
15 using XY1Table = Karinto.Xml.Data.XY1ChDataTable;\r
16 using XY2Table = Karinto.Xml.Data.XY2ChDataTable;\r
17 using NUnit.Framework;\r
18 \r
19 namespace KarintoTest\r
20 {\r
21     [TestFixture]\r
22     public class CsvWriterTest\r
23     {\r
24 \r
25         [Test]\r
26         public void XY2chData()\r
27         {\r
28             File.Delete("Resources/d_d_d_out.csv");\r
29             \r
30             CsvReader<XY2Table> reader = new CsvReader<XY2Table>();\r
31             XY2Table source = reader.Read("Resources/d_d_d.csv");\r
32 \r
33             CsvWriter<XY2Table> writer = new CsvWriter<XY2Table>();\r
34             writer.Write("Resources/d_d_d_out.csv", source);\r
35 \r
36             XY2Table table = reader.Read("Resources/d_d_d_out.csv");\r
37 \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
41 \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
45 \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
49 \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
53 \r
54         }\r
55 \r
56         [Test]\r
57         public void XY2chDataWithCaption()\r
58         {\r
59             File.Delete("Resources/d_d_d_out.csv");\r
60 \r
61             CsvReader<XY2Table> reader = new CsvReader<XY2Table>();\r
62             XY2Table source = reader.ReadWithCaption("Resources/d_d_d.csv");\r
63 \r
64             CsvWriter<XY2Table> writer = new CsvWriter<XY2Table>();\r
65             writer.WriteWithCaption("Resources/d_d_d_out.csv", source);\r
66 \r
67             XY2Table table = reader.ReadWithCaption("Resources/d_d_d_out.csv");\r
68 \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
72 \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
76 \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
80 \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
84         }\r
85 \r
86         [Test]\r
87         public void XY1chData()\r
88         {\r
89             File.Delete("Resources/d_d_out.csv");\r
90 \r
91             CsvReader<XY1Table> reader = new CsvReader<XY1Table>();\r
92             XY1Table source = reader.ReadWithCaption("Resources/d_d_d.csv");\r
93 \r
94             CsvWriter<XY1Table> writer = new CsvWriter<XY1Table>();\r
95             writer.WriteWithCaption("Resources/d_d_out.csv", source);\r
96 \r
97             XY1Table table = reader.ReadWithCaption("Resources/d_d_out.csv");\r
98 \r
99             Assert.AreEqual("Header1", table.XColumn.Caption);\r
100             Assert.AreEqual("Header2", table.YColumn.Caption);\r
101 \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
105 \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
109         }\r
110 \r
111         [Test]\r
112         public void Prototype()\r
113         {\r
114             File.Delete("Resources/d_d_d_out.csv");\r
115 \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
120 \r
121             CsvReader reader = new CsvReader(prototype);\r
122             DataTable source = reader.ReadWithCaption("Resources/d_d_d.csv");\r
123 \r
124             CsvWriter writer = new CsvWriter(prototype);\r
125             prototype = null;\r
126 \r
127             writer.WriteWithCaption("Resources/d_d_d_out.csv", source);\r
128 \r
129             DataTable table = reader.ReadWithCaption("Resources/d_d_d.csv");\r
130 \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
134 \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
138 \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
142 \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
146         }\r
147     }\r
148 }\r