public void CreateReplaceStrategyConfiguration_ValidArgument_ReturnsReplaceStrategyAndTransformerForPiping() { // Call StochasticSoilModelImporterConfiguration <PipingStochasticSoilModel> result = PipingStochasticSoilModelImporterConfigurationFactory.CreateReplaceStrategyConfiguration(new PipingFailureMechanism()); // Assert Assert.IsNotNull(result); Assert.IsInstanceOf <PipingStochasticSoilModelTransformer>(result.Transformer); Assert.IsInstanceOf <PipingStochasticSoilModelFilter>(result.MechanismFilter); Assert.IsInstanceOf <PipingStochasticSoilModelReplaceDataStrategy>(result.UpdateStrategy); }
public void Import_NonExistingFile_LogErrorReturnFalse() { // Setup var messageProvider = mocks.Stub <IImporterMessageProvider>(); var filter = mocks.Stub <IStochasticSoilModelMechanismFilter>(); var updateStrategy = mocks.Stub <IStochasticSoilModelUpdateModelStrategy <IMechanismStochasticSoilModel> >(); mocks.ReplayAll(); const string file = "nonexisting.soil"; var collection = new TestStochasticSoilModelCollection(); string validFilePath = Path.Combine(testDataPath, file); var configuration = new StochasticSoilModelImporterConfiguration <IMechanismStochasticSoilModel>(transformer, filter, updateStrategy); var importer = new StochasticSoilModelImporter <IMechanismStochasticSoilModel>( collection, validFilePath, messageProvider, configuration); var progress = 0; importer.SetProgressChanged((description, step, steps) => { progress++; }); var importResult = true; // Call Action call = () => importResult = importer.Import(); // Assert TestHelper.AssertLogMessagesWithLevelAndLoggedExceptions(call, messages => { Assert.AreEqual(1, messages.Count()); Tuple <string, Level, Exception> expectedLog = messages.ElementAt(0); Assert.AreEqual(Level.Error, expectedLog.Item2); Exception loggedException = expectedLog.Item3; Assert.IsInstanceOf <CriticalFileReadException>(loggedException); Assert.AreEqual(loggedException.Message, expectedLog.Item1); }); Assert.AreEqual(1, progress); Assert.IsFalse(importResult); }
public void Constructor_ValidParameters_ValuesAsExpected() { // Setup var mocks = new MockRepository(); var transformer = mocks.Stub <IStochasticSoilModelTransformer <IMechanismStochasticSoilModel> >(); var filter = mocks.Stub <IStochasticSoilModelMechanismFilter>(); var strategy = mocks.Stub <IStochasticSoilModelUpdateModelStrategy <IMechanismStochasticSoilModel> >(); mocks.ReplayAll(); // Call var configuration = new StochasticSoilModelImporterConfiguration <IMechanismStochasticSoilModel>(transformer, filter, strategy); // Assert Assert.AreSame(transformer, configuration.Transformer); Assert.AreSame(filter, configuration.MechanismFilter); Assert.AreSame(strategy, configuration.UpdateStrategy); mocks.VerifyAll(); }
public void Constructor_ValidArguments_ExpectedValues() { // Setup var messageProvider = mocks.Stub <IImporterMessageProvider>(); var filter = mocks.Stub <IStochasticSoilModelMechanismFilter>(); var updateStrategy = mocks.Stub <IStochasticSoilModelUpdateModelStrategy <IMechanismStochasticSoilModel> >(); mocks.ReplayAll(); var collection = new TestStochasticSoilModelCollection(); string filePath = string.Empty; var configuration = new StochasticSoilModelImporterConfiguration <IMechanismStochasticSoilModel>(transformer, filter, updateStrategy); // Call var importer = new StochasticSoilModelImporter <IMechanismStochasticSoilModel>( collection, filePath, messageProvider, configuration); // Assert Assert.IsInstanceOf <FileImporterBase <ObservableUniqueItemCollectionWithSourcePath <IMechanismStochasticSoilModel> > >(importer); }
public void Constructor_MessageProviderNull_ThrowsArgumentNullException() { // Setup var filter = mocks.Stub <IStochasticSoilModelMechanismFilter>(); var updateStrategy = mocks.Stub <IStochasticSoilModelUpdateModelStrategy <IMechanismStochasticSoilModel> >(); mocks.ReplayAll(); var collection = new TestStochasticSoilModelCollection(); string filePath = string.Empty; var configuration = new StochasticSoilModelImporterConfiguration <IMechanismStochasticSoilModel>(transformer, filter, updateStrategy); // Call TestDelegate call = () => new StochasticSoilModelImporter <IMechanismStochasticSoilModel>( collection, filePath, null, configuration); // Assert string parameter = Assert.Throws <ArgumentNullException>(call).ParamName; Assert.AreEqual("messageProvider", parameter); }
public void CreateUpdateStrategyConfiguration_ValidArgument_ReturnsUpdateStrategyAndTransformerForMacroStabilityInwards() { // Call StochasticSoilModelImporterConfiguration <MacroStabilityInwardsStochasticSoilModel> result = MacroStabilityInwardsStochasticSoilModelImporterConfigurationFactory.CreateUpdateStrategyConfiguration(new MacroStabilityInwardsFailureMechanism()); // Assert Assert.IsNotNull(result); Assert.IsInstanceOf <MacroStabilityInwardsStochasticSoilModelTransformer>(result.Transformer); Assert.IsInstanceOf <MacroStabilityInwardsStochasticSoilModelFilter>(result.MechanismFilter); Assert.IsInstanceOf <MacroStabilityInwardsStochasticSoilModelUpdateDataStrategy>(result.UpdateStrategy); }