public void FindMapperViaTypes()
        {
            var locator = new Mock<IServiceLocator>();
            var factory = new LocatorXmlMapperFactory(locator.Object);
            var engine = new XmlMappingEngine(factory);

            var type = typeof(IXmlMapper<Parent, XElement>);
            locator.Setup(x => x.GetInstance(type, null)).Returns(new ParentXmlMapper(engine));

            var candidate = factory.Mapper(typeof(Parent), typeof(XElement));
            Assert.IsNotNull(candidate);
            Assert.IsTrue(candidate is ParentXmlMapper);
        }
예제 #2
0
        public void FindMapperViaTypes()
        {
            var locator = new Mock <IServiceLocator>();
            var factory = new LocatorXmlMapperFactory(locator.Object);
            var engine  = new XmlMappingEngine(factory);

            var type = typeof(IXmlMapper <Parent, XElement>);

            locator.Setup(x => x.GetInstance(type, null)).Returns(new ParentXmlMapper(engine));

            var candidate = factory.Mapper(typeof(Parent), typeof(XElement));

            Assert.IsNotNull(candidate);
            Assert.IsTrue(candidate is ParentXmlMapper);
        }
        public void LocatorFailureThrowsMappingException()
        {
            var locator = new Mock<IServiceLocator>();
            var factory = new LocatorXmlMapperFactory(locator.Object);

            var type = typeof(IXmlMapper<Parent, XElement>);
            // Checks we trap and raise the right sort of exception
            locator.Setup(x => x.GetInstance(type)).Throws(new ArgumentException("Failed"));

            try
            {
                factory.Mapper<Parent, XElement>();

                throw new NotSupportedException("Should raise MappingException");
            }
            catch (MappingException)
            {                
            }
        }
예제 #4
0
        public void LocatorFailureThrowsMappingException()
        {
            var locator = new Mock <IServiceLocator>();
            var factory = new LocatorXmlMapperFactory(locator.Object);

            var type = typeof(IXmlMapper <Parent, XElement>);

            // Checks we trap and raise the right sort of exception
            locator.Setup(x => x.GetInstance(type)).Throws(new ArgumentException("Failed"));

            try
            {
                factory.Mapper <Parent, XElement>();

                throw new NotSupportedException("Should raise MappingException");
            }
            catch (MappingException)
            {
            }
        }