public void Deserialize_ExtraFields_Successfully() { var csv = "Int,Float,ExtraField\r\n" + "1,1.1,extraValue"; var dic = CsvParser.ConvertCsv(csv); var result = CsvParser.DeserializeTo <MockClass>(dic[0]); Assert.AreEqual(null, result.String); Assert.AreEqual(1, result.Int); Assert.AreEqual(1.1f, result.Float); Assert.AreEqual(0, result.Double); Assert.AreEqual(MockEnum.MockValue, result.Enum); Assert.AreEqual(null, result.Array); Assert.AreEqual(null, result.List); Assert.AreEqual(new KeyValuePair <int, int>(), result.Pair); Assert.AreEqual(null, result.Dictionary); }
public void Deserialize_Successfully() { var csv = "Ignored,String,Int,Float,Double,Enum,Array,List,Pair,Dictionary\r\n" + "Ignored,text,1,1.1,1.1,MockValue,\"1,2\",\"1,2\",\"1:2\",\"1,2\""; var dic = CsvParser.ConvertCsv(csv); var result = CsvParser.DeserializeTo <MockClass>(dic[0]); Assert.AreEqual(null, result.Ignored); Assert.AreEqual("text", result.String); Assert.AreEqual(1, result.Int); Assert.AreEqual(1.1f, result.Float); Assert.AreEqual(1.1d, result.Double); Assert.AreEqual(MockEnum.MockValue, result.Enum); Assert.AreEqual(new[] { 1, 2 }, result.Array); Assert.AreEqual(new List <int> { 1, 2 }, result.List); Assert.AreEqual(new KeyValuePair <int, int>(1, 2), result.Pair); Assert.AreEqual(new Dictionary <int, int> { { 1, 2 } }, result.Dictionary); }
/// <summary> /// Override this method to have your own deserialization of the given <paramref name="data"/> /// </summary> protected virtual TConfig Deserialize(Dictionary <string, string> data) { return(CsvParser.DeserializeTo <TConfig>(data)); }