public void testEmptyValue() { String csv = "\"id\",\"name\"\n,\"John\"\n2,\n"; IEnumerator <DocumentValue> iter = CSVReader.iterator(csv, null, ',', '"'); Assert.IsTrue(iter.MoveNext()); DocumentValue doc = iter.Current; Assert.IsNotNull(doc); Assert.AreEqual(doc.GetMember("id", false), NullValue.Instance); Assert.AreEqual(doc.GetMember("name", false), "John"); Assert.IsTrue(iter.MoveNext()); doc = iter.Current; Assert.IsNotNull(doc); Assert.AreEqual(doc.GetMember("id", false), "2"); Assert.AreEqual(doc.GetMember("name", false), NullValue.Instance); }
public void testQuotedInnerNewLine() { String csv = "id,name\n1,\"Jo\nhn\"\n2,Sylvie\n"; IEnumerator <DocumentValue> iter = CSVReader.iterator(csv, null, ',', '"'); Assert.IsTrue(iter.MoveNext()); DocumentValue doc = iter.Current; Assert.IsNotNull(doc); Assert.AreEqual(doc.GetMember("id", false), "1"); Assert.AreEqual(doc.GetMember("name", false), "Jo\nhn"); Assert.IsTrue(iter.MoveNext()); doc = iter.Current; Assert.IsNotNull(doc); Assert.AreEqual(doc.GetMember("id", false), "2"); Assert.AreEqual(doc.GetMember("name", false), "Sylvie"); }
public void testEscapeNoQuotes() { String csv = "id,name\n1,John\n2,Riou\\, Sylvie\n"; IEnumerator <DocumentValue> iter = CSVReader.iterator(csv, null, ',', '"'); Assert.IsTrue(iter.MoveNext()); DocumentValue doc = iter.Current; Assert.IsNotNull(doc); Assert.AreEqual(doc.GetMember("id", false), "1"); Assert.AreEqual(doc.GetMember("name", false), "John"); Assert.IsTrue(iter.MoveNext()); doc = iter.Current; Assert.IsNotNull(doc); Assert.AreEqual(doc.GetMember("id", false), "2"); Assert.AreEqual(doc.GetMember("name", false), "Riou, Sylvie"); }
private void ConvertListElement(DocumentValue parent, String tagName, XmlElement element) { ListValue list = null; var current = parent.GetMember(tagName, false); if (current is ListValue) { list = (ListValue)current; } else { list = new ListValue(AnyType.Instance); list.Add(current); parent.SetMember(tagName, list); } list.Add(ConvertElementValue(element)); }