public void Create_sets_properties_and_seals_the_type() { var complexType = ComplexType.Create( "foo", "bar", DataSpace.CSpace, new[] { EdmProperty.Primitive("prop1", PrimitiveType.GetEdmPrimitiveType(PrimitiveTypeKind.Int32)), EdmProperty.Primitive("prop2", PrimitiveType.GetEdmPrimitiveType(PrimitiveTypeKind.Int32)) }, new[] { new MetadataProperty( "TestProperty", TypeUsage.CreateDefaultTypeUsage( PrimitiveType.GetEdmPrimitiveType( PrimitiveTypeKind.String)), "value"), }); Assert.Equal("bar.foo", complexType.FullName); Assert.Equal(DataSpace.CSpace, complexType.DataSpace); Assert.Equal(new[] { "prop1", "prop2" }, complexType.Members.Select(m => m.Name)); Assert.True(complexType.IsReadOnly); var metadataProperty = complexType.MetadataProperties.SingleOrDefault(p => p.Name == "TestProperty"); Assert.NotNull(metadataProperty); Assert.Equal("value", metadataProperty.Value); }
public void Create_throws_for_null_or_empty_arguments() { Assert.Equal( Strings.ArgumentIsNullOrWhitespace("name"), Assert.Throws <ArgumentException>( () => ComplexType.Create(null, "foo", DataSpace.CSpace, new EdmMember[0], null)).Message); Assert.Equal( Strings.ArgumentIsNullOrWhitespace("namespaceName"), Assert.Throws <ArgumentException>( () => ComplexType.Create("foo", null, DataSpace.CSpace, new EdmMember[0], null)).Message); Assert.Equal( "members", Assert.Throws <ArgumentNullException>( () => ComplexType.Create("foo", "bar", DataSpace.CSpace, null, null)).ParamName); }
public void Create_throws_for_null_arguments() { Assert.Equal( "name", Assert.Throws <ArgumentNullException>( () => ComplexType.Create(null, "foo", DataSpace.CSpace, new EdmMember[0], null)).ParamName); Assert.Equal( "namespaceName", Assert.Throws <ArgumentNullException>( () => ComplexType.Create("foo", null, DataSpace.CSpace, new EdmMember[0], null)).ParamName); Assert.Equal( "members", Assert.Throws <ArgumentNullException>( () => ComplexType.Create("foo", "bar", DataSpace.CSpace, null, null)).ParamName); }