public override void Parse(TextReader reader, WorldCollection worlds) { ColumnParser parser = new ColumnParser(reader); foreach (var row in parser.Data) { ParseWorld(worlds, row.dict, row.line, row.lineNumber); } }
public override void Parse(TextReader reader, WorldCollection worlds, ErrorLogger errors) { ColumnParser parser = new ColumnParser(reader); foreach (var row in parser.Data) { ParseWorld(worlds, row.dict, row.line, row.lineNumber, errors); } }
public void ColumnParserTest() { StringReader reader = new StringReader( "\r\n" + "# comment\r\n" + "\r\n" + "1 2 3 4 5 6 7\r\n" + "---- - --- -------- --------- - ----\r\n" + "a a b x c d d e f g \r\n" + "AAAAABBBBBCCCCDDDDDDDDDEEEEEEEEEEFFGGGGGGGG\r\n"); var parsed = new ColumnParser(reader); CollectionAssert.AreEqual(new string[] { "1", "2", "3", "4", "5", "6", "7" }, parsed.Fields); var data = parsed.Data; Assert.AreEqual(data.Count,2); var dict = data[0].dict; Assert.AreEqual("a a", dict["1"]); Assert.AreEqual("b", dict["2"]); Assert.AreEqual("c", dict["3"]); Assert.AreEqual("d d", dict["4"]); Assert.AreEqual(" e", dict["5"]); Assert.AreEqual("f", dict["6"]); Assert.AreEqual("g", dict["7"]); dict = data[1].dict; Assert.AreEqual("AAAA", dict["1"]); Assert.AreEqual("B", dict["2"]); Assert.AreEqual("CCC", dict["3"]); Assert.AreEqual("DDDDDDDD", dict["4"]); Assert.AreEqual("EEEEEEEEE", dict["5"]); Assert.AreEqual("F", dict["6"]); Assert.AreEqual("GGGG", dict["7"]); }