OSDN Git Service

CsvReaderのパーサ追加,プロトタイプ指定・型引数省略に対応
[karinto/karinto.git] / KarintoTest / CsvReaderTest.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 Karinto;\r
14 using Karinto.Xml;\r
15 using NUnit.Framework;\r
16 \r
17 namespace KarintoTest\r
18 {\r
19     [TestFixture]\r
20     public class CsvReaderTest\r
21     {\r
22 \r
23         [Test]\r
24         public void XY2chData()\r
25         {\r
26             CsvReader<Data.XY2ChDataTable> reader = \r
27                                         new CsvReader<Data.XY2ChDataTable>();\r
28             Data.XY2ChDataTable table = reader.Read("Resources/d_d_d.csv");\r
29 \r
30             Assert.AreEqual("Header1", table.XColumn.Caption);\r
31             Assert.AreEqual("Header2", table.Y1Column.Caption);\r
32             Assert.AreEqual("Header3", table.Y2Column.Caption);\r
33 \r
34             Assert.AreEqual(0.0, table[0].X);\r
35             Assert.AreEqual(5.0, table[50].X);\r
36             Assert.AreEqual(10.0, table[100].X);\r
37 \r
38             Assert.AreEqual(0.0, table[0].Y1);\r
39             Assert.AreEqual(0.0, table[50].Y1);\r
40             Assert.AreEqual(0.0, table[100].Y1);\r
41 \r
42             Assert.AreEqual(0.0, table[0].Y2);\r
43             Assert.AreEqual(1.0, table[50].Y2);\r
44             Assert.AreEqual(0.0, table[100].Y2);\r
45         }\r
46 \r
47         [Test]\r
48         public void XY1chData()\r
49         {\r
50             CsvReader<Data.XY1ChDataTable> reader =\r
51                                         new CsvReader<Data.XY1ChDataTable>();\r
52             Data.XY1ChDataTable table = reader.Read("Resources/d_d_d.csv");\r
53 \r
54             Assert.AreEqual("Header1", table.XColumn.Caption);\r
55             Assert.AreEqual("Header2", table.YColumn.Caption);\r
56 \r
57             Assert.AreEqual(0.0, table[0].X);\r
58             Assert.AreEqual(5.0, table[50].X);\r
59             Assert.AreEqual(10.0, table[100].X);\r
60 \r
61             Assert.AreEqual(0.0, table[0].Y);\r
62             Assert.AreEqual(0.0, table[50].Y);\r
63             Assert.AreEqual(0.0, table[100].Y);\r
64         }\r
65 \r
66         [Test]\r
67         public void Prototype()\r
68         {\r
69             DataTable prototype = new DataTable();\r
70             prototype.Columns.Add("X", typeof(decimal));\r
71             prototype.Columns.Add("Y1", typeof(float));\r
72             prototype.Columns.Add("Y2", typeof(int));\r
73 \r
74             CsvReader reader = new CsvReader(prototype);\r
75             prototype = null;\r
76 \r
77             DataTable table = reader.Read("Resources/d_d_d.csv");\r
78 \r
79             Assert.AreEqual("Header1", table.Columns["X"].Caption);\r
80             Assert.AreEqual("Header2", table.Columns["Y1"].Caption);\r
81             Assert.AreEqual("Header3", table.Columns["Y2"].Caption);\r
82 \r
83             Assert.AreEqual(0.0m, table.Rows[0]["X"]);\r
84             Assert.AreEqual(5.0m, table.Rows[50]["X"]);\r
85             Assert.AreEqual(10.0m, table.Rows[100]["X"]);\r
86 \r
87             Assert.AreEqual(0.0f, table.Rows[0]["Y1"]);\r
88             Assert.AreEqual(0.0f, table.Rows[50]["Y1"]);\r
89             Assert.AreEqual(0.0f, table.Rows[100]["Y1"]);\r
90 \r
91             Assert.AreEqual(0, table.Rows[0]["Y2"]);\r
92             Assert.AreEqual(1, table.Rows[50]["Y2"]);\r
93             Assert.AreEqual(0, table.Rows[100]["Y2"]);\r
94         }\r
95     }\r
96 }\r