예제 #1
0
        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);
        }
예제 #2
0
        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);
        }
예제 #3
0
        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);
        }