1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
namespace System.Data.Entity.ModelConfiguration.Edm.UnitTests
{
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Data.Entity.Core.Metadata.Edm;
using System.Data.Entity.ModelConfiguration.Edm.Common;
using System.Data.Entity.ModelConfiguration.Mappers;
using System.Data.Entity.ModelConfiguration.Utilities;
using System.Runtime.Serialization;
using Moq;
using Xunit;
public sealed class AttributeMapperTests
{
[Fact]
public void AttributeMapper_should_map_annotation_attributes_for_types()
{
var mockType = new MockType("T");
var mockAttributeProvider = new Mock<AttributeProvider>();
mockAttributeProvider
.Setup(a => a.GetAttributes(mockType.Object))
.Returns(
new Attribute[]
{
new DataContractAttribute(),
new TableAttribute("MyTable")
});
var annotations = new List<DataModelAnnotation>();
new AttributeMapper(mockAttributeProvider.Object).Map(mockType, annotations);
Assert.Equal(1, annotations.Count);
Assert.Equal(2, annotations.GetClrAttributes().Count);
}
[Fact]
public void AttributeMapper_should_map_annotation_attribute_for_properties()
{
var mockPropertyInfo = new MockPropertyInfo(typeof(string), "P");
var mockAttributeProvider = new Mock<AttributeProvider>();
mockAttributeProvider
.Setup(a => a.GetAttributes(mockPropertyInfo.Object))
.Returns(
new Attribute[]
{
new DataContractAttribute(),
new TableAttribute("MyTable")
});
var annotations = new List<DataModelAnnotation>();
new AttributeMapper(mockAttributeProvider.Object).Map(mockPropertyInfo, annotations);
Assert.Equal(1, annotations.Count);
Assert.Equal(2, annotations.GetClrAttributes().Count);
}
}
}
|