public void EscapeRowTest() { Assert.AreEqual("", SaveCsv.EscapeRow(null)); Assert.AreEqual("", SaveCsv.EscapeRow(new List <object>())); Assert.AreEqual("\"A1 A2\"", SaveCsv.EscapeRow(new List <object> { "A1 A2" })); Assert.AreEqual("\"A1 A2\", \"B\"", SaveCsv.EscapeRow(new List <object> { "A1 A2", "B" })); // null should be represented as "no cell" (two comas ",,") rather than "empty cell" (empty string in double qoutes "\"\""). // When there is "no cell" value from previous cell is not truncated, so it is fully visible Assert.AreEqual("\"A\", ", SaveCsv.EscapeRow(new List <object> { "A", null })); Assert.AreEqual("\"A\", , \"B\"", SaveCsv.EscapeRow(new List <object> { "A", null, "B" })); }