//--------------------------------------\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
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