public void Create_throws_argument_exception_when_called_with_invalid_arguments() { var entityType = new EntityType("Source", "Namespace", DataSpace.CSpace); var refType = new RefType(entityType); var metadataProperty = new MetadataProperty( "MetadataProperty", TypeUsage.CreateDefaultTypeUsage(PrimitiveType.GetEdmPrimitiveType(PrimitiveTypeKind.String)), "value"); Assert.Throws <ArgumentException>( () => AssociationEndMember.Create( null, refType, RelationshipMultiplicity.Many, OperationAction.Cascade, new[] { metadataProperty })); Assert.Throws <ArgumentException>( () => AssociationEndMember.Create( String.Empty, refType, RelationshipMultiplicity.Many, OperationAction.Cascade, new[] { metadataProperty })); Assert.Throws <ArgumentNullException>( () => AssociationEndMember.Create( "AssociationEndMember", null, RelationshipMultiplicity.Many, OperationAction.Cascade, new[] { metadataProperty })); }
public void Create_sets_properties_and_seals_the_instance() { var entityType = new EntityType("Source", "Namespace", DataSpace.CSpace); var refType = new RefType(entityType); var metadataProperty = new MetadataProperty( "MetadataProperty", TypeUsage.CreateDefaultTypeUsage(PrimitiveType.GetEdmPrimitiveType(PrimitiveTypeKind.String)), "value"); var associationEnd = AssociationEndMember.Create( "AssociationEndMember", refType, RelationshipMultiplicity.Many, OperationAction.Cascade, new[] { metadataProperty }); Assert.Equal("AssociationEndMember", associationEnd.Name); Assert.Same(entityType, associationEnd.GetEntityType()); Assert.Equal(RelationshipMultiplicity.Many, associationEnd.RelationshipMultiplicity); Assert.Equal(OperationAction.Cascade, associationEnd.DeleteBehavior); Assert.Same(metadataProperty, associationEnd.MetadataProperties.SingleOrDefault(p => p.Name == "MetadataProperty")); Assert.True(associationEnd.IsReadOnly); }