public static void GetIdentity_of_StorageComplexTypeMapping_returns_expected_value() { var complexType1 = new ComplexType("CT1", "N", DataSpace.CSpace); var complexType2 = new ComplexType("CT2", "N", DataSpace.CSpace); var complexType3 = new ComplexType("CT3", "N", DataSpace.CSpace); var complexType4 = new ComplexType("CT4", "N", DataSpace.CSpace); var property1 = new EdmProperty("A", TypeUsage.Create(complexType1)); var property2 = new EdmProperty("B", TypeUsage.Create(complexType2)); var propertyMapping1 = new ComplexPropertyMapping(property1); var propertyMapping2 = new ComplexPropertyMapping(property2); var mapping = new ComplexTypeMapping(false); mapping.AddType(complexType2); mapping.AddType(complexType1); mapping.AddIsOfType(complexType4); mapping.AddIsOfType(complexType3); mapping.AddProperty(propertyMapping2); mapping.AddProperty(propertyMapping1); Assert.Equal("ComplexProperty(Identity=A),ComplexProperty(Identity=B),N.CT1,N.CT2,N.CT3,N.CT4", BaseMetadataMappingVisitor.IdentityHelper.GetIdentity(mapping)); }
public void Cannot_add_property_when_read_only() { var complexType = new ComplexType(); var complexTypeMapping = new ComplexTypeMapping(complexType); complexTypeMapping.SetReadOnly(); var scalarPropertyMapping = new ScalarPropertyMapping(new EdmProperty("P"), new EdmProperty("C", TypeUsage.Create(new PrimitiveType() { DataSpace = DataSpace.SSpace }))); Assert.Equal( Strings.OperationOnReadOnlyItem, Assert.Throws <InvalidOperationException>( () => complexTypeMapping.AddProperty(scalarPropertyMapping)).Message); }
public void Can_add_remove_properties() { var complexType = new ComplexType(); var complexTypeMapping = new ComplexTypeMapping(complexType); var scalarPropertyMapping = new ScalarPropertyMapping(new EdmProperty("P"), new EdmProperty("C", TypeUsage.Create(new PrimitiveType() { DataSpace = DataSpace.SSpace }))); Assert.Empty(complexTypeMapping.Properties); complexTypeMapping.AddProperty(scalarPropertyMapping); Assert.Same(scalarPropertyMapping, complexTypeMapping.Properties.Single()); complexTypeMapping.RemoveProperty(scalarPropertyMapping); Assert.Empty(complexTypeMapping.Properties); }
public void SetReadOnly_is_called_on_child_mapping_items() { var complexType = new ComplexType(); var complexTypeMapping = new ComplexTypeMapping(complexType); var scalarPropertyMapping = new ScalarPropertyMapping(new EdmProperty("P"), new EdmProperty("C", TypeUsage.Create(new PrimitiveType() { DataSpace = DataSpace.SSpace }))); var conditionMapping = new IsNullConditionMapping(new EdmProperty("P"), true); complexTypeMapping.AddProperty(scalarPropertyMapping); complexTypeMapping.AddCondition(conditionMapping); Assert.False(scalarPropertyMapping.IsReadOnly); Assert.False(conditionMapping.IsReadOnly); complexTypeMapping.SetReadOnly(); Assert.True(scalarPropertyMapping.IsReadOnly); Assert.True(conditionMapping.IsReadOnly); }