public void VerifyThatGoBackToRelationGroupTypeWorks() { var datatypeMap = new Dictionary <DatatypeDefinition, DatatypeDefinitionMap>(); var datatyemap = new DatatypeDefinitionMap(this.datatypedef, this.pt, new Dictionary <EnumValue, EnumerationValueDefinition>()); datatypeMap.Add(this.datatypedef, datatyemap); this.dialogNavigationService.Setup(x => x.NavigateModal(It.IsAny <ParameterTypeMappingDialogViewModel>())).Returns(new ParameterTypeMappingDialogResult(datatypeMap, true)); var spectypeMap = new Dictionary <SpecificationType, SpecTypeMap>(); var spectypemap = new SpecTypeMap(this.spectype, null, null, null); spectypeMap.Add(this.spectype, spectypemap); this.dialogNavigationService.Setup(x => x.NavigateModal(It.IsAny <SpecificationTypeMappingDialogViewModel>())).Returns(new SpecificationTypeMappingDialogResult(spectypeMap, true, true)); var specobjectTypeMap = new Dictionary <SpecObjectType, SpecObjectTypeMap>(); var specobjectmap = new SpecObjectTypeMap(this.specobjecttype, null, null, null, true); specobjectTypeMap.Add(this.specobjecttype, specobjectmap); this.dialogNavigationService.Setup(x => x.NavigateModal(It.IsAny <SpecObjectTypesMappingDialogViewModel>())).Returns(new RequirementTypeMappingDialogResult(specobjectTypeMap, true, true)); var relationgroupTypeMap = new Dictionary <RelationGroupType, RelationGroupTypeMap>(); this.dialogNavigationService.Setup(x => x.NavigateModal(It.IsAny <RelationGroupTypeMappingDialogViewModel>())).Returns(new RelationshipGroupMappingDialogResult(relationgroupTypeMap, true, true)); var specrelationTypeMap = new Dictionary <SpecRelationType, SpecRelationTypeMap>(); this.dialogNavigationService.SetupSequence(x => x.NavigateModal(It.IsAny <SpecRelationTypeMappingDialogViewModel>())) .Returns(new RelationshipMappingDialogResult(specrelationTypeMap, false, true)) .Returns(new RelationshipMappingDialogResult(specrelationTypeMap, true, true)); Assert.DoesNotThrow(() => this.importMappingManager.StartMapping()); }
public void VerifyThatThingFactoryWorks() { var datatypeMap = new Dictionary <DatatypeDefinition, DatatypeDefinitionMap>(); var datatypedef1 = new DatatypeDefinitionMap(this.stringDatadef, this.pt, null); datatypeMap.Add(this.stringDatadef, datatypedef1); var spectypeMap = new Dictionary <SpecType, SpecTypeMap>(); var specificationMap = new SpecTypeMap(this.specificationtype, null, new [] { this.specCategory }, new [] { new AttributeDefinitionMap(this.specAttribute, AttributeDefinitionMapKind.NAME) }); var requirementMap = new SpecObjectTypeMap(this.specobjecttype, null, new [] { this.reqCateory }, new[] { new AttributeDefinitionMap(this.reqAttribute, AttributeDefinitionMapKind.FIRST_DEFINITION) }, true); var specRelationMap = new SpecRelationTypeMap(this.specrelationtype, new [] { this.parameterRule }, new [] { this.specRelationCategory }, new[] { new AttributeDefinitionMap(this.specRelationAttribute, AttributeDefinitionMapKind.PARAMETER_VALUE) }, new [] { this.reqRule }); var relationGroupMap = new RelationGroupTypeMap(this.relationgrouptype, null, new [] { this.relationGroupCategory }, new[] { new AttributeDefinitionMap(this.relationgroupAttribute, AttributeDefinitionMapKind.NONE) }, new [] { this.specRule }); spectypeMap.Add(this.specificationtype, specificationMap); spectypeMap.Add(this.specobjecttype, requirementMap); spectypeMap.Add(this.specrelationtype, specRelationMap); spectypeMap.Add(this.relationgrouptype, relationGroupMap); var factory = new ThingFactory(this.iteration, datatypeMap, spectypeMap, this.domain, this.reqIf.Lang); factory.ComputeRequirementThings(this.reqIf); Assert.AreEqual(1, factory.RelationGroupMap.Count); Assert.AreEqual(1, factory.SpecRelationMap.Count); Assert.AreEqual(2, factory.SpecificationMap.Count); Assert.IsTrue(factory.SpecificationMap.All(x => x.Value.Requirement.Count == 1)); var reqSpec1 = factory.SpecificationMap[this.specification1]; var reqSpec2 = factory.SpecificationMap[this.specification2]; var req1 = reqSpec1.Requirement.Single(); var req2 = reqSpec2.Requirement.Single(); var specificationRelationship = factory.RelationGroupMap.Single().Value; var reqRelatinoship = factory.SpecRelationMap.Single().Value; Assert.AreSame(specificationRelationship.Source, reqSpec1); Assert.AreSame(specificationRelationship.Target, reqSpec2); Assert.AreSame(reqRelatinoship.Source, req1); Assert.AreSame(reqRelatinoship.Target, req2); Assert.IsNotEmpty(req1.Definition); Assert.IsNotEmpty(req2.Definition); Assert.AreEqual(reqSpec1.Name, this.specValue1.TheValue); Assert.AreEqual(reqSpec2.Name, this.specValue2.TheValue); var parameterValue = reqRelatinoship.ParameterValue.Single(); Assert.AreEqual(parameterValue.Value[0], this.specrelationValue.TheValue); //todo to complete }