OSDN Git Service

eddbfce0d4a42b186a4d19779cb14133584e28be
[dbutsuite/dbutsuite.git] / test / jp / co / sourceforge / dbutsuite / datareader / YamlDataReaderTest.groovy
1 package jp.co.sourceforge.dbutsuite.datareader
2
3 import org.junit.Test
4 import jp.co.sourceforge.dbutsuite.model.DataObject\rimport org.junit.Assert\rimport java.text.SimpleDateFormat\rimport jp.co.sourceforge.dbutsuite.model.DataType\rimport jp.co.sourceforge.dbutsuite.datawriter.H2DatabaseWriter\rimport java.util.Properties\rimport jp.co.sourceforge.dbutsuite.datawriter.DatabaseDataWriter\r\rpublic class YamlDataReaderTest{
5         def assertDataObjectItem(item, type, value)
6         {
7                 Assert.assertEquals(type, item.type)
8                 Assert.assertEquals(value, item.value)
9         }
10         
11         @Test
12         void test() throws Exception {
13                 def reader = new YamlDataReader("test/testdata/sample.yaml")
14                 def dataobject = reader.read()
15                 
16                 for (int i in 0..2)
17                 {
18                         Assert.assertEquals(["id", "name", "updateDate"][i], dataobject.fieldNames[i])
19                 }
20                 assertDataObjectItem(dataobject.lines[0].items[0], DataType.Number, "1")
21                 assertDataObjectItem(dataobject.lines[0].items[1], DataType.String, "sample")
22                 assertDataObjectItem(dataobject.lines[0].items[2], DataType.Date, "2009/12/07 23:11:27.123")
23                 
24                 assertDataObjectItem(dataobject.lines[1].items[0], DataType.Number, "2")
25                 assertDataObjectItem(dataobject.lines[1].items[1], DataType.String, "山田 太郎")
26                 assertDataObjectItem(dataobject.lines[1].items[2], DataType.Date, "2009/07/27 20:11:27.456")
27                 
28                 Properties props = new Properties()
29                 props.put(DatabaseDataWriter.JDBC_DRIVER_CLASS, "org.h2.Driver")
30                 props.put(DatabaseDataWriter.JDBC_URL, "jdbc:h2:tcp://localhost/C:\\cygwin\\home\\inaba\\h2_db/applicationpattern")
31                 props.put(DatabaseDataWriter.JDBC_USER, "sa")
32                 props.put(DatabaseDataWriter.JDBC_PASSWORD, "")
33
34                 def writer = new H2DatabaseWriter(props)
35                 dataobject.name = "TEMP"
36                 writer.writeExecute(dataobject)
37         }
38 }