Exemple #1
0
        public void ContainerType_ReturnExpectedMetadata_ForProperty()
        {
            // Arrange & Act
            var metadata = new TestModelMetadata(typeof(int), nameof(string.Length), typeof(string));

            // Assert
            Assert.Equal(typeof(string), metadata.ContainerType);
        }
        public void UnderlyingOrModelType_ReturnsExpectedValue(Type modelType, Type expected)
        {
            // Arrange & Act
            var modelMetadata = new TestModelMetadata(modelType);

            // Assert
            Assert.Equal(expected, modelMetadata.UnderlyingOrModelType);
        }
        public void GetMetadataForProperties_ByDefaultThrows_NotImplementedException()
        {
            // Arrange
            var metadata = new TestModelMetadata(typeof(string));

            // Act & Assert
            var result = Assert.Throws <NotImplementedException>(() => metadata.GetMetadataForProperties(typeof(string)));
        }
        public void IsComplexType_ReturnsTrueForComplexTypes(Type type)
        {
            // Arrange & Act
            var modelMetadata = new TestModelMetadata(type);

            // Assert
            Assert.True(modelMetadata.IsComplexType);
        }
        public void ContainerType_IsNull_ForType()
        {
            // Arrange & Act
            var metadata = new TestModelMetadata(typeof(int));

            // Assert
            Assert.Null(metadata.ContainerType);
        }
        public void IsEnumerableType_ReturnsTrueForEnumerableTypes(Type type)
        {
            // Arrange & Act
            var modelMetadata = new TestModelMetadata(type);

            // Assert
            Assert.True(modelMetadata.IsEnumerableType);
        }
        public void IsReferenceOrNullableType_ReturnsExpectedValue(Type modelType, bool expected)
        {
            // Arrange & Act
            var modelMetadata = new TestModelMetadata(modelType);

            // Assert
            Assert.Equal(expected, modelMetadata.IsReferenceOrNullableType);
        }
Exemple #8
0
        public void IsNullableValueType_ReturnsExpectedValue(Type modelType, bool expected)
        {
            // Arrange
            var modelMetadata = new TestModelMetadata(modelType);

            // Act & Assert
            Assert.Equal(expected, modelMetadata.IsNullableValueType);
        }
        public void IsCollectionType_ReturnsFalseForNonCollectionTypes(Type type)
        {
            // Arrange & Act
            var modelMetadata = new TestModelMetadata(type);

            // Assert
            Assert.False(modelMetadata.IsCollectionType);
        }
Exemple #10
0
        public void GetContainerMetadata_ThrowsNotImplementedException_ByDefault()
        {
            // Arrange
            var metadata = new TestModelMetadata(typeof(DerivedList));

            // Act & Assert
            Assert.Throws <NotImplementedException>(() => metadata.ContainerMetadata);
        }
Exemple #11
0
        public void Names_ReturnExpectedMetadata_ForType()
        {
            // Arrange & Act
            var metadata = new TestModelMetadata(typeof(int));

            // Assert
            Assert.Null(metadata.Name);
            Assert.Null(metadata.ParameterName);
            Assert.Null(metadata.PropertyName);
        }
Exemple #12
0
        public void ContainerType_IsNull_ForParameter()
        {
            // Arrange & Act
            var method    = typeof(CollectionImplementation).GetMethod(nameof(CollectionImplementation.Add));
            var parameter = method.GetParameters()[0]; // Add(string item)
            var metadata  = new TestModelMetadata(parameter);

            // Assert
            Assert.Null(metadata.ContainerType);
        }
Exemple #13
0
        public void Names_ReturnExpectedMetadata_ForProperty()
        {
            // Arrange & Act
            var metadata = new TestModelMetadata(typeof(int), nameof(string.Length), typeof(string));

            // Assert
            Assert.Equal(nameof(string.Length), metadata.Name);
            Assert.Null(metadata.ParameterName);
            Assert.Equal(nameof(string.Length), metadata.PropertyName);
        }
Exemple #14
0
        public void ElementType_ReturnsNull_ForNonCollections(Type modelType)
        {
            // Arrange
            var metadata = new TestModelMetadata(modelType);

            // Act
            var elementType = metadata.ElementType;

            // Assert
            Assert.Null(elementType);
        }
Exemple #15
0
        public void IsCollectionType_CollectionTypes(Type type)
        {
            // Arrange
            var provider = new EmptyModelMetadataProvider();

            // Act
            var modelMetadata = new TestModelMetadata(type);

            // Assert
            Assert.True(modelMetadata.IsCollectionType);
        }
Exemple #16
0
        public void IsComplexType_ReturnsTrueForComplexTypes(Type type)
        {
            // Arrange
            var provider = new EmptyModelMetadataProvider();

            // Act
            var modelMetadata = new TestModelMetadata(type);

            // Assert
            Assert.True(modelMetadata.IsComplexType);
        }
Exemple #17
0
        public void IsEnumerableType_ReturnsFalseForNonEnumerableTypes(Type type)
        {
            // Arrange
            var provider = new EmptyModelMetadataProvider();

            // Act
            var modelMetadata = new TestModelMetadata(type);

            // Assert
            Assert.False(modelMetadata.IsEnumerableType);
        }
Exemple #18
0
        public void GetDisplayName_ReturnsPropertyName_WhenSetAndDisplayNameIsNull()
        {
            // Arrange
            var metadata = new TestModelMetadata(typeof(int), "Length", typeof(string));

            // Act
            var result = metadata.GetDisplayName();

            // Assert
            Assert.Equal("Length", result);
        }
Exemple #19
0
        public void IsComplexTypeTestsReturnsFalseForSimpleTypes(Type type)
        {
            // Arrange
            var provider = new EmptyModelMetadataProvider();

            // Act
            var modelMetadata = new TestModelMetadata(type);

            // Assert
            Assert.False(modelMetadata.IsComplexType);
        }
Exemple #20
0
        public void GetDisplayName_ReturnsTypeName_WhenPropertyNameAndDisplayNameAreNull()
        {
            // Arrange
            var metadata = new TestModelMetadata(typeof(string));

            // Act
            var result = metadata.GetDisplayName();

            // Assert
            Assert.Equal("String", result);
        }
Exemple #21
0
        public void ElementType_ReturnsExpectedMetadata(Type modelType, Type expected)
        {
            // Arrange
            var metadata = new TestModelMetadata(modelType);

            // Act
            var elementType = metadata.ElementType;

            // Assert
            Assert.NotNull(elementType);
            Assert.Equal(expected, elementType);
        }
Exemple #22
0
        public void Names_ReturnExpectedMetadata_ForParameter()
        {
            // Arrange & Act
            var method    = typeof(CollectionImplementation).GetMethod(nameof(CollectionImplementation.Add));
            var parameter = method.GetParameters()[0]; // Add(string item)
            var metadata  = new TestModelMetadata(parameter);

            // Assert
            Assert.Equal("item", metadata.Name);
            Assert.Equal("item", metadata.ParameterName);
            Assert.Null(metadata.PropertyName);
        }
Exemple #23
0
        public void GetDisplayName_ReturnsDisplayName_IfSet()
        {
            // Arrange
            var metadata = new TestModelMetadata(typeof(int), "Length", typeof(string));

            metadata.SetDisplayName("displayName");

            // Act
            var result = metadata.GetDisplayName();

            // Assert
            Assert.Equal("displayName", result);
        }
Exemple #24
0
        public void GetDisplayName_ReturnsParameterName_WhenSetAndDisplayNameIsNull()
        {
            // Arrange
            var method    = typeof(CollectionImplementation).GetMethod(nameof(CollectionImplementation.Add));
            var parameter = method.GetParameters()[0]; // Add(string item)
            var metadata  = new TestModelMetadata(parameter);

            // Act
            var result = metadata.GetDisplayName();

            // Assert
            Assert.Equal("item", result);
        }
Exemple #25
0
        public void GetDisplayName_ReturnsDisplayName_IfSet()
        {
            // Arrange
            var property = typeof(string).GetProperty(nameof(string.Length));
            var metadata = new TestModelMetadata(property, typeof(int), typeof(string));

            metadata.SetDisplayName("displayName");

            // Act
            var result = metadata.GetDisplayName();

            // Assert
            Assert.Equal("displayName", result);
        }