示例#1
0
 public void PropertiesCountNotMatchValues()
 {
     var values = new string[, ] {
         { "Lincon", "1988-10-11", "21" }, { "Lincon2", "1988-10-11", "21" }
     };
     var convertor = new ArrayValuesToInstance.Parser <ClassMateNoProperty, string>
                         (new PropertyAttributeDeterminer <ClassMateNoProperty>(new string[] { "Lincon", "1988-10-11", "21" }));
 }
示例#2
0
        public void ConvertFailure()
        {
            var values = new string[, ] {
                { "Lincon", "23a", "1988-10-11", "21" }, { "Lincon2", "23", "1988-10-11", "21" }
            };
            var convertor = new ArrayValuesToInstance.Parser <ClassMate2, string>(new PropertyAttributeDeterminer <ClassMate2>(
                                                                                      new string[] { "Lincon", "231", "1988-10-11", "21" }));

            convertor.ParseList(values);
        }
示例#3
0
        public void OrderOutOfRange()
        {
            var values = new string[, ] {
                { "Lincon", "1988-10-11", "21" }, { "Lincon2", "1988-10-11", "21" }
            };
            var convertor = new ArrayValuesToInstance.Parser <ClassMate4, string>(new PropertyAttributeDeterminer <ClassMate4>(
                                                                                      new string [] { "Lincon", "1988-10-11", "21" }));

            convertor.ParseList(values);
        }
示例#4
0
        public void ParserOneItemTest()
        {
            string[] values = new string[] { "Lincon", "1988-10-11", "21", "13.2" };

            var convertor = new ArrayValuesToInstance.Parser <Person, string>(
                new PropertyAttributeDeterminer <Person>(values)
                );;
            Person p = convertor.Parse(values);

            Assert.AreEqual("Lincon", p.Name);
            Assert.AreEqual(21, p.Age);
            Assert.AreEqual(new DateTime(1988, 10, 11), p.Birthday);
        }
示例#5
0
        public void ParserManyItemTest()
        {
            var values = new string[, ] {
                { "Lincon", "1988-10-11", "21", "13.2" }, { "Lincon2", "1988-10-11", "21", "13.2" }
            };
            var convertor = new ArrayValuesToInstance.Parser <Person, string>(new PropertyAttributeDeterminer <Person>(new string[] { "Lincon", "1988-10-11", "21", "13.2" }));
            var persons   = convertor.ParseList(values);

            Assert.AreEqual(2, persons.Count);
            Assert.AreEqual("Lincon", persons[0].Name);
            Assert.AreEqual(21, persons[0].Age);
            Assert.AreEqual(new DateTime(1988, 10, 11), persons[0].Birthday);
            Assert.AreEqual("Lincon2", persons[1].Name);
        }
示例#6
0
        public void ParserOneHasNoOrderProperty()
        {
            var values = new string[, ] {
                { "Lincon", "1988-10-11", "21", "13.2" }, { "Lincon2", "1988-10-11", "21", "13.2" }
            };
            var convertor = new ArrayValuesToInstance.Parser <ClassMateNoProperty, string>(
                new PropertyAttributeDeterminer <ClassMateNoProperty>(new string[] { "Lincon", "1988-10-11", "21", "13.2" }));
            var mater2 = convertor.ParseList(values);

            Assert.AreEqual(2, mater2.Count);
            Assert.AreEqual("Lincon", mater2[0].Name);
            Assert.AreEqual(21, mater2[0].Age);
            Assert.AreEqual(new DateTime(1988, 10, 11), mater2[0].Birthday);
            Assert.AreEqual("Lincon2", mater2[1].Name);
        }
示例#7
0
        public void FirstArrayPropertyOrderNotMatchPropertyOrder()
        {
            var values = new string[, ] {
                { "Age", "Name", "Birthday", "Weight" }, { "21", "Lincon", "1988-10-11", "13.2" }, { "22", "Lincon2", "1988-10-12", "133" }
            };
            var convertor = new ArrayValuesToInstance.Parser <ClassMate, string>
                                (new FirstArrayDeterminer <ClassMate>(new string[] { "Age", "Name", "Birthday", "Weight" }));
            var classmates = convertor.ParseList(values);

            Assert.AreEqual(2, classmates.Count);
            Assert.AreEqual("Lincon", classmates[0].Name);
            Assert.AreEqual(21, classmates[0].Age);
            Assert.AreEqual(new DateTime(1988, 10, 11), classmates[0].Birthday);
            Assert.AreEqual("Lincon2", classmates[1].Name);
        }
示例#8
0
        public void ParserWithArrayIndexAttributeOneItemTest()
        {
            var values = new string[, ] {
                { "Name", "Birthday", "Age", "Weight" }, { "Lincon", "1988-10-11", "21", "13.2" }, { "Lincon2", "1988-10-11", "21", "13.2" }
            };
            var convertor = new ArrayValuesToInstance.Parser <ClassMate, string>
                                (new FirstArrayDeterminer <ClassMate>(new string[] { "Name", "Birthday", "Age", "Weight" }));
            var classmates = convertor.ParseList(values);

            Assert.AreEqual(2, classmates.Count);
            Assert.AreEqual("Lincon", classmates[0].Name);
            Assert.AreEqual(21, classmates[0].Age);
            Assert.AreEqual(new DateTime(1988, 10, 11), classmates[0].Birthday);
            Assert.AreEqual("Lincon2", classmates[1].Name);
        }
示例#9
0
        public void Realdata1Test()
        {
            var values =
                Newtonsoft.Json.JsonConvert.DeserializeObject <string[, ]>(
                    System.IO.File.ReadAllText(
                        Environment.CurrentDirectory
                        + @"\Reflection\ArrayValuesToInstance\Files\ApiResult1.txt")
                    );

            var convertor = new ArrayValuesToInstance.Parser <IndexGSMLTE_PS_GEN, string>(new FirstArrayDeterminer <IndexGSMLTE_PS_GEN>(
                                                                                              new string[] { "TERMINAL_CODE", "UL_2G_TCP_PACKET", "CELL_ID", "TCP_UL_DATE", "DL_2G_TCP_PACKET", "TCP_DL_DATE", "FAILURE_CAUSE", "UL_2G_TCP_RE_PACKETS", "TCPDL_DATA", "TCP_DELAY", "SAEGW", "UL_2G_TCP_DISORDER_PACKETS", "TCP_CONNECT_REQ", "DL_2G_TCP_DISORDER_PACKETS", "TCP_CONNECT_SUC", "DL_2G_TCP_RE_PACKETS", "APN" }));
            var result = convertor.ParseList(values);

            Console.WriteLine(result.Count);
        }