public void GetAssessmentSection_AssessmentSectionFromActivityNull_ThrowsAssessmentSectionProviderException()
        {
            // Setup
            var mocks          = new MockRepository();
            var projectStorage = mocks.Stub <IStoreProject>();

            mocks.ReplayAll();

            using (var viewParent = new TestViewParentForm())
            {
                var provider = new AssessmentSectionProvider(viewParent, projectStorage);

                DialogBoxHandler = (name, wnd) =>
                {
                    // Expect an activity dialog which is automatically closed
                };

                // Call
                void Call() => provider.GetAssessmentSection("filePath");

                // Assert
                Assert.Throws <AssessmentSectionProviderException>(Call);
            }

            mocks.VerifyAll();
        }
        public void Constructor_ExpectedValues()
        {
            // Setup
            var mocks          = new MockRepository();
            var viewParent     = mocks.Stub <IViewParent>();
            var projectStorage = mocks.Stub <IStoreProject>();

            mocks.ReplayAll();

            // Call
            var provider = new AssessmentSectionProvider(viewParent, projectStorage);

            // Assert
            Assert.IsInstanceOf <IAssessmentSectionProvider>(provider);
            mocks.VerifyAll();
        }
        public void GetAssessmentSection_FilePathNull_ThrowsArgumentNullException()
        {
            // Setup
            var mocks          = new MockRepository();
            var viewParent     = mocks.Stub <IViewParent>();
            var projectStorage = mocks.Stub <IStoreProject>();

            mocks.ReplayAll();

            var provider = new AssessmentSectionProvider(viewParent, projectStorage);

            // Call
            void Call() => provider.GetAssessmentSection(null);

            // Assert
            var exception = Assert.Throws <ArgumentNullException>(Call);

            Assert.AreEqual("filePath", exception.ParamName);
            mocks.VerifyAll();
        }
        public void GetAssessmentSection_ValidFilePath_ReturnsAssessmentSection()
        {
            // Setup
            using (var viewParent = new TestViewParentForm())
            {
                var    provider = new AssessmentSectionProvider(viewParent, new StorageSqLite());
                string filePath = Path.Combine(testDataPath, "project.risk");

                DialogBoxHandler = (name, wnd) =>
                {
                    // Expect an activity dialog which is automatically closed
                };

                // Call
                AssessmentSection assessmentSection = provider.GetAssessmentSection(filePath);

                // Assert
                Assert.IsNotNull(assessmentSection);
            }
        }