/// <summary> /// Executes the Ok Command /// </summary> private async void ExecuteOk() { this.IsBusy = true; this.LoadingMessage = "Exporting..."; this.ErrorMessage = string.Empty; try { if (!this.CheckModelValidity(this.SelectedIteration.Iteration)) { this.ErrorMessage = "The model contains errors that need to be fixed before exporting the requirements."; return; } var session = this.Sessions.Single(x => x.Assembler.Cache == this.SelectedIteration.Iteration.Cache); var reqifBuilder = new ReqIFBuilder(); var reqif = reqifBuilder.BuildReqIF(session, this.SelectedIteration.Iteration); //todo use validation this.serializer.Serialize(reqif, this.Path, (sender, args) => {}); this.DialogResult = new BaseDialogResult(true); } catch (Exception ex) { this.ErrorMessage = ex.Message; } finally { this.IsBusy = false; } }
public void VerifyThatRequirementSpecificationCanBeExportedIntoReqIF() { var builder = new ReqIFBuilder(); var reqif = builder.BuildReqIF(this.session.Object, this.iteration); Assert.IsNotNull(reqif); // 2 + 1 extra datatype for requriement text Assert.AreEqual(3, reqif.CoreContent.Single().DataTypes.Count); // booleanPt and boolean and Text datatype Assert.AreEqual(7, reqif.CoreContent.Single().SpecObjects.Count); // 4 requirements + 2 groups Assert.AreEqual(3, reqif.CoreContent.Single().Specifications.Count); // 2 specification Assert.AreEqual(9, reqif.CoreContent.Single().SpecTypes.Count); // 1 group type, 1 Req type, 1 Spec type, 1 Relation type, 1 relationGroup type Assert.AreEqual(3, reqif.CoreContent.Single().SpecRelations.Count); // 3 specRelation from 3 relationship Assert.AreEqual(1, reqif.CoreContent.Single().SpecRelationGroups.Count); // 1 RelationGroup from 1 binaryRelationship Assert.IsNotEmpty(reqif.CoreContent.Single().SpecRelationGroups.Single().SpecRelations); var serializer = new ReqIFSerializer(false); serializer.Serialize(reqif, @"output.xml", (o, e) => { throw new Exception(); }); }
public void VerifyThatWhenIterationIsNulArgumentNullExceptionIsThrown() { var builder = new ReqIFBuilder(); Assert.Throws <ArgumentNullException>(() => builder.BuildReqIF(this.session.Object, null)); }
public void VerifyThatWhenSessionIsNulArgumentNullExceptionIsThrown() { var builder = new ReqIFBuilder(); Assert.Throws <ArgumentNullException>(() => builder.BuildReqIF(null, this.iteration)); }