public void CreateLoadAssessmentSectionActivity_WithArguments_ReturnsActivityWithParametersSet()
        {
            // Setup
            const string filePath = "File\\Path";

            var owner = new AssessmentSectionOwner();
            var expectedAssessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike);

            var mocks   = new MockRepository();
            var service = mocks.StrictMock <ILoadAssessmentSectionService>();

            service.Expect(pr => pr.LoadAssessmentSection(filePath)).Return(expectedAssessmentSection);
            mocks.ReplayAll();

            // Call
            Activity activity = LoadAssessmentSectionActivityFactory.CreateLoadAssessmentSectionActivity(owner, service, filePath);

            // Assert
            Assert.IsInstanceOf <LoadAssessmentSectionActivity>(activity);

            activity.Run();
            Assert.AreSame(expectedAssessmentSection, owner.AssessmentSection);

            mocks.VerifyAll();
        }
        public void GivenCancelledActivity_WhenFinishingActivity_ThenActivityStateSetToCancelledAndDoesNotSetAssessmentSections()
        {
            // Given
            var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike);

            var mocks   = new MockRepository();
            var service = mocks.StrictMock <ILoadAssessmentSectionService>();

            service.Expect(p => p.LoadAssessmentSection(null))
            .IgnoreArguments()
            .Return(assessmentSection);
            mocks.ReplayAll();

            var owner    = new AssessmentSectionOwner();
            var activity = new LoadAssessmentSectionActivity(owner, service, string.Empty);

            activity.Run();
            activity.Cancel();

            // When
            activity.Finish();

            // Assert
            Assert.AreEqual(ActivityState.Canceled, activity.State);
            Assert.IsNull(owner.AssessmentSection);
            mocks.VerifyAll();
        }
Example #3
0
        /// <summary>
        /// Creates a new instance of <see cref="LoadAssessmentSectionActivity"/>.
        /// </summary>
        /// <param name="assessmentSectionOwner">The owner to set the <see cref="AssessmentSection"/> on.</param>
        /// <param name="loadAssessmentSectionService">The service defining how to
        /// retrieve the <see cref="AssessmentSection"/> from a file.</param>
        /// <param name="filePath">The file path to retrieve the <see cref="AssessmentSection"/> from.</param>
        /// <exception cref="ArgumentNullException">Thrown when any of the arguments is <c>null</c>.</exception>
        public LoadAssessmentSectionActivity(AssessmentSectionOwner assessmentSectionOwner,
                                             ILoadAssessmentSectionService loadAssessmentSectionService,
                                             string filePath)
        {
            if (assessmentSectionOwner == null)
            {
                throw new ArgumentNullException(nameof(assessmentSectionOwner));
            }

            if (loadAssessmentSectionService == null)
            {
                throw new ArgumentNullException(nameof(loadAssessmentSectionService));
            }

            if (filePath == null)
            {
                throw new ArgumentNullException(nameof(filePath));
            }

            this.assessmentSectionOwner       = assessmentSectionOwner;
            this.loadAssessmentSectionService = loadAssessmentSectionService;
            this.filePath = filePath;

            Description = Resources.LoadAssessmentSectionActivity_Description;
        }
Example #4
0
        public void Constructor_ExpectedValues()
        {
            // Call
            var owner = new AssessmentSectionOwner();

            // Assert
            Assert.IsNull(owner.AssessmentSection);
        }
        public void Constructor_ExpectedValues()
        {
            // Setup
            var mocks   = new MockRepository();
            var service = mocks.StrictMock <ILoadAssessmentSectionService>();

            mocks.ReplayAll();

            var owner = new AssessmentSectionOwner();

            // Call
            var activity = new LoadAssessmentSectionActivity(owner, service, string.Empty);

            // Assert
            Assert.IsInstanceOf <Activity>(activity);
            Assert.AreEqual("Inlezen van project", activity.Description);
            Assert.AreEqual(ActivityState.None, activity.State);
            mocks.VerifyAll();
        }
        public void Run_Always_SendsFilePathToGetAssessmentSections()
        {
            // Setup
            const string filePath = "File\\Path";

            var mocks   = new MockRepository();
            var service = mocks.StrictMock <ILoadAssessmentSectionService>();

            service.Expect(p => p.LoadAssessmentSection(filePath)).Return(new AssessmentSection(AssessmentSectionComposition.Dike));
            mocks.ReplayAll();

            var owner    = new AssessmentSectionOwner();
            var activity = new LoadAssessmentSectionActivity(owner, service, filePath);

            // Call
            activity.Run();

            // Assert
            mocks.VerifyAll();
        }
        /// <summary>
        /// Creates an activity to load an <see cref="AssessmentSection"/> from a file.
        /// </summary>
        /// <param name="owner">The owner to set the <see cref="AssessmentSection"/> on.</param>
        /// <param name="loadAssessmentSectionService">The service for retrieving the
        /// <see cref="AssessmentSection"/> from a file.</param>
        /// <param name="filePath">The file path to retrieve the <see cref="AssessmentSection"/> from.</param>
        /// <returns>The <see cref="Activity"/> to load <see cref="AssessmentSection"/> from a file.</returns>
        /// <exception cref="ArgumentNullException">Thrown when any of the arguments is <c>null</c>.</exception>
        public static Activity CreateLoadAssessmentSectionActivity(AssessmentSectionOwner owner,
                                                                   ILoadAssessmentSectionService loadAssessmentSectionService,
                                                                   string filePath)
        {
            if (owner == null)
            {
                throw new ArgumentNullException(nameof(owner));
            }

            if (loadAssessmentSectionService == null)
            {
                throw new ArgumentNullException(nameof(loadAssessmentSectionService));
            }

            if (filePath == null)
            {
                throw new ArgumentNullException(nameof(filePath));
            }

            return(new LoadAssessmentSectionActivity(owner, loadAssessmentSectionService, filePath));
        }
Example #8
0
        public AssessmentSection GetAssessmentSection(string filePath)
        {
            if (filePath == null)
            {
                throw new ArgumentNullException(nameof(filePath));
            }

            var assessmentSectionOwner = new AssessmentSectionOwner();

            ActivityProgressDialogRunner.Run(viewParent,
                                             LoadAssessmentSectionActivityFactory.CreateLoadAssessmentSectionActivity(
                                                 assessmentSectionOwner, new LoadAssessmentSectionService(projectStorage),
                                                 filePath));

            if (assessmentSectionOwner.AssessmentSection == null)
            {
                throw new AssessmentSectionProviderException();
            }

            return(assessmentSectionOwner.AssessmentSection);
        }
        public void Run_ServiceThrowsException_SetsActivityStateToFailedAndDoesNotSetAssessmentSections()
        {
            // Setup
            var mocks   = new MockRepository();
            var service = mocks.StrictMock <ILoadAssessmentSectionService>();

            service.Expect(p => p.LoadAssessmentSection(null))
            .IgnoreArguments()
            .Throw(new LoadAssessmentSectionException());
            mocks.ReplayAll();

            var owner    = new AssessmentSectionOwner();
            var activity = new LoadAssessmentSectionActivity(owner, service, string.Empty);

            // Call
            activity.Run();

            // Assert
            Assert.AreEqual(ActivityState.Failed, activity.State);
            Assert.IsNull(owner.AssessmentSection);
            mocks.VerifyAll();
        }
        public void Run_ServiceReturnsAssessmentSections_SetsActivityStateToExecutedAndSetsAssessmentSections()
        {
            // Setup
            var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike);

            var mocks   = new MockRepository();
            var service = mocks.StrictMock <ILoadAssessmentSectionService>();

            service.Expect(p => p.LoadAssessmentSection(null))
            .IgnoreArguments()
            .Return(assessmentSection);
            mocks.ReplayAll();

            var owner    = new AssessmentSectionOwner();
            var activity = new LoadAssessmentSectionActivity(owner, service, string.Empty);

            // Call
            activity.Run();

            // Assert
            Assert.AreEqual(ActivityState.Executed, activity.State);
            Assert.AreSame(assessmentSection, owner.AssessmentSection);
            mocks.VerifyAll();
        }