コード例 #1
0
        public void CanAddDataTypeDefinitionMapping()
        {
            var mappingMock = new Mock <IDataTypeDefinitionMapping>();

            mappingMock.Setup(m => m.CanMapToDefinition(It.IsAny <Type>())).Returns((Type t) => t == typeof(object));
            mappingMock.Setup(m => m.GetMappedDefinition(It.IsAny <Type>())).Returns(new Mock <IDataTypeDefinition>().Object);

            DataTypeDefinitionMappings.Mappings.Add(typeof(object), mappingMock.Object);

            var mapping = DataTypeDefinitionMappings.GetDefinitionMapping(typeof(object));

            Assert.IsTrue(mapping.CanMapToDefinition(typeof(object)));
        }
コード例 #2
0
        /// <summary>
        /// Gets the data type definition for the specified model.
        /// </summary>
        /// <param name="model">The model.</param>
        /// <returns>The data type definition.</returns>
        private IDataTypeDefinition GetDataTypeDefinition(PropertyType model)
        {
            if (model == null)
            {
                throw new ArgumentNullException(nameof(model));
            }

            var definition = DataTypeDefinitionMappings.GetDefinition(model.UIHint, model.Type);

            if (definition == null)
            {
                throw new Exception($"There is no data type definition for type {model.Type}.");
            }

            return(definition);
        }
コード例 #3
0
        public void CanRemoveDataTypeDefinitionMapping()
        {
            var mappingMock = new Mock <IDataTypeDefinitionMapping>();

            mappingMock.Setup(m => m.CanMapToDefinition(It.IsAny <Type>())).Returns((Type t) => t == typeof(object));
            mappingMock.Setup(m => m.GetMappedDefinition(It.IsAny <Type>())).Returns(new Mock <IDataTypeDefinition>().Object);

            var mapping = DataTypeDefinitionMappings.GetDefinitionMapping(mappingMock.Object.GetType());

            if (mapping != null)
            {
                DataTypeDefinitionMappings.Mappings.Remove(mappingMock.Object.GetType());
            }

            mapping = DataTypeDefinitionMappings.GetDefinitionMapping(mappingMock.Object.GetType());

            Assert.IsNull(mapping);
        }
コード例 #4
0
        public void CanGetDataTypeDefinitionForString()
        {
            var mapping = DataTypeDefinitionMappings.GetDefinitionMapping(typeof(string));

            Assert.IsTrue(mapping.CanMapToDefinition(typeof(string)));
        }
コード例 #5
0
        public void CanGetDataTypeDefinitionForInteger()
        {
            var mapping = DataTypeDefinitionMappings.GetDefinitionMapping(typeof(int));

            Assert.IsTrue(mapping.CanMapToDefinition(typeof(int)));
        }
コード例 #6
0
        public void CanGetDataTypeDefinitionForFloatingDecimal()
        {
            var mapping = DataTypeDefinitionMappings.GetDefinitionMapping(typeof(decimal));

            Assert.IsTrue(mapping.CanMapToDefinition(typeof(decimal)));
        }
コード例 #7
0
        public void CanGetDataTypeDefinitionForFloatingBinary()
        {
            var mapping = DataTypeDefinitionMappings.GetDefinitionMapping(typeof(float));

            Assert.IsTrue(mapping.CanMapToDefinition(typeof(float)));
        }
コード例 #8
0
        public void CanGetDataTypeDefinitionForDateTime()
        {
            var mapping = DataTypeDefinitionMappings.GetDefinitionMapping(typeof(DateTime));

            Assert.IsTrue(mapping.CanMapToDefinition(typeof(DateTime)));
        }
コード例 #9
0
        public void CanGetDataTypeDefinitionForBoolean()
        {
            var mapping = DataTypeDefinitionMappings.GetDefinitionMapping(typeof(bool));

            Assert.IsTrue(mapping.CanMapToDefinition(typeof(bool)));
        }