OSDN Git Service

git-svn-id: http://www.xerial.org/svn/project/XerialJ/trunk/xerial-core@3505 ae02f08e...
[xerial/xerial-core.git] / src / test / java / org / xerial / silk / SilkWriterTest.java
index f0d0d87..5964d7c 100644 (file)
 //--------------------------------------\r
 package org.xerial.silk;\r
 \r
+import static org.junit.Assert.*;\r
+\r
+import java.io.StringReader;\r
 import java.io.StringWriter;\r
 \r
 import org.junit.After;\r
 import org.junit.Before;\r
 import org.junit.Test;\r
+import org.xerial.silk.SilkWriter.FormatConfig;\r
+import org.xerial.util.FileResource;\r
+import org.xerial.util.log.Logger;\r
 \r
 public class SilkWriterTest {\r
+    private static Logger _logger = Logger.getLogger(SilkWriterTest.class);\r
 \r
     @Before\r
     public void setUp() throws Exception {}\r
@@ -43,5 +50,41 @@ public class SilkWriterTest {
         StringWriter buf = new StringWriter();\r
         SilkWriter w = new SilkWriter(buf);\r
 \r
+        FormatConfig fc = new FormatConfig();\r
+        fc.insertSpaceAfterColon = true;\r
+        w.setFormatConfig(fc);\r
+\r
+        w.commentLine("utgb config format");\r
+        SilkWriter config = w.node("config").attribute("version", "1.0");\r
+        config.leaf("projectName", "utgb-shell");\r
+        config.leaf("version", "2.0");\r
+        config.leaf("group", "utgb");\r
+        w.commentLine("database connection settings");\r
+\r
+        SilkWriter dbNode = w.node("database").attribute("dbms", "sqlite").attribute("scope",\r
+                "debug");\r
+        dbNode.leaf("address", "db/sample.db");\r
+\r
+        SilkWriter t = w.tabDataSchema("gene").attribute("id").attribute("start").attribute("end");\r
+        t.dataLine("g1\t10\t20000");\r
+        t.dataLine("g2\t1000\t30000");\r
+\r
+        w.endDocument();\r
+\r
+        String s = buf.toString();\r
+        _logger.info(s);\r
+\r
+        TreeWalkLog l1 = new TreeWalkLog();\r
+        TreeWalkLog l2 = new TreeWalkLog();\r
+\r
+        SilkWalker s1 = new SilkWalker(FileResource\r
+                .open(SilkWriterTest.class, "writer-result.silk"));\r
+        SilkWalker s2 = new SilkWalker(new StringReader(s));\r
+\r
+        s1.walk(l1);\r
+        s2.walk(l2);\r
+\r
+        boolean cmp = TreeWalkLog.compare(l1, l2);\r
+        assertTrue(cmp);\r
     }\r
 }\r