示例#1
0
        public void MapXmlWithBlankScalarValue_Expected_PathToScalarValue()
        {
            XmlMapper xmlMapper = new XmlMapper();

            string xml = Given();
            IEnumerable <IPath> paths = xmlMapper.Map(xml);

            Assert.IsTrue(paths.Any(p => p.ActualPath == "Company.PreviousMotto"));
        }
示例#2
0
        public void MapXmlWithAInlineRecordset_Expected_PathToItemsInInnerRecordset()
        {
            XmlMapper xmlMapper = new XmlMapper();

            string xml = Given();
            IEnumerable <IPath> paths = xmlMapper.Map(xml);

            Assert.IsTrue(paths.Any(p => p.ActualPath == "Company().InlineRecordSet"));
        }
示例#3
0
        public void MapXmlWithAttribute_Expected_PathToAttribute()
        {
            XmlMapper xmlMapper = new XmlMapper();

            string xml = Given();
            IEnumerable <IPath> paths = xmlMapper.Map(xml);

            Assert.IsTrue(paths.Any(p => p.ActualPath == "Company:Name"));
        }
示例#4
0
        public void MapXmlWithScalarValue_Expected_PathToScalarValue()
        {
            var xmlMapper = new XmlMapper();

            var xml   = Given();
            var paths = xmlMapper.Map(xml);

            Assert.IsTrue(paths.Any(p => p.ActualPath == "Company.Motto"));
        }
示例#5
0
        public void MapXmlWithARecordsetAndAttributesOnTheRecordset_Expected_PathToAttributeOfRecordset()
        {
            XmlMapper xmlMapper = new XmlMapper();

            string xml = Given();
            IEnumerable <IPath> paths = xmlMapper.Map(xml);

            Assert.IsTrue(paths.Any(p => p.ActualPath == "Company.Departments:TestAttrib"));
        }
示例#6
0
        public void MapXmlWithAttribute_Expected_PathToAttribute()
        {
            var xmlMapper = new XmlMapper();

            var xml   = Given();
            var paths = xmlMapper.Map(xml);

            Assert.IsTrue(paths.Any(p => p.ActualPath == "Company:Name"));
        }
示例#7
0
        public void MapXmlWithARecordsetAndAttributesOnItemsInTheRecordset_Expected_PathToAttributeOfElementsInRecordset()
        {
            var xmlMapper = new XmlMapper();

            var xml   = Given();
            var paths = xmlMapper.Map(xml);

            Assert.IsTrue(paths.Any(p => p.ActualPath == "Company.Departments().Department:Name"));
        }
示例#8
0
        public void SelectEnumerableValuesAsRelatedUsingEnumerablePathFromXmlFromFoPrimitiveType()
        {
            var xmlDocument = new XmlDocument();

            xmlDocument.LoadXml("<boolean xmlns=\"http://schemas.microsoft.com/2003/10/Serialization/\">false</boolean>");
            var testData     = Scrubber.Scrub(xmlDocument.InnerXml);
            var xmlMapper    = new XmlMapper();
            var paths        = xmlMapper.Map(testData).ToList();
            var path         = paths.FirstOrDefault();
            var xmlNavigator = new XmlNavigator(testData);
            var dat2         = xmlNavigator.SelectScalar(path);

            Assert.AreEqual("false", dat2);
        }
示例#9
0
        private OFXDocument Parse(string data)
        {
            var ofxDocument = new OFXDocument();

            var xmlDocument = new XmlDocument();

            if (data.IndexOf("OFXHEADER") == -1)
            {
                throw new InvalidDataException();
            }

            var ofx = data.Remove(0, data.IndexOf("<"));

            var header = data;

            ofx = ConvertSGMLTOXML(ofx);

            xmlDocument.LoadXml(ofx);

            var mapper = new XmlMapper();

            mapper.SetValueResolver((propertyInfo, value) =>
            {
                if (propertyInfo.PropertyType == typeof(DateTime))
                {
                    if (value.Length < 8)
                    {
                        return("");
                    }

                    return(string.Format("{0}-{1}-{2}", value.Substring(0, 4), value.Substring(4, 2), value.Substring(6, 2)));
                }
                else if (propertyInfo.PropertyType == typeof(decimal))
                {
                    return(value.Replace(",", "."));
                }

                return(value);
            });

            mapper.Map(xmlDocument, ofxDocument);

            return(ofxDocument);
        }
示例#10
0
        public void SelectEnumerableValuesAsRelatedUsingEnumerablePathFromXmlFromFailingTest()
        {
            var xmlDocument = new XmlDocument();

            xmlDocument.LoadXml("<ArrayOfProduct xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://schemas.datacontract.org/2004/07/WebApplication1.Controllers\"><Product><Category>Electronic</Category><Id>1</Id><Name>Television</Name><Price>82000</Price></Product><Product><Category>Electronic</Category><Id>2</Id><Name>Refrigerator</Name><Price>23000</Price></Product><Product><Category>Electronic</Category><Id>3</Id><Name>Mobiles</Name><Price>20000</Price></Product><Product><Category>Electronic</Category><Id>4</Id><Name>Laptops</Name><Price>45000</Price></Product><Product><Category>Electronic</Category><Id>5</Id><Name>iPads</Name><Price>67000</Price></Product><Product><Category>Gift Items</Category><Id>6</Id><Name>Toys</Name><Price>15000</Price></Product></ArrayOfProduct>");

            var testData  = Scrubber.Scrub(xmlDocument.InnerXml);
            var xmlMapper = new XmlMapper();
            var paths     = xmlMapper.Map(testData).ToList();
            var path      = paths.FirstOrDefault();

            var xmlNavigator = new XmlNavigator(testData);

            var          data2    = xmlNavigator.SelectEnumerablesAsRelated(paths);
            const string expected = "Electronic|Electronic|Electronic|Electronic|Electronic|Gift Items";
            var          actual   = string.Join("|", data2[path].Select(s => s.ToString().Trim()));

            Assert.AreEqual(expected, actual);
        }