本文整理汇总了C#中MockType.GetProperty方法的典型用法代码示例。如果您正苦于以下问题:C# MockType.GetProperty方法的具体用法?C# MockType.GetProperty怎么用?C# MockType.GetProperty使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MockType
的用法示例。
在下文中一共展示了MockType.GetProperty方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Apply_ignores_constraint_when_inverse_constraint_already_specified
public void Apply_ignores_constraint_when_inverse_constraint_already_specified()
{
var mockTypeA = new MockType("A");
var mockTypeB = new MockType("B").Property(mockTypeA, "A").Property<int>("AId1").Property<int>("AId2");
mockTypeA.Property(mockTypeB, "B");
var mockPropertyInfo = mockTypeA.GetProperty("B");
var mockInversePropertyInfo = mockTypeB.GetProperty("A");
var modelConfiguration = new ModelConfiguration();
var navigationPropertyConfiguration
= modelConfiguration.Entity(mockTypeA).Navigation(mockPropertyInfo);
var inverseNavigationPropertyConfiguration
= modelConfiguration.Entity(mockTypeB).Navigation(mockInversePropertyInfo);
navigationPropertyConfiguration.InverseNavigationProperty = mockInversePropertyInfo;
inverseNavigationPropertyConfiguration.Constraint
= new ForeignKeyConstraintConfiguration(new[] { mockTypeB.GetProperty("AId1") });
new ForeignKeyPrimitivePropertyAttributeConvention.ForeignKeyAttributeConventionImpl()
.Apply(mockPropertyInfo, modelConfiguration, new ForeignKeyAttribute("AId2"));
Assert.Null(navigationPropertyConfiguration.Constraint);
}
示例2: Configure_should_uniquify_unconfigured_assocation_function_names
public void Configure_should_uniquify_unconfigured_assocation_function_names()
{
var typeA = new MockType("A");
var typeB = new MockType("B").Property(typeA.AsCollection(), "As");
var mockPropertyInfo = typeB.GetProperty("As");
typeA.Property(typeB.AsCollection(), "Bs");
var modelConfiguration = new ModelConfiguration();
var navigationPropertyConfiguration
= modelConfiguration.Entity(typeB).Navigation(mockPropertyInfo);
navigationPropertyConfiguration.ModificationFunctionsConfiguration
= new ModificationFunctionsConfiguration();
var modificationFunctionConfiguration = new ModificationFunctionConfiguration();
modificationFunctionConfiguration.HasName("M2M_Delete");
navigationPropertyConfiguration.ModificationFunctionsConfiguration
.Insert(modificationFunctionConfiguration);
var model = new EdmModel(DataSpace.CSpace);
var entityA = model.AddEntityType("A");
entityA.Annotations.SetClrType(typeA);
entityA.SetConfiguration(modelConfiguration.Entity(typeA));
var entityB = model.AddEntityType("B");
entityB.Annotations.SetClrType(typeB);
entityB.SetConfiguration(modelConfiguration.Entity(typeB));
model.AddEntitySet("AS", entityA);
model.AddEntitySet("BS", entityB);
var associationType
= model.AddAssociationType(
"M2M",
entityA,
RelationshipMultiplicity.Many,
entityB,
RelationshipMultiplicity.Many);
associationType.SetConfiguration(navigationPropertyConfiguration);
var navigationProperty
= entityB.AddNavigationProperty("As", associationType);
navigationProperty.SetClrPropertyInfo(mockPropertyInfo);
model.AddAssociationSet("M2MSet", associationType);
var databaseMapping
= new DatabaseMappingGenerator(ProviderRegistry.Sql2008_ProviderManifest)
.Generate(model);
modelConfiguration.Configure(databaseMapping, ProviderRegistry.Sql2008_ProviderManifest);
Assert.True(databaseMapping.Database.Functions.Any(f => f.Name == "M2M_Delete"));
Assert.True(databaseMapping.Database.Functions.Any(f => f.Name == "M2M_Delete1"));
}
示例3: Apply_SetsTimeSpanProperty_AsEdmTimeOfDay
public void Apply_SetsTimeSpanProperty_AsEdmTimeOfDay(string typeName, bool expect)
{
// Arrange
MockType type = new MockType("Customer")
.Property(typeof(TimeSpan), "CreatedTime", new[] {new ColumnAttribute {TypeName = typeName}});
Mock<StructuralTypeConfiguration> structuralType = new Mock<StructuralTypeConfiguration>();
structuralType.Setup(t => t.ClrType).Returns(type);
PropertyInfo property = type.GetProperty("CreatedTime");
Mock<PrimitivePropertyConfiguration> primitiveProperty = new Mock<PrimitivePropertyConfiguration>(property, structuralType.Object);
primitiveProperty.Setup(p => p.RelatedClrType).Returns(typeof(TimeSpan));
primitiveProperty.Object.AddedExplicitly = false;
// Act
new ColumnAttributeEdmPropertyConvention().Apply(primitiveProperty.Object, structuralType.Object,
new ODataConventionModelBuilder());
// Assert
if (expect)
{
Assert.NotNull(primitiveProperty.Object.TargetEdmTypeKind);
Assert.Equal(EdmPrimitiveTypeKind.TimeOfDay, primitiveProperty.Object.TargetEdmTypeKind);
}
else
{
Assert.Null(primitiveProperty.Object.TargetEdmTypeKind);
}
}
示例4: Ctor_ThrowsArgument_IfMultiplicityIsManyAndPropertyIsNotCollection
public void Ctor_ThrowsArgument_IfMultiplicityIsManyAndPropertyIsNotCollection()
{
MockType mockEntity = new MockType().Property<int>("ID");
Assert.Throws<ArgumentException>(
() => new NavigationPropertyConfiguration(mockEntity.GetProperty("ID"), EdmMultiplicity.Many, new EntityTypeConfiguration()),
"The property 'ID' on the type 'T' is being configured as a Many-to-Many navigation property. Many to Many navigation properties must be collections.\r\nParameter name: property");
}
示例5: Apply_ignores_constraint_when_already_specified
public void Apply_ignores_constraint_when_already_specified()
{
var mockTypeA = new MockType("A");
var mockTypeB = new MockType("B").Property<int>("AId1").Property<int>("AId2");
mockTypeA.Property(mockTypeB, "B");
var mockPropertyInfo = mockTypeA.GetProperty("B");
var modelConfiguration = new ModelConfiguration();
var navigationPropertyConfiguration
= modelConfiguration.Entity(mockTypeA).Navigation(mockPropertyInfo);
navigationPropertyConfiguration.Constraint
= new ForeignKeyConstraintConfiguration(new[] { mockTypeB.GetProperty("AId1") });
new ForeignKeyPrimitivePropertyAttributeConvention.ForeignKeyAttributeConventionImpl()
.Apply(mockPropertyInfo, modelConfiguration, new ForeignKeyAttribute("AId2"));
var foreignKeyConstraint = (ForeignKeyConstraintConfiguration)navigationPropertyConfiguration.Constraint;
Assert.Equal(new[] { mockTypeB.GetProperty("AId1") }, foreignKeyConstraint.DependentProperties);
}
示例6: AsDate_ThrowsArgument
public void AsDate_ThrowsArgument(Type propertyType)
{
// Arrange
MockType type = new MockType().Property(propertyType, "Birthday");
PropertyInfo property = type.GetProperty("Birthday");
_structuralType.Setup(t => t.ClrType).Returns(type);
// Act
PrimitivePropertyConfiguration propertyConfig = new PrimitivePropertyConfiguration(property, _structuralType.Object);
// Assert
Assert.ThrowsArgument(() => propertyConfig.AsDate(), "property",
"The property 'Birthday' on type 'NS.Customer' must be a System.DateTime property");
}
示例7: RequiredAttributeEdmPropertyConvention_DoesnotOverwriteExistingConfiguration
public void RequiredAttributeEdmPropertyConvention_DoesnotOverwriteExistingConfiguration()
{
MockType type =
new MockType("Entity")
.Property(typeof(int), "ID")
.Property(typeof(int), "Count", new RequiredAttribute());
ODataConventionModelBuilder builder = new ODataConventionModelBuilder();
builder.AddEntityType(type).AddProperty(type.GetProperty("Count")).IsOptional();
IEdmModel model = builder.GetEdmModel();
IEdmEntityType entity = model.AssertHasEntityType(type);
entity.AssertHasPrimitiveProperty(model, "Count", EdmPrimitiveTypeKind.Int32, isNullable: true);
}
示例8: AsDate_Works
public void AsDate_Works()
{
// Arrange
MockType type = new MockType().Property(typeof(DateTime), "Birthday");
PropertyInfo property = type.GetProperty("Birthday");
_structuralType.Setup(t => t.ClrType).Returns(type);
// Act
PrimitivePropertyConfiguration propertyConfig = new PrimitivePropertyConfiguration(property, _structuralType.Object);
EdmPrimitiveTypeKind? typeKind = propertyConfig.AsDate().TargetEdmTypeKind;
// Assert
Assert.NotNull(typeKind);
Assert.Equal(EdmPrimitiveTypeKind.Date, typeKind);
}
示例9: Apply_finds_inverse_when_many_to_many
public void Apply_finds_inverse_when_many_to_many()
{
var mockTypeA = new MockType("A");
var mockTypeB = new MockType("B").Property(mockTypeA.AsCollection(), "As");
var mockPropertyInfo = mockTypeB.GetProperty("As");
mockTypeA.Property(mockTypeB.AsCollection(), "Bs");
var modelConfiguration = new ModelConfiguration();
new InversePropertyAttributeConvention()
.Apply(mockPropertyInfo, modelConfiguration, new InversePropertyAttribute("Bs"));
var navigationPropertyConfiguration
= modelConfiguration.Entity(mockTypeB).Navigation(mockPropertyInfo);
Assert.Same(mockTypeA.GetProperty("Bs"), navigationPropertyConfiguration.InverseNavigationProperty);
}
示例10: ConcurrencyCheckAttributeEdmPropertyConvention_DoesnotOverwriteExistingConfiguration
public void ConcurrencyCheckAttributeEdmPropertyConvention_DoesnotOverwriteExistingConfiguration()
{
MockType type =
new MockType("Entity")
.Property(typeof(int), "ID")
.Property(typeof(int), "Count", new ConcurrencyCheckAttribute());
ODataConventionModelBuilder builder = new ODataConventionModelBuilder();
builder.AddEntityType(type).AddProperty(type.GetProperty("Count")).IsOptional();
IEdmModel model = builder.GetEdmModel();
IEdmEntityType entity = model.AssertHasEntityType(type);
IEdmStructuralProperty property = entity.AssertHasPrimitiveProperty(
model,
"Count",
EdmPrimitiveTypeKind.Int32,
isNullable: true);
Assert.Equal(EdmConcurrencyMode.Fixed, property.ConcurrencyMode);
}
开发者ID:tlycken,项目名称:aspnetwebstack,代码行数:19,代码来源:ConcurrencyCheckAttributeEdmPropertyConventionTest.cs
示例11: Apply_DoesnotSetRequiredProperty_IfTypeIsNotADataContract
public void Apply_DoesnotSetRequiredProperty_IfTypeIsNotADataContract()
{
// Arrange
MockType type =
new MockType("Mocktype")
.Property(typeof(string), "Property", new[] { new DataMemberAttribute { IsRequired = true } });
type.Setup(t => t.GetCustomAttributes(It.IsAny<Type>(), It.IsAny<bool>())).Returns(new object[0]);
PropertyInfo property = type.GetProperty("Property");
Mock<StructuralTypeConfiguration> structuralType = new Mock<StructuralTypeConfiguration>();
Mock<StructuralPropertyConfiguration> structuralProperty = new Mock<StructuralPropertyConfiguration>(property, structuralType.Object);
structuralType.Setup(t => t.ClrType).Returns(type);
// Act
new DataMemberAttributeEdmPropertyConvention().Apply(structuralProperty.Object, structuralType.Object);
// Assert
Assert.True(structuralProperty.Object.OptionalProperty);
}
示例12: Apply_SetsRequiredProperty
public void Apply_SetsRequiredProperty()
{
// Arrange
MockType type =
new MockType("Mocktype")
.Property(typeof(string), "Property", new[] { new DataMemberAttribute { IsRequired = true } });
type.Setup(t => t.GetCustomAttributes(It.IsAny<Type>(), It.IsAny<bool>())).Returns(new[] { new DataContractAttribute() });
Mock<StructuralTypeConfiguration> structuralType = new Mock<StructuralTypeConfiguration>();
structuralType.Setup(t => t.ClrType).Returns(type);
PropertyInfo property = type.GetProperty("Property");
Mock<StructuralPropertyConfiguration> structuralProperty = new Mock<StructuralPropertyConfiguration>(property, structuralType.Object);
structuralProperty.Object.AddedExplicitly = false;
// Act
new DataMemberAttributeEdmPropertyConvention().Apply(structuralProperty.Object, structuralType.Object, new ODataConventionModelBuilder());
// Assert
Assert.False(structuralProperty.Object.OptionalProperty);
}
示例13: DatabaseGeneratedAttributeEdmPropertyConvention_DoesnotOverwriteExistingConfiguration
public void DatabaseGeneratedAttributeEdmPropertyConvention_DoesnotOverwriteExistingConfiguration()
{
// Arrange
MockType type =
new MockType("Entity")
.Property(typeof(int), "ID")
.Property(typeof(int?), "Count", new DatabaseGeneratedAttribute(DatabaseGeneratedOption.Computed));
// Act
ODataConventionModelBuilder builder = new ODataConventionModelBuilder();
builder.AddEntity(type).AddProperty(type.GetProperty("Count")).IsOptional();
IEdmModel model = builder.GetEdmModel();
// Assert
IEdmEntityType entity = model.AssertHasEntityType(type);
IEdmStructuralProperty property = entity.AssertHasPrimitiveProperty(model, "Count",
EdmPrimitiveTypeKind.Int32, isNullable: true);
var idAnnotation = model.GetAnnotationValue<EdmStringConstant>(
property,
StoreGeneratedPatternAnnotation.AnnotationsNamespace,
"StoreGeneratedPattern");
Assert.Null(idAnnotation);
}
示例14: Apply_throws_when_cannot_find_inverse_property
public void Apply_throws_when_cannot_find_inverse_property()
{
var mockTypeA = new MockType("A");
var mockTypeB = new MockType("B");
mockTypeA.Property(mockTypeB, "B");
var mockPropertyInfo = mockTypeA.GetProperty("B");
var modelConfiguration = new ModelConfiguration();
Assert.Equal(
Strings.InversePropertyAttributeConvention_PropertyNotFound("Foo", mockTypeB.Object, "B", mockTypeA.Object),
Assert.Throws<InvalidOperationException>(
() => new InversePropertyAttributeConvention()
.Apply(mockPropertyInfo, modelConfiguration, new InversePropertyAttribute("Foo"))).Message);
}
示例15: Apply_throws_on_self_inverse
public void Apply_throws_on_self_inverse()
{
var mockTypeA = new MockType("A");
mockTypeA.Property(mockTypeA, "A");
var mockPropertyInfo = mockTypeA.GetProperty("A");
var modelConfiguration = new ModelConfiguration();
Assert.Equal(
Strings.InversePropertyAttributeConvention_SelfInverseDetected("A", mockTypeA.Object),
Assert.Throws<InvalidOperationException>(
() => new InversePropertyAttributeConvention()
.Apply(mockPropertyInfo, modelConfiguration, new InversePropertyAttribute("A"))).Message);
}