Example #1
0
        private DataContractEnum CreateDataContract()
        {
            DataContractEnum dataContractEnum = Store.ElementFactory.CreateElement(DataContractEnum.DomainClassId) as DataContractEnum;

            dataContractEnum.Name = "fooEnum";
            return(dataContractEnum);
        }
Example #2
0
            public void TestDoValidateCollectionItem(EnumNamedValue objectToValidate, object currentTarget, string key, ValidationResults validationResults)
            {
                DataContractEnum contract = currentTarget as DataContractEnum;

                foreach (EnumNamedValue element in contract.EnumNamedValues)
                {
                    this.DoValidateCollectionItem(element, currentTarget, key, validationResults);
                }
            }
Example #3
0
        private DataContractEnum CreateDefaultDataContractEnum()
        {
            DataContractEnum rootElement = new DataContractEnum(Store);

            rootElement.DataContractModel = new DataContractModel(Store);
            rootElement.DataContractModel.ProjectMappingTable = "ASMX";
            rootElement.Name      = ElementName;
            rootElement.Namespace = ElementNamespace;
            return(rootElement);
        }
Example #4
0
        public void ShouldReturnAsmxDataContractEnumLink()
        {
            DataContractEnum enumElement = new DataContractEnum(Store);

            enumElement.DataContractModel = new DataContractModel(Store);
            AsmxDataContractEnum asmxDCEnum = new AsmxDataContractEnum();

            asmxDCEnum.ModelElement = enumElement;

            Assert.IsInstanceOfType(asmxDCEnum.ArtifactLink, typeof(AsmxDataContractEnumLink));
        }
        protected override void DoValidateCollectionItem(EnumNamedValue objectToValidate, object currentTarget, string key, ValidationResults validationResults)
        {
            DataContractEnum dataContractEnum = currentTarget as DataContractEnum;

            if (dataContractEnum != null)
            {
                if (String.IsNullOrEmpty(objectToValidate.Name) ||
                    String.Compare(dataContractEnum.Name, objectToValidate.Name, StringComparison.Ordinal) == 0)
                {
                    validationResults.AddResult(
                        new ValidationResult(String.Format(CultureInfo.CurrentUICulture, this.MessageTemplate, this.GetObjectName(currentTarget)), objectToValidate, key, String.Empty, this));
                }
            }
            base.DoValidateCollectionItem(objectToValidate, currentTarget, key, validationResults);
        }
Example #6
0
        public void TestHeaderGeneration()
        {
            ProjectMappingManagerSetup.InitializeManager(ServiceProvider, "ProjectMapping.DataContractDsl.Tests.xml");

            DataContractEnum rootElement = CreateDefaultDataContractEnum();
            string           content     = RunTemplate(rootElement);

            Type generatedType = CompileAndGetType(content);

            Assert.IsTrue(generatedType.IsEnum);
            DataContractAttribute dataContractAttr = TypeAsserter.AssertAttribute <DataContractAttribute>(generatedType);

            Assert.AreEqual <string>(ElementName, dataContractAttr.Name);
            Assert.AreEqual <string>(ElementNamespace, dataContractAttr.Namespace);
        }
Example #7
0
        public void TestMembersWithPrimitiveEnumTypeGeneration()
        {
            ProjectMappingManagerSetup.InitializeManager(ServiceProvider, "ProjectMapping.DataContractDsl.Tests.xml");
            DataContract     rootElement = CreateDefaultDataContract();
            DataContractEnum enumElement = new DataContractEnum(Store);

            enumElement.Name = PrimitiveDataElementName1;
            rootElement.DataContractModel.Contracts.Add(enumElement);
            rootElement.DataMembers.AddRange(LoadLinkedElements(enumElement));
            string content = RunTemplate(rootElement);

            this.EnsureType(ref content, PrimitiveDataElementName1);
            Type generatedType = CompileAndGetType(content);
            KnownTypeAttribute knownTypeAttr = TypeAsserter.AssertAttribute <KnownTypeAttribute>(generatedType);

            Assert.AreEqual <string>(PrimitiveDataElementName1, knownTypeAttr.Type.Name);
        }
Example #8
0
        public void DoValidateCollectionDataElementFailsForEmptyNamedElements()
        {
            DataContractEnum dataContract = CreateDataContract();

            EnumNamedValue part = Store.ElementFactory.CreateElement(EnumNamedValue.DomainClassId) as EnumNamedValue;

            part.Name = string.Empty;
            dataContract.EnumNamedValues.Add(part);

            TestableDataContractEnumDataElementCollectionValidator target = new TestableDataContractEnumDataElementCollectionValidator();

            ValidationResults results = new ValidationResults();

            target.TestDoValidateCollectionItem(part, dataContract, String.Empty, results);

            Assert.IsFalse(results.IsValid);
        }
Example #9
0
        public void TestEnumDataElementsGeneration()
        {
            ProjectMappingManagerSetup.InitializeManager(ServiceProvider, "ProjectMapping.DataContractDsl.Tests.xml");

            DataContractEnum rootElement = CreateDefaultDataContractEnum();

            rootElement.EnumNamedValues.AddRange(LoadEnumDataElements());
            string content = RunTemplate(rootElement);

            Type generatedType = CompileAndGetType(content);

            TypeAsserter.AssertExistPublicField(EnumElement1Name, generatedType);

            XmlEnumAttribute attrib = TypeAsserter.AssertAttribute <XmlEnumAttribute>(generatedType.GetField(EnumElement1Name));

            Assert.AreEqual <string>(EnumElement1Value, attrib.Name);

            TypeAsserter.AssertExistPublicField(EnumElement2Name, generatedType);
            attrib = TypeAsserter.AssertAttribute <XmlEnumAttribute>(generatedType.GetField(EnumElement2Name));
            Assert.AreEqual <string>(EnumElement2Value, attrib.Name);
        }
Example #10
0
        public void DoValidateCollectionDataElementFailsForDuplicateNamedElements()
        {
            DataContractEnum dataContract = CreateDataContract();

            EnumNamedValue part = Store.ElementFactory.CreateElement(EnumNamedValue.DomainClassId) as EnumNamedValue;

            part.Name = "foo";
            dataContract.EnumNamedValues.Add(part);

            EnumNamedValue part2 = Store.ElementFactory.CreateElement(EnumNamedValue.DomainClassId) as EnumNamedValue;

            part2.Name = part.Name;

            dataContract.EnumNamedValues.Add(part2);

            TestableDataContractEnumDataElementCollectionValidator target = new TestableDataContractEnumDataElementCollectionValidator();

            ValidationResults results = new ValidationResults();

            target.TestDoValidateCollectionItem(part, dataContract, String.Empty, results);

            Assert.IsFalse(results.IsValid);
            Assert.AreEqual <int>(1, NumberOfErrors(results));
        }