Exemplo n.º 1
0
        public void GivenMatchedAssessmentSection_WhenMergeDataProviderReturnsNull_ThenLogCancelMessageAndAbort()
        {
            // Given
            var mocks            = new MockRepository();
            var filePathProvider = mocks.StrictMock <IAssessmentSectionMergeFilePathProvider>();

            filePathProvider.Expect(helper => helper.GetFilePath()).Return(string.Empty);
            var assessmentSectionProvider = mocks.StrictMock <IAssessmentSectionProvider>();

            assessmentSectionProvider.Expect(asp => asp.GetAssessmentSection(null)).IgnoreArguments()
            .Return(new AssessmentSection(AssessmentSectionComposition.Dike));
            var comparer = mocks.StrictMock <IAssessmentSectionMergeComparer>();

            comparer.Expect(c => c.Compare(null, null)).IgnoreArguments().Return(true);
            var mergeDataProvider = mocks.StrictMock <IAssessmentSectionMergeDataProvider>();

            mergeDataProvider.Expect(mdp => mdp.GetMergeData(null)).IgnoreArguments().Return(null);
            var mergeHandler = mocks.StrictMock <IAssessmentSectionMergeHandler>();

            mocks.ReplayAll();

            var merger = new AssessmentSectionMerger(filePathProvider, assessmentSectionProvider, comparer, mergeDataProvider, mergeHandler);

            // When
            void Call() => merger.StartMerge(new AssessmentSection(AssessmentSectionComposition.Dike));

            // Then
            TestHelper.AssertLogMessageWithLevelIsGenerated(Call, new Tuple <string, LogLevelConstant>("Importeren van gegevens is geannuleerd.", LogLevelConstant.Warn), 1);
            mocks.VerifyAll();
        }
Exemplo n.º 2
0
        public void GivenAssessmentSection_WhenComparerReturnsFalse_ThenLogErrorAndAbort()
        {
            // Given
            var mocks            = new MockRepository();
            var filePathProvider = mocks.StrictMock <IAssessmentSectionMergeFilePathProvider>();

            filePathProvider.Expect(helper => helper.GetFilePath()).Return(string.Empty);
            var assessmentSectionProvider = mocks.StrictMock <IAssessmentSectionProvider>();

            assessmentSectionProvider.Expect(asp => asp.GetAssessmentSection(null)).IgnoreArguments()
            .Return(new AssessmentSection(AssessmentSectionComposition.Dike));
            var comparer = mocks.StrictMock <IAssessmentSectionMergeComparer>();

            comparer.Expect(c => c.Compare(null, null)).IgnoreArguments().Return(false);
            var mergeDataProvider = mocks.StrictMock <IAssessmentSectionMergeDataProvider>();
            var mergeHandler      = mocks.StrictMock <IAssessmentSectionMergeHandler>();

            mocks.ReplayAll();

            var merger = new AssessmentSectionMerger(filePathProvider, assessmentSectionProvider, comparer, mergeDataProvider, mergeHandler);

            // When
            void Call() => merger.StartMerge(new AssessmentSection(AssessmentSectionComposition.Dike));

            // Then
            TestHelper.AssertLogMessageWithLevelIsGenerated(Call, new Tuple <string, LogLevelConstant>("Er is geen traject gevonden dat samengevoegd kan worden.", LogLevelConstant.Error), 1);
            mocks.VerifyAll();
        }
Exemplo n.º 3
0
        public void GivenValidFilePath_WhenAssessmentSectionProviderThrowsAssessmentSectionProviderException_ThenAbort()
        {
            // Given
            var mocks            = new MockRepository();
            var filePathProvider = mocks.StrictMock <IAssessmentSectionMergeFilePathProvider>();

            filePathProvider.Expect(helper => helper.GetFilePath()).Return(string.Empty);
            var assessmentSectionProvider = mocks.StrictMock <IAssessmentSectionProvider>();

            assessmentSectionProvider.Expect(asp => asp.GetAssessmentSection(null)).IgnoreArguments()
            .Throw(new AssessmentSectionProviderException());
            var comparer          = mocks.StrictMock <IAssessmentSectionMergeComparer>();
            var mergeDataProvider = mocks.StrictMock <IAssessmentSectionMergeDataProvider>();
            var mergeHandler      = mocks.StrictMock <IAssessmentSectionMergeHandler>();

            mocks.ReplayAll();

            var merger = new AssessmentSectionMerger(filePathProvider, assessmentSectionProvider, comparer, mergeDataProvider, mergeHandler);

            // When
            void Call() => merger.StartMerge(new AssessmentSection(AssessmentSectionComposition.Dike));

            // Then
            TestHelper.AssertLogMessagesCount(Call, 0);
            mocks.VerifyAll();
        }
Exemplo n.º 4
0
        public void GivenMatchedAssessmentSection_WhenMergeHandlerThrowsException_ThenMergeFailedAndLogged()
        {
            // Given
            var originalAssessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike);
            var assessmentSectionToMerge  = new AssessmentSection(AssessmentSectionComposition.Dike);
            var mergeData = new AssessmentSectionMergeData(assessmentSectionToMerge, CreateDefaultConstructionProperties());

            var mocks            = new MockRepository();
            var filePathProvider = mocks.StrictMock <IAssessmentSectionMergeFilePathProvider>();

            filePathProvider.Expect(helper => helper.GetFilePath()).Return(string.Empty);
            var assessmentSectionProvider = mocks.StrictMock <IAssessmentSectionProvider>();

            assessmentSectionProvider.Expect(asp => asp.GetAssessmentSection(null)).IgnoreArguments()
            .Return(assessmentSectionToMerge);
            var comparer = mocks.StrictMock <IAssessmentSectionMergeComparer>();

            comparer.Expect(c => c.Compare(originalAssessmentSection, assessmentSectionToMerge)).Return(true);
            var mergeDataProvider = mocks.StrictMock <IAssessmentSectionMergeDataProvider>();

            mergeDataProvider.Expect(mdp => mdp.GetMergeData(null)).IgnoreArguments().Return(mergeData);
            var mergeHandler = mocks.StrictMock <IAssessmentSectionMergeHandler>();

            mergeHandler.Expect(mh => mh.PerformMerge(originalAssessmentSection, mergeData)).Throw(new Exception());
            mocks.ReplayAll();

            var merger = new AssessmentSectionMerger(filePathProvider, assessmentSectionProvider, comparer, mergeDataProvider, mergeHandler);

            // When
            void Call() => merger.StartMerge(originalAssessmentSection);

            // Then
            TestHelper.AssertLogMessagesWithLevelAndLoggedExceptions(Call, messages =>
            {
                Assert.AreEqual(3, messages.Count());

                Assert.AreEqual("Samenvoegen van trajectinformatie is gestart.", messages.ElementAt(0).Item1);

                Tuple <string, Level, Exception> expectedLog = messages.ElementAt(1);
                Assert.AreEqual("Er is een onverwachte fout opgetreden tijdens het samenvoegen van de trajecten.", expectedLog.Item1);
                Assert.AreEqual(Level.Error, expectedLog.Item2);
                Exception loggedException = expectedLog.Item3;
                Assert.IsInstanceOf <Exception>(loggedException);

                Assert.AreEqual("Samenvoegen van trajectinformatie is mislukt.", messages.ElementAt(2).Item1);
            });
            mocks.VerifyAll();
        }
Exemplo n.º 5
0
        public void GivenMatchedAssessmentSection_WhenAllDataValid_ThenMergePerformedAndLogged()
        {
            // Given
            var filePath = "Filepath";
            var originalAssessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike);
            var assessmentSectionToMerge  = new AssessmentSection(AssessmentSectionComposition.Dike);
            var mergeData = new AssessmentSectionMergeData(assessmentSectionToMerge, CreateDefaultConstructionProperties());

            var mocks            = new MockRepository();
            var filePathProvider = mocks.StrictMock <IAssessmentSectionMergeFilePathProvider>();

            filePathProvider.Expect(helper => helper.GetFilePath()).Return(filePath);
            var assessmentSectionProvider = mocks.StrictMock <IAssessmentSectionProvider>();

            assessmentSectionProvider.Expect(asp => asp.GetAssessmentSection(filePath))
            .Return(assessmentSectionToMerge);
            var comparer = mocks.StrictMock <IAssessmentSectionMergeComparer>();

            comparer.Expect(c => c.Compare(originalAssessmentSection, assessmentSectionToMerge)).Return(true);
            var mergeDataProvider = mocks.StrictMock <IAssessmentSectionMergeDataProvider>();

            mergeDataProvider.Expect(mdp => mdp.GetMergeData(null)).IgnoreArguments().Return(mergeData);
            var mergeHandler = mocks.StrictMock <IAssessmentSectionMergeHandler>();

            mergeHandler.Expect(mh => mh.PerformMerge(originalAssessmentSection, mergeData));
            mocks.ReplayAll();

            var merger = new AssessmentSectionMerger(filePathProvider, assessmentSectionProvider, comparer, mergeDataProvider, mergeHandler);

            // When
            void Call() => merger.StartMerge(originalAssessmentSection);

            // Then
            TestHelper.AssertLogMessagesWithLevelAreGenerated(Call, new[]
            {
                new Tuple <string, LogLevelConstant>("Samenvoegen van trajectinformatie is gestart.", LogLevelConstant.Info),
                new Tuple <string, LogLevelConstant>("Samenvoegen van trajectinformatie is gelukt.", LogLevelConstant.Info)
            });
            mocks.VerifyAll();
        }
Exemplo n.º 6
0
        public void StartMerge_FilePathNull_LogCancelMessageAndAbort()
        {
            // Setup
            var mocks            = new MockRepository();
            var filePathProvider = mocks.StrictMock <IAssessmentSectionMergeFilePathProvider>();

            filePathProvider.Expect(helper => helper.GetFilePath()).Return(null);
            var assessmentSectionProvider = mocks.StrictMock <IAssessmentSectionProvider>();
            var comparer          = mocks.StrictMock <IAssessmentSectionMergeComparer>();
            var mergeDataProvider = mocks.StrictMock <IAssessmentSectionMergeDataProvider>();
            var mergeHandler      = mocks.StrictMock <IAssessmentSectionMergeHandler>();

            mocks.ReplayAll();

            var merger = new AssessmentSectionMerger(filePathProvider, assessmentSectionProvider, comparer, mergeDataProvider, mergeHandler);

            // Call
            void Call() => merger.StartMerge(new AssessmentSection(AssessmentSectionComposition.Dike));

            // Assert
            TestHelper.AssertLogMessageWithLevelIsGenerated(Call, new Tuple <string, LogLevelConstant>("Importeren van gegevens is geannuleerd.", LogLevelConstant.Warn), 1);
            mocks.VerifyAll();
        }
Exemplo n.º 7
0
        public void StartMerge_AssessmentSectionNull_ThrowsArgumentNullException()
        {
            // Setup
            var mocks                     = new MockRepository();
            var filePathProvider          = mocks.StrictMock <IAssessmentSectionMergeFilePathProvider>();
            var assessmentSectionProvider = mocks.StrictMock <IAssessmentSectionProvider>();
            var comparer                  = mocks.StrictMock <IAssessmentSectionMergeComparer>();
            var mergeDataProvider         = mocks.StrictMock <IAssessmentSectionMergeDataProvider>();
            var mergeHandler              = mocks.StrictMock <IAssessmentSectionMergeHandler>();

            mocks.ReplayAll();

            var merger = new AssessmentSectionMerger(filePathProvider, assessmentSectionProvider, comparer, mergeDataProvider, mergeHandler);

            // Call
            void Call() => merger.StartMerge(null);

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

            Assert.AreEqual("assessmentSection", exception.ParamName);
            mocks.VerifyAll();
        }