예제 #1
0
        public void SetSrceValue_Intrinsic()
        {
            var p  = new Person();
            var pm = new ODataPropertyMapper <Person, int>(x => x.Id);

            Assert.Throws <ArgumentNullException>(() => pm.SetSrceValue(p, null, OperationTypes.Get));

            var json = JObject.Parse(Person.JsonData);

            pm.SetSrceValue(p, json["IdX"], OperationTypes.Get);
            Assert.AreEqual(1, p.Id);
        }
예제 #2
0
        public void SetSrceValue_MapperCollection()
        {
            var p  = new Person();
            var pm = new ODataPropertyMapper <Person, List <Address> >(x => x.Addresses);

            pm.SetMapper(new AddressMapper());

            var json = JObject.Parse(Person.JsonData);

            pm.SetSrceValue(p, json["AddressesX"], OperationTypes.Get);
            Assert.IsNotNull(p.Addresses);
            Assert.AreEqual(2, p.Addresses.Count);

            Assert.AreEqual(456, p.Addresses[0].StreetNumber);
            Assert.AreEqual("Simpsons", p.Addresses[0].StreetName);
            Assert.AreEqual(789, p.Addresses[1].StreetNumber);
            Assert.AreEqual("Park", p.Addresses[1].StreetName);

            var pm2 = new ODataPropertyMapper <Person, string[]>(x => x.Nicknames);

            pm2.SetSrceValue(p, json["NicknamesX"], OperationTypes.Get);
            Assert.IsNotNull(p.Nicknames);
            Assert.AreEqual(2, p.Nicknames.Length);

            Assert.AreEqual("Bro", p.Nicknames[0]);
            Assert.AreEqual("Mate", p.Nicknames[1]);
        }
예제 #3
0
        public void SetSrceValue_Converter()
        {
            var p  = new Person();
            var pm = new ODataPropertyMapper <Person, bool>(x => x.IsDeceased);

            pm.SetConverter(BooleanToYesNoConverter.Default);

            var json = JObject.Parse(Person.JsonData);

            pm.SetSrceValue(p, json["IsDeceasedX"], OperationTypes.Get);
            Assert.AreEqual(true, p.IsDeceased);
        }
예제 #4
0
        public void SetSrceValue_MapperObject()
        {
            var p  = new Person();
            var pm = new ODataPropertyMapper <Person, Address>(x => x.Address);

            pm.SetMapper(new AddressMapper());

            var json = JObject.Parse(Person.JsonData);

            pm.SetSrceValue(p, json["AddressX"], OperationTypes.Get);
            Assert.IsNotNull(p.Address);

            Assert.AreEqual(123, p.Address.StreetNumber);
            Assert.AreEqual("Petherick", p.Address.StreetName);
        }