コード例 #1
0
        /// <summary>
        /// Constructor.
        /// </summary>
        /// <param name="mappingStrategyFactory">The mapping strategies factory.</param>
        /// <exception cref="ArgumentNullException"><paramref name="mappingStrategyFactory"/> is <see langword="null"/></exception>
        public GenericDictionaryMappingStrategy(IMappingStrategyFactory mappingStrategyFactory)
        {
            if (mappingStrategyFactory == null)
            {
                throw new ArgumentNullException(nameof(mappingStrategyFactory));
            }

            this.mappingStrategyFactory = mappingStrategyFactory;
        }
コード例 #2
0
        /// <summary>
        /// Constructor.
        /// </summary>
        /// <param name="rootNode">The root xml node.</param>
        /// <param name="mappingStrategyFactory">THe IMappingStrategyFactory instance.</param>
        /// <exception cref="ArgumentNullException"><paramref name="rootNode"/> is <see langword="null"/></exception>
        /// <exception cref="ArgumentNullException"><paramref name="mappingStrategyFactory"/> is <see langword="null"/></exception>
        public ConfigurationReader(XmlNode rootNode, IMappingStrategyFactory mappingStrategyFactory)
        {
            if (rootNode == null)
            {
                throw new ArgumentNullException(nameof(rootNode));
            }
            if (mappingStrategyFactory == null)
            {
                throw new ArgumentNullException(nameof(mappingStrategyFactory));
            }

            this.rootNode = rootNode;
            this.mappingStrategyFactory = mappingStrategyFactory;
        }
コード例 #3
0
        public void InterfaceGenericCollectionMappingWithPrimitiveItemsTest(string input, Type expectedType, Type itemType, int collectionSize)
        {
            XmlDocument xmlNode = new XmlDocument();

            xmlNode.LoadXml(input);

            IConfigurationReader    configurationParser    = Substitute.For <IConfigurationReader>();
            IMappingStrategyFactory mappingStrategyFactory = Substitute.For <IMappingStrategyFactory>();

            mappingStrategyFactory.CreatePrimitiveStrategy(itemType).Returns(new PrimitiveMappingStrategy());

            IMappingStrategy mappingStrategy = new GenericCollectionMappingStrategy(mappingStrategyFactory);
            var actual = mappingStrategy.Map(xmlNode.FirstChild, expectedType, configurationParser);

            Assert.IsNotNull(actual.GetType().GetInterfaces().SingleOrDefault(x => x == expectedType));
            Assert.AreEqual(collectionSize, ((ICollection)actual).Count);
        }
コード例 #4
0
        public void DictionaryMappingStrategyWithPrimitiveItemsTest(string input, Type expectedType, Type itemType, int collectionSize)
        {
            XmlDocument xmlNode = new XmlDocument();

            xmlNode.LoadXml(input);

            IConfigurationReader    configurationParser    = Substitute.For <IConfigurationReader>();
            IMappingStrategyFactory mappingStrategyFactory = Substitute.For <IMappingStrategyFactory>();

            mappingStrategyFactory.CreatePrimitiveStrategy(itemType).Returns(new PrimitiveMappingStrategy());

            IMappingStrategy mappingStrategy = new GenericDictionaryMappingStrategy(mappingStrategyFactory);
            var actual = mappingStrategy.Map(xmlNode.FirstChild, expectedType, configurationParser);

            Assert.AreEqual(expectedType, actual.GetType());
            Assert.AreEqual(collectionSize, ((IDictionary)actual).Count);
        }
コード例 #5
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="mappingStrategyFactory">The mapping strategies factory.</param>
 public ArrayMappingStrategy(IMappingStrategyFactory mappingStrategyFactory)
 {
     this.mappingStrategyFactory = mappingStrategyFactory;
 }
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="mappingStrategyFactory">The mapping strategies factory.</param>
 public GenericCollectionMappingStrategy(IMappingStrategyFactory mappingStrategyFactory)
 {
     this.mappingStrategyFactory = mappingStrategyFactory;
 }