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); }
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); }
public void GetContainerMetadata_ThrowsNotImplementedException_ByDefault() { // Arrange var metadata = new TestModelMetadata(typeof(DerivedList)); // Act & Assert Assert.Throws <NotImplementedException>(() => metadata.ContainerMetadata); }
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); }
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); }
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); }
public void ElementType_ReturnsNull_ForNonCollections(Type modelType) { // Arrange var metadata = new TestModelMetadata(modelType); // Act var elementType = metadata.ElementType; // Assert Assert.Null(elementType); }
public void IsCollectionType_CollectionTypes(Type type) { // Arrange var provider = new EmptyModelMetadataProvider(); // Act var modelMetadata = new TestModelMetadata(type); // Assert Assert.True(modelMetadata.IsCollectionType); }
public void IsComplexType_ReturnsTrueForComplexTypes(Type type) { // Arrange var provider = new EmptyModelMetadataProvider(); // Act var modelMetadata = new TestModelMetadata(type); // Assert Assert.True(modelMetadata.IsComplexType); }
public void IsEnumerableType_ReturnsFalseForNonEnumerableTypes(Type type) { // Arrange var provider = new EmptyModelMetadataProvider(); // Act var modelMetadata = new TestModelMetadata(type); // Assert Assert.False(modelMetadata.IsEnumerableType); }
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); }
public void IsComplexTypeTestsReturnsFalseForSimpleTypes(Type type) { // Arrange var provider = new EmptyModelMetadataProvider(); // Act var modelMetadata = new TestModelMetadata(type); // Assert Assert.False(modelMetadata.IsComplexType); }
public void GetDisplayName_ReturnsTypeName_WhenPropertyNameAndDisplayNameAreNull() { // Arrange var metadata = new TestModelMetadata(typeof(string)); // Act var result = metadata.GetDisplayName(); // Assert Assert.Equal("String", result); }
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); }
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); }
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); }
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); }
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); }