public void AutoMapUnspecifiedTargets()
 {
     //automap should always automap:
     var map = new XDocumentAutoMap<User>();
     map.AutoMapUnspecifiedTargets = false;
     Assert.AreEqual(true, map.AutoMapUnspecifiedTargets);
 }
Esempio n. 2
0
        public void CreateTargetList_Mixed_Static()
        {
            var listSize = Random.Next(10, 20);
            var users    = new List <User>(listSize);
            var root     = new XElement("Users");

            for (int i = 0; i < listSize; i++)
            {
                var user = GetFullUser();
                users.Add(user);
                var userXml = GetUserXml(UserMixedXmlFormat, user);
                root.Add(XDocument.Parse(userXml).Root);
            }
            var source = new XDocument();

            source.Add(root);
            var mappedUsers = XDocumentAutoMap <User> .CreateTargetList(source);

            Assert.AreEqual(users.Count, mappedUsers.Count);
            for (int i = 0; i < listSize; i++)
            {
                var user       = users[i];
                var mappedUser = mappedUsers[i];
                AssertEqual(user, mappedUser, false);
            }
        }
Esempio n. 3
0
        public void AutoMapUnspecifiedTargets()
        {
            //automap should always automap:
            var map = new XDocumentAutoMap <User>();

            map.AutoMapUnspecifiedTargets = false;
            Assert.AreEqual(true, map.AutoMapUnspecifiedTargets);
        }
Esempio n. 4
0
        public void Create_Elements_Static()
        {
            var user       = GetFullUser();
            var userXml    = GetUserXml(UserElementXmlFormat, user);
            var source     = XDocument.Parse(userXml);
            var mappedUser = XDocumentAutoMap <User> .CreateTarget(source);

            AssertEqual(user, mappedUser, false);
        }
Esempio n. 5
0
        public void CreateTarget_Attributes()
        {
            var user       = GetFullUser();
            var userXml    = GetUserXml(UserAttributeXmlFormat, user);
            var source     = XDocument.Parse(userXml);
            var mappedUser = XDocumentAutoMap <User> .CreateTarget(source);

            AssertEqual(user, mappedUser, false);
        }
Esempio n. 6
0
        public void Create_Mixed_WithMatching()
        {
            var user       = GetFullUser();
            var userXml    = GetUserXml(UserMixedXmlFormat, user);
            var source     = XDocument.Parse(userXml);
            var map        = new XDocumentAutoMap <User>().Matching <ExactNameMatchingStrategy>();
            var mappedUser = map.Create(source);

            AssertEqual(user, mappedUser, false);
        }
Esempio n. 7
0
        public void Create_Attributes_Static_WithCache()
        {
            var user       = GetFullUser();
            var userXml    = GetUserXml(UserAttributeXmlFormat, user);
            var source     = XDocument.Parse(userXml);
            var map        = new XDocumentAutoMap <User>().Cache <DictionaryCachingStrategy>();
            var mappedUser = map.Create(source);

            AssertEqual(user, mappedUser, false);
        }
 public void Create_Elements_WithConversion()
 {
     var user = GetFullUser();
     var userXml = GetUserXml(UserElementXmlFormat, user);
     var source = XDocument.Parse(userXml);
     var map = new XDocumentAutoMap<User>()
                     .Specify(XmlNodeType.Element, "FirstName", t => t.FirstName)
                     .Specify<string, string>(XmlNodeType.Element, "LastName", t => t.LastName, c => c.ToUpper());
     var mappedUser = map.Create(source);
     AssertEqual(user, mappedUser);
 }
Esempio n. 9
0
        public void PopulateTarget_Mixed()
        {
            var user       = GetFullUser();
            var userXml    = GetUserXml(UserMixedXmlFormat, user);
            var source     = XDocument.Parse(userXml);
            var mappedUser = new User();

            XDocumentAutoMap <User> .PopulateTarget(source, mappedUser);

            AssertEqual(user, mappedUser, false);
        }
Esempio n. 10
0
        public void Create_Elements_WithConversion()
        {
            var user    = GetFullUser();
            var userXml = GetUserXml(UserElementXmlFormat, user);
            var source  = XDocument.Parse(userXml);
            var map     = new XDocumentAutoMap <User>()
                          .Specify(XmlNodeType.Element, "FirstName", t => t.FirstName)
                          .Specify <string, string>(XmlNodeType.Element, "LastName", t => t.LastName, c => c.ToUpper());
            var mappedUser = map.Create(source);

            AssertEqual(user, mappedUser);
        }
Esempio n. 11
0
        public void CreateList_MultipleDocuments()
        {
            List <User> users = null;
            var         doc1  = new XDocument();
            var         doc2  = new XDocument();
            var         map   = new XDocumentAutoMap <User>();

            map.ThrowMappingExceptions = true;
            users = map.CreateList(doc1, doc2);
            //should error - multiple readers not allowed
            Assert.Fail();
        }
Esempio n. 12
0
        public void Create_Mixed_SpecifyNested()
        {
            var user    = GetFullUser();
            var userXml = GetUserXml(UserMixedXmlFormat, user);
            var source  = XDocument.Parse(userXml);
            var map     = new XDocumentAutoMap <User>()
                          .Specify("/User/Address/Line1", t => t.Address.Line1)
                          .Specify("/User/Address/Line2", t => t.Address.Line2)
                          .Specify("/User/Address/Postcode", t => t.Address.PostCode.Code);
            var mappedUser = map.Create(source);

            AssertEqual(user, mappedUser, false, true);
        }
 public void Create_Mixed_Nested_WithConversion()
 {
     var user = GetFullUser();
     var userXml = GetUserXml(UserMixedXmlFormat, user);
     var source = XDocument.Parse(userXml);
     var map = new XDocumentAutoMap<User>()
                     .Specify<string, string>("/User/@LastName", t => t.LastName, c => c.ToUpper())
                     .Specify("/User/Address/Line1", t => t.Address.Line1)
                     .Specify("/User/Address/Line2", t => t.Address.Line2)
                     .Specify("/User/Address/Postcode", t => t.Address.PostCode.Code);
     var mappedUser = map.Create(source);
     AssertEqual(user, mappedUser, withAddress:true);
 }
Esempio n. 14
0
        public void Create_Mixed_Nested_WithConversion()
        {
            var user    = GetFullUser();
            var userXml = GetUserXml(UserMixedXmlFormat, user);
            var source  = XDocument.Parse(userXml);
            var map     = new XDocumentAutoMap <User>()
                          .Specify <string, string>("/User/@LastName", t => t.LastName, c => c.ToUpper())
                          .Specify("/User/Address/Line1", t => t.Address.Line1)
                          .Specify("/User/Address/Line2", t => t.Address.Line2)
                          .Specify("/User/Address/Postcode", t => t.Address.PostCode.Code);
            var mappedUser = map.Create(source);

            AssertEqual(user, mappedUser, withAddress: true);
        }
     public void Create_Elements_WithSpecify_Action()
     {
         var user = GetFullUser();
         var userXml = GetUserXml(UserMixedXmlFormat, user);
         var source = XDocument.Parse(userXml);
 var postcodeMap = new XDocumentAutoMap<PostCode>();
 postcodeMap.Specify(XmlNodeType.Element, "Postcode", t => t.Code);
 var addressMap = new XDocumentAutoMap<Address>();
 addressMap.Specify((s, t) => t.PostCode = postcodeMap.Create(source));
 var userMap = new XDocumentAutoMap<User>();
 userMap.Specify((s, t) => t.Address = addressMap.Create(source));
 var mappedUser = userMap.Create(source);
         AssertEqual(user, mappedUser, false, true);
     }
Esempio n. 16
0
        public void Create_Elements_WithSpecify_Action()
        {
            var user        = GetFullUser();
            var userXml     = GetUserXml(UserMixedXmlFormat, user);
            var source      = XDocument.Parse(userXml);
            var postcodeMap = new XDocumentAutoMap <PostCode>();

            postcodeMap.Specify(XmlNodeType.Element, "Postcode", t => t.Code);
            var addressMap = new XDocumentAutoMap <Address>();

            addressMap.Specify((s, t) => t.PostCode = postcodeMap.Create(source));
            var userMap = new XDocumentAutoMap <User>();

            userMap.Specify((s, t) => t.Address = addressMap.Create(source));
            var mappedUser = userMap.Create(source);

            AssertEqual(user, mappedUser, false, true);
        }
 public void Create_Mixed_WithMatching()
 {
     var user = GetFullUser();
     var userXml = GetUserXml(UserMixedXmlFormat, user);
     var source = XDocument.Parse(userXml);
     var map = new XDocumentAutoMap<User>().Matching<ExactNameMatchingStrategy>();
     var mappedUser = map.Create(source);
     AssertEqual(user, mappedUser, false);
 }
 public void CreateList_MultipleDocuments()
 {
     List<User> users = null;
     var doc1 = new XDocument();
     var doc2 = new XDocument();
     var map = new XDocumentAutoMap<User>();
     map.ThrowMappingExceptions = true;
     users = map.CreateList(doc1, doc2);
     //should error - multiple readers not allowed
     Assert.Fail();
 }
 public void Create_Mixed_SpecifyNested()
 {
     var user = GetFullUser();
     var userXml = GetUserXml(UserMixedXmlFormat, user);
     var source = XDocument.Parse(userXml);
     var map = new XDocumentAutoMap<User>()
                     .Specify("/User/Address/Line1", t => t.Address.Line1)
                     .Specify("/User/Address/Line2", t => t.Address.Line2)
                     .Specify("/User/Address/Postcode", t => t.Address.PostCode.Code);
     var mappedUser = map.Create(source);
     AssertEqual(user, mappedUser, false, true);
 }
 public void Create_Attributes_Static_WithCache()
 {
     var user = GetFullUser();
     var userXml = GetUserXml(UserAttributeXmlFormat, user);
     var source = XDocument.Parse(userXml);
     var map = new XDocumentAutoMap<User>().Cache<DictionaryCachingStrategy>();
     var mappedUser = map.Create(source);
     AssertEqual(user, mappedUser, false);
 }