public void GetMetadataForTypeSetsTypeWithNullPropertyName() { // Arrange var provider = new CachedDataAnnotationsModelMetadataProvider(); // Act ModelMetadata result = provider.GetMetadataForType(null, typeof(string)); // Assert Assert.Equal(typeof(string), result.ModelType); Assert.Null(result.PropertyName); }
private static ModelMetadata GetMetadataForType(Type t) { CachedDataAnnotationsModelMetadataProvider metadataProvider = new CachedDataAnnotationsModelMetadataProvider(); return(metadataProvider.GetMetadataForType(null, t)); }
private static ModelMetadata GetMetadataForObject(object o) { CachedDataAnnotationsModelMetadataProvider metadataProvider = new CachedDataAnnotationsModelMetadataProvider(); return(metadataProvider.GetMetadataForType(() => o, o.GetType())); }
private static ModelMetadata GetMetadataForType(Type t) { CachedDataAnnotationsModelMetadataProvider metadataProvider = new CachedDataAnnotationsModelMetadataProvider(); return metadataProvider.GetMetadataForType(null, t); }
private static ModelMetadata GetMetadataForObject(object o) { CachedDataAnnotationsModelMetadataProvider metadataProvider = new CachedDataAnnotationsModelMetadataProvider(); return metadataProvider.GetMetadataForType(() => o, o.GetType()); }
public void SimpleDisplayTextForNonNullClassWithNullDisplayColumnValueRevertsToDefaultBehavior() { // Arrange var provider = new CachedDataAnnotationsModelMetadataProvider(); var model = new SimpleDisplayTextAttributeModel(); var metadata = provider.GetMetadataForType(() => model, typeof(SimpleDisplayTextAttributeModel)); // Act string result = metadata.SimpleDisplayText; // Assert Assert.Equal("42", result); // Falls back to the default logic of first property value }
public void SimpleDisplayTextForNonNullClassWithNonNullDisplayColumnValue() { // Arrange string expected = "Custom property display value"; var provider = new CachedDataAnnotationsModelMetadataProvider(); var model = new SimpleDisplayTextAttributeModel { DisplayColumnProperty = expected }; var metadata = provider.GetMetadataForType(() => model, typeof(SimpleDisplayTextAttributeModel)); // Act string result = metadata.SimpleDisplayText; // Assert Assert.Equal(expected, result); }
public void SimpleDisplayTextForTypeWithWriteOnlyDisplayColumnThrows() { // Arrange var provider = new CachedDataAnnotationsModelMetadataProvider(); // Act & Assert Assert.Throws<InvalidOperationException>( () => provider.GetMetadataForType(() => new WriteOnlyDisplayColumnModel(), typeof(WriteOnlyDisplayColumnModel)).SimpleDisplayText, typeof(WriteOnlyDisplayColumnModel).FullName + " has a DisplayColumn attribute for WriteOnlyProperty, but property WriteOnlyProperty does not have a public getter."); Assert.Throws<InvalidOperationException>( () => provider.GetMetadataForType(() => new PrivateReadPublicWriteDisplayColumnModel(), typeof(PrivateReadPublicWriteDisplayColumnModel)).SimpleDisplayText, typeof(PrivateReadPublicWriteDisplayColumnModel).FullName + " has a DisplayColumn attribute for PrivateReadPublicWriteProperty, but property PrivateReadPublicWriteProperty does not have a public getter."); }
public void SimpleDisplayNameWithUnknownDisplayColumnThrows() { // Arrange var provider = new CachedDataAnnotationsModelMetadataProvider(); // Act & Assert Assert.Throws<InvalidOperationException>( () => provider.GetMetadataForType(() => new UnknownDisplayColumnModel(), typeof(UnknownDisplayColumnModel)).SimpleDisplayText, typeof(UnknownDisplayColumnModel).FullName + " has a DisplayColumn attribute for NoPropertyWithThisName, but property NoPropertyWithThisName does not exist."); }