Files
Common-VS2019/SacsCoreUnitTests/Standard/Base/Data/SacsCsvHandler_Tester.cs
T
2021-05-05 15:36:28 +01:00

76 lines
2.5 KiB
C#

using System;
using System.Collections.Generic;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Sarand.Net.Standard.Base.Data;
namespace Sacs.UnitTests.Net.Standard.Base.Data
{
//=======================================================================
[TestClass]
public class SacsCsvHandler_Tester
{
//-------------------------------------------------------------------
[TestMethod]
public void ParseCsvRecord_FieldCount ()
{
Assert.AreEqual(0, SacsCsvHandler.ParseCsvRecord(null).Count);
Assert.AreEqual(1, SacsCsvHandler.ParseCsvRecord("").Count);
Assert.AreEqual(2, SacsCsvHandler.ParseCsvRecord(",").Count);
Assert.AreEqual(3, SacsCsvHandler.ParseCsvRecord("A,B,C").Count);
Assert.AreEqual(5, SacsCsvHandler.ParseCsvRecord("A,B,C,D,E").Count);
}
//-------------------------------------------------------------------
[TestMethod]
public void ParseCsvRecord_Simple_NoText ()
{
String data = "A,B,C";
List<String> fields = SacsCsvHandler.ParseCsvRecord(data);
Assert.AreEqual(3, fields.Count);
Assert.AreEqual("B", fields[1]);
}
//-------------------------------------------------------------------
[TestMethod]
public void ParseCsvRecord_Text_Simple ()
{
List<String> fields = SacsCsvHandler.ParseCsvRecord("A,\"B\",C");
Assert.AreEqual(3, fields.Count);
Assert.AreEqual("A", fields[0]);
Assert.AreEqual("B", fields[1]);
Assert.AreEqual("C", fields[2]);
fields = SacsCsvHandler.ParseCsvRecord("A,\"B\",\"C\"");
Assert.AreEqual(3, fields.Count);
Assert.AreEqual("A", fields[0]);
Assert.AreEqual("B", fields[1]);
Assert.AreEqual("C", fields[2]);
}
//-------------------------------------------------------------------
[TestMethod]
public void ParseCsvRecord_Text_WithFieldDelim ()
{
List<String> fields = SacsCsvHandler.ParseCsvRecord("A,\",\",C");
Assert.AreEqual(3, fields.Count);
Assert.AreEqual("A", fields[0]);
Assert.AreEqual(",", fields[1]);
Assert.AreEqual("C", fields[2]);
}
//-------------------------------------------------------------------
[TestMethod]
public void ParseCsvRecord_Text_EmbeddedTextDelims ()
{
List<String> fields = SacsCsvHandler.ParseCsvRecord("A,\"\"\"\",C");
Assert.AreEqual(3, fields.Count);
Assert.AreEqual("A", fields[0]);
Assert.AreEqual("\"", fields[1]);
Assert.AreEqual("C", fields[2]);
}
//-------------------------------------------------------------------
}
//=======================================================================
}