// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System.ComponentModel.DataAnnotations; using Xunit; namespace Microsoft.AspNet.Mvc.ModelBinding { public class CachedDataAnnotationsModelMetadataProviderTest { [Fact] public void DataAnnotationsModelMetadataProvider_ReadsScaffoldColumnAttribute_ForShowForDisplay() { // Arrange var type = typeof(ScaffoldColumnModel); var provider = new DataAnnotationsModelMetadataProvider(); // Act & Assert Assert.True(provider.GetMetadataForProperty(null, type, "NoAttribute").ShowForDisplay); Assert.True(provider.GetMetadataForProperty(null, type, "ScaffoldColumnTrue").ShowForDisplay); Assert.False(provider.GetMetadataForProperty(null, type, "ScaffoldColumnFalse").ShowForDisplay); } [Fact] public void DataAnnotationsModelMetadataProvider_ReadsScaffoldColumnAttribute_ForShowForEdit() { // Arrange var type = typeof(ScaffoldColumnModel); var provider = new DataAnnotationsModelMetadataProvider(); // Act & Assert Assert.True(provider.GetMetadataForProperty(null, type, "NoAttribute").ShowForEdit); Assert.True(provider.GetMetadataForProperty(null, type, "ScaffoldColumnTrue").ShowForEdit); Assert.False(provider.GetMetadataForProperty(null, type, "ScaffoldColumnFalse").ShowForEdit); } private class ScaffoldColumnModel { public int NoAttribute { get; set; } [ScaffoldColumn(scaffold: true)] public int ScaffoldColumnTrue { get; set; } [ScaffoldColumn(scaffold: false)] public int ScaffoldColumnFalse { get; set; } } } }