Example #1
0
        /// <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;
            }
        }
Example #2
0
        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(); });
        }
Example #3
0
        public void VerifyThatWhenIterationIsNulArgumentNullExceptionIsThrown()
        {
            var builder = new ReqIFBuilder();

            Assert.Throws <ArgumentNullException>(() => builder.BuildReqIF(this.session.Object, null));
        }
Example #4
0
        public void VerifyThatWhenSessionIsNulArgumentNullExceptionIsThrown()
        {
            var builder = new ReqIFBuilder();

            Assert.Throws <ArgumentNullException>(() => builder.BuildReqIF(null, this.iteration));
        }