コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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();
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        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);
        }