private DataContractEnum CreateDataContract() { DataContractEnum dataContractEnum = Store.ElementFactory.CreateElement(DataContractEnum.DomainClassId) as DataContractEnum; dataContractEnum.Name = "fooEnum"; return(dataContractEnum); }
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); } }
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); }
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); }
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); }
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); }
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); }
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); }
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)); }