コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
 /// <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));
 }