Index: Core/Common/src/Core.Common.Base/Service/FileImportActivity.cs =================================================================== diff -u -r42caf089349c503f7f5ac23aabb0dc048cb131bf -r441bb5d121bef7fcc0abed7ae6021e2f062e7973 --- Core/Common/src/Core.Common.Base/Service/FileImportActivity.cs (.../FileImportActivity.cs) (revision 42caf089349c503f7f5ac23aabb0dc048cb131bf) +++ Core/Common/src/Core.Common.Base/Service/FileImportActivity.cs (.../FileImportActivity.cs) (revision 441bb5d121bef7fcc0abed7ae6021e2f062e7973) @@ -81,11 +81,6 @@ private void ImportFromFile(string fileName) { - if (shouldCancel) - { - return; - } - fileImporter.ProgressChanged = (currentStepName, currentStep, totalSteps) => { ProgressText = string.Format(Resources.FileImportActivity_ImportFromFile_Step_CurrentProgress_0_of_TotalProgress_1_____ProgressText_2, currentStep, totalSteps, currentStepName); }; fileImporter.Import(target, fileName); Index: Core/Common/test/Core.Common.Base.Test/Service/FileImportActivityTest.cs =================================================================== diff -u -rf71387a0c8af15b877238f711d8e9acffa1b625f -r441bb5d121bef7fcc0abed7ae6021e2f062e7973 --- Core/Common/test/Core.Common.Base.Test/Service/FileImportActivityTest.cs (.../FileImportActivityTest.cs) (revision f71387a0c8af15b877238f711d8e9acffa1b625f) +++ Core/Common/test/Core.Common.Base.Test/Service/FileImportActivityTest.cs (.../FileImportActivityTest.cs) (revision 441bb5d121bef7fcc0abed7ae6021e2f062e7973) @@ -1,4 +1,5 @@ using System; +using System.Drawing; using Core.Common.Base.IO; using Core.Common.Base.Service; using NUnit.Framework; @@ -66,7 +67,7 @@ } [Test] - public void Name_FileImportActivity_NameShouldBeSameAsImporterName() + public void Name_FileImportActivityWithFileImporter_NameShouldBeSameAsImporterName() { // Setup var mocks = new MockRepository(); @@ -87,7 +88,7 @@ } [Test] - public void Run_FileImportActivityForTwoFiles_AllProvidedFilesShouldBeImported() + public void Run_FileImportActivityWithFileImporterForTwoFiles_AllProvidedFilesShouldBeImported() { // Setup var mocks = new MockRepository(); @@ -114,7 +115,7 @@ } [Test] - public void Cancel_FileImportActivity_CancelsImporter() + public void Cancel_FileImportActivityWithFileImporter_CancelsImporter() { // Setup var mocks = new MockRepository(); @@ -140,7 +141,7 @@ } [Test] - public void Run_CancelledFileImportActivityForTwoFiles_NoImportsShouldBePerformed() + public void Run_CancelledFileImportActivityWithFileImporterForTwoFiles_NoImportsShouldBePerformed() { // Setup var mocks = new MockRepository(); @@ -168,7 +169,7 @@ } [Test] - public void Run_CancelledAndRanFileImportActivityForTwoFiles_AllProvidedFilesShouldBeImported() + public void Run_CancelledAndRanFileImportActivityWithFileImporterForTwoFiles_AllProvidedFilesShouldBeImported() { // Setup var mocks = new MockRepository(); @@ -197,5 +198,112 @@ // Assert mocks.VerifyAll(); } + + [Test] + public void Run_FileImportActivityWithSimpleFileImporterForOneFile_ProgressTextShouldBeSetAfterImporterProgressChanged() + { + // Setup + var target = new object(); + var fileImporter = new SimpleFileImporter(); + + var fileImportActivity = new FileImportActivity(fileImporter, target, new[] + { + "file" + }); + + // Call + fileImportActivity.Run(); // Reuse the activity + + // Assert + Assert.AreEqual("Stap 1 van 10 | Step description", fileImportActivity.ProgressText); + } + + [Test] + public void Finish_FileImportActivityWithFileImporter_NoLogicPerformed() + { + // Setup + var mocks = new MockRepository(); + var fileImporter = mocks.Stub(); + var target = new object(); + + mocks.ReplayAll(); + + var fileImportActivity = new FileImportActivity(fileImporter, target, new[] + { + "file1", + "file2" + }); + + // Call + fileImportActivity.Finish(); + + // Assert + mocks.VerifyAll(); + } + + private class SimpleFileImporter : IFileImporter + { + public string Name + { + get + { + return ""; + } + } + + public string Category + { + get + { + return ""; + } + } + + public Bitmap Image + { + get + { + return null; + } + } + + public Type SupportedItemType + { + get + { + return null; + } + } + + public string FileFilter + { + get + { + return ""; + } + } + + public ProgressChangedDelegate ProgressChanged { private get; set; } + + public bool Import(object targetItem, string filePath) + { + if (ProgressChanged != null) + { + ProgressChanged("Step description", 1, 10); + } + + return true; + } + + public bool CanImportFor(object targetItem) + { + return true; + } + + public void Cancel() + { + + } + } } }