public void MetadataAwareAttributeCanModifyTypeMetadata() { // Arrange TestableAssociatedMetadataProvider provider = new TestableAssociatedMetadataProvider(); provider.CreateMetadataReturnValue = new ModelMetadata( provider, null, null, typeof(ClassWithAdditionalMetadata), null ); // Act ModelMetadata metadata = provider.GetMetadataForType( null, typeof(ClassWithAdditionalMetadata) ); // Assert var kvp = metadata.AdditionalValues.Single(); Assert.Equal("ClassName", kvp.Key); Assert.Equal("ClassValue", kvp.Value); }
public void GetMetadataForTypeIncludesAttributesOnType() { TestableAssociatedMetadataProvider provider = new TestableAssociatedMetadataProvider(); ModelMetadata metadata = new ModelMetadata( provider, null, null, typeof(TypeModel), null ); provider.CreateMetadataFromPrototypeReturnValue = metadata; // Act ModelMetadata result = provider.GetMetadataForType(null, typeof(TypeModel)); // Assert Assert.Same(metadata, result); CreateMetadataPrototypeParams parms = Assert.Single( provider.CreateMetadataPrototypeLog, p => p.ModelType == typeof(TypeModel) ); Assert.Contains(parms.Attributes, a => a is ReadOnlyAttribute); }
public void GetMetadataForTypeNullModelTypeThrows() { // Arrange TestableAssociatedMetadataProvider provider = new TestableAssociatedMetadataProvider(); // Act & Assert Assert.ThrowsArgumentNull( () => provider.GetMetadataForType(() => new Object(), null), "modelType"); }
public void GetMetadataForTypeIncludesAttributesOnType() { var provider = new TestableAssociatedMetadataProvider(); var metadata = new ModelMetadata(provider, null, null, typeof(TypeModel), null); provider.CreateMetadataFromPrototypeReturnValue = metadata; // Act var result = provider.GetMetadataForType(null, typeof(TypeModel)); // Assert Assert.Same(metadata, result); var parms = provider.CreateMetadataPrototypeLog.Single(p => p.ModelType == typeof(TypeModel)); Assert.True(parms.Attributes.Any(a => a is ReadOnlyAttribute)); }
public void GetMetadataForTypeIncludesAttributesOnType() { TestableAssociatedMetadataProvider provider = new TestableAssociatedMetadataProvider(); ModelMetadata metadata = new ModelMetadata(provider, null, null, typeof(TypeModel), null); provider.CreateMetadataReturnValue = metadata; // Act ModelMetadata result = provider.GetMetadataForType(null, typeof(TypeModel)); // Assert Assert.AreSame(metadata, result); CreateMetadataParams parms = provider.CreateMetadataLog.Single(p => p.ModelType == typeof(TypeModel)); Assert.IsTrue(parms.Attributes.Any(a => a is ReadOnlyAttribute)); }
public void GetMetadataForTypeIncludesAttributesOnType() { TestableAssociatedMetadataProvider provider = new TestableAssociatedMetadataProvider(); ModelMetadata metadata = new ModelMetadata(provider, null, null, typeof(TypeModel), null); provider.CreateMetadataReturnValue = metadata; // Act ModelMetadata result = provider.GetMetadataForType(null, typeof(TypeModel)); // Assert Assert.AreSame(metadata, result); CreateMetadataParams parms = provider.CreateMetadataLog.Single(p => p.ModelType == typeof(TypeModel)); Assert.IsTrue(parms.Attributes.Any(a => a is ReadOnlyAttribute)); }
public void GetMetadataForTypeNullModelTypeThrows() { // Arrange TestableAssociatedMetadataProvider provider = new TestableAssociatedMetadataProvider(); // Act & Assert ExceptionHelper.ExpectArgumentNullException( () => provider.GetMetadataForType(() => new Object(), null), "modelType"); }
public void MetadataAwareAttributeCanModifyTypeMetadata() { // Arrange TestableAssociatedMetadataProvider provider = new TestableAssociatedMetadataProvider(); provider.CreateMetadataReturnValue = new ModelMetadata(provider, null, null, typeof(ClassWithAdditionalMetadata), null); // Act ModelMetadata metadata = provider.GetMetadataForType(null, typeof(ClassWithAdditionalMetadata)); // Assert var kvp = metadata.AdditionalValues.Single(); Assert.AreEqual("ClassName", kvp.Key); Assert.AreEqual("ClassValue", kvp.Value); }
public void GetMetadataForTypeNullModelTypeThrows() { // Arrange TestableAssociatedMetadataProvider provider = new TestableAssociatedMetadataProvider(); // Act & Assert Assert.ThrowsArgumentNull( () => provider.GetMetadataForType(() => new Object(), modelType: null), "modelType"); }