Example #1
0
        public void NotifyProgress_DelegateSet_CallProgressChanged()
        {
            // Setup
            const string expectedDescription   = "B";
            const int    expectedStep          = 1;
            const int    expectedNumberOfSteps = 3;

            var importTarget             = new object();
            var simpleImporter           = new SimpleFileImporter <object>(importTarget);
            var progressChangedCallCount = 0;

            simpleImporter.SetProgressChanged((description, step, steps) =>
            {
                Assert.AreEqual(expectedDescription, description);
                Assert.AreEqual(expectedStep, step);
                Assert.AreEqual(expectedNumberOfSteps, steps);
                progressChangedCallCount++;
            });

            // Call
            simpleImporter.TestNotifyProgress(expectedDescription, expectedStep, expectedNumberOfSteps);

            // Assert
            Assert.AreEqual(1, progressChangedCallCount);
        }
Example #2
0
        public void Constructor_ExpectedValues()
        {
            // Setup
            const string filePath     = "C://temp";
            var          importTarget = new object();

            // Call
            var simpleImporter = new SimpleFileImporter <object>(filePath, importTarget);

            // Assert
            Assert.IsInstanceOf <IFileImporter>(simpleImporter);
            Assert.AreEqual(filePath, simpleImporter.GetFilePath());
        }
Example #3
0
        public void Run_FileImportActivityWithSimpleFileImporter_ProgressTextShouldBeSetAfterImporterProgressChanged()
        {
            // Setup
            var fileImporter = new SimpleFileImporter <object>(new object());

            var fileImportActivity = new FileImportActivity(fileImporter, "");

            // Call
            fileImportActivity.Run(); // Reuse the activity

            // Assert
            Assert.AreEqual("Stap 1 van 10  |  Step description", fileImportActivity.ProgressText);
        }
Example #4
0
        public void NotifyProgress_NoDelegateSet_DoNothing()
        {
            // Setup
            var importTarget   = new object();
            var simpleImporter = new SimpleFileImporter <object>(importTarget);

            simpleImporter.SetProgressChanged(null);

            // Call
            TestDelegate call = () => simpleImporter.TestNotifyProgress("A", 1, 2);

            // Assert
            Assert.DoesNotThrow(call);
        }
Example #5
0
        public void DoPostImportUpdates_TargetIsObservable_NotifyObservers()
        {
            // Setup
            var mocks = new MockRepository();
            var observableInstance = mocks.Stub <IObservable>();

            observableInstance.Expect(o => o.NotifyObservers());
            mocks.ReplayAll();

            var simpleImporter = new SimpleFileImporter <IObservable>(observableInstance);

            // Call
            simpleImporter.DoPostImport();

            // Assert
            mocks.VerifyAll(); // Assert NotifyObservers is called
        }
Example #6
0
        public void Import_ImportSuccessful_LogsImportSuccessfulMessage()
        {
            // Setup
            var importTarget   = new object();
            var simpleImporter = new SimpleFileImporter <object>(importTarget)
            {
                ImportSuccessful = true
            };

            // Call
            Action call = () => simpleImporter.Import();

            // Asset
            TestHelper.AssertLogMessageWithLevelIsGenerated(call, new Tuple <string, LogLevelConstant>(
                                                                $"Gegevens zijn geïmporteerd vanuit bestand '{string.Empty}'.",
                                                                LogLevelConstant.Info));
        }
Example #7
0
        public void Import_CancelGivesUnsuccessfulImport_CallsLogImportCanceledMessage()
        {
            //  Setup
            var importTarget   = new object();
            var simpleImporter = new SimpleFileImporter <object>(importTarget)
            {
                ImportSuccessful = false
            };

            simpleImporter.SetProgressChanged((description, step, steps) => simpleImporter.Cancel());

            // Call
            simpleImporter.Import();

            // Assert
            Assert.IsTrue(simpleImporter.LogCanceledMessageCalled);
        }
Example #8
0
        public void DoPostImportUpdates_ImportCanceled_NoNotifyObserversCalled()
        {
            // Setup
            var mocks            = new MockRepository();
            var observableTarget = mocks.StrictMock <IObservable>();

            mocks.ReplayAll();

            var simpleImporter = new SimpleFileImporter <IObservable>(observableTarget);

            simpleImporter.Cancel();

            // Call
            simpleImporter.DoPostImport();

            // Assert
            mocks.VerifyAll(); // Assert no NotifyObservers were called
        }
Example #9
0
        public void Import_CancelGivesSuccessfulImport_LogsMessage()
        {
            //  Setup
            var importTarget   = new object();
            var simpleImporter = new SimpleFileImporter <object>(importTarget)
            {
                ImportSuccessful = true
            };

            simpleImporter.SetProgressChanged((description, step, steps) => simpleImporter.Cancel());

            // Call
            Action call = () => simpleImporter.Import();

            // Assert
            TestHelper.AssertLogMessageWithLevelIsGenerated(call, new Tuple <string, LogLevelConstant>(
                                                                "Huidige actie was niet meer te annuleren en is daarom voortgezet.",
                                                                LogLevelConstant.Warn));
        }
Example #10
0
        public void Cancel_WhenImportingAndCancelable_ImportActivityStateCanceled()
        {
            // Setup
            var fileImporter       = new SimpleFileImporter <object>(new object());
            var fileImportActivity = new FileImportActivity(fileImporter, "");

            fileImportActivity.ProgressChanged += (sender, args) =>
            {
                if (fileImportActivity.State != ActivityState.Canceled)
                {
                    // Call
                    fileImportActivity.Cancel();
                }
            };

            // Assert
            fileImportActivity.Run();
            Assert.AreEqual(ActivityState.Canceled, fileImportActivity.State);
        }
Example #11
0
        public void Finish_FileImportActivityWithFileImporterObservableTargetAndNoneState_ObserversOfTargetAreNotNotified()
        {
            // Setup
            var mocks    = new MockRepository();
            var observer = mocks.StrictMock <IObserver>();

            mocks.ReplayAll();

            var target = new ObservableList <object>();

            target.Attach(observer);

            var fileImporter       = new SimpleFileImporter <ObservableList <object> >(target);
            var fileImportActivity = new TestFileImportActivity(fileImporter, "", ActivityState.None);

            // Call
            fileImportActivity.Finish();

            // Assert
            mocks.VerifyAll();
        }