public void Run_CalculationInvalidInput_LogValidationStartAndEndWithError()
        {
            // Setup
            var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike)
            {
                HydraulicBoundaryDatabase =
                {
                    FilePath = Path.Combine(testDataPath, "notexisting.sqlite")
                }
            };

            var failureMechanism = new PipingFailureMechanism();
            var calculation      = new TestProbabilisticPipingCalculation();

            CalculatableActivity activity = PipingCalculationActivityFactory.CreateProbabilisticPipingCalculationActivity(
                calculation, failureMechanism, assessmentSection);

            // Call
            void Call() => activity.Run();

            // Assert
            TestHelper.AssertLogMessages(Call, messages =>
            {
                string[] msgs = messages.ToArray();
                Assert.AreEqual(4, msgs.Length);
                Assert.AreEqual($"Uitvoeren van berekening '{calculation.Name}' is gestart.", msgs[0]);
                CalculationServiceTestHelper.AssertValidationStartMessage(msgs[1]);
                StringAssert.StartsWith("Herstellen van de verbinding met de hydraulische belastingendatabase is mislukt. " +
                                        "Fout bij het lezen van bestand", msgs[2]);
                CalculationServiceTestHelper.AssertValidationEndMessage(msgs[3]);
            });
            Assert.AreEqual(ActivityState.Failed, activity.State);
        }
Example #2
0
        public void Constructor_ExpectedValues()
        {
            // Call
            var calculation = new TestProbabilisticPipingCalculation();

            // Assert
            Assert.IsInstanceOf <PipingCalculation <ProbabilisticPipingInput> >(calculation);
            Assert.IsInstanceOf <ProbabilisticPipingInput>(calculation.InputParameters);

            Assert.IsNull(calculation.Output);
        }
Example #3
0
        public void ClearIllustrationPoints_CalculationWithoutOutput_DoesNotThrow()
        {
            // Setup
            var calculation = new TestProbabilisticPipingCalculation();

            // Call
            void Call() => calculation.ClearIllustrationPoints();

            // Assert
            Assert.DoesNotThrow(Call);
        }
Example #4
0
        public void HasOutput_OutputSet_ReturnsTrue()
        {
            // Setup
            var calculation = new TestProbabilisticPipingCalculation
            {
                Output = PipingTestDataGenerator.GetRandomProbabilisticPipingOutputWithIllustrationPoints()
            };

            // Call
            bool hasOutput = calculation.HasOutput;

            // Assert
            Assert.IsTrue(hasOutput);
        }
Example #5
0
        public void HasOutput_OutputNull_ReturnsFalse()
        {
            // Setup
            var calculation = new TestProbabilisticPipingCalculation
            {
                Output = null
            };

            // Call
            bool hasOutput = calculation.HasOutput;

            // Assert
            Assert.IsFalse(hasOutput);
        }
Example #6
0
        public void ClearOutput_Always_SetsOutputToNull()
        {
            // Setup
            var calculation = new TestProbabilisticPipingCalculation
            {
                Output = PipingTestDataGenerator.GetRandomProbabilisticPipingOutputWithIllustrationPoints()
            };

            // Call
            calculation.ClearOutput();

            // Assert
            Assert.IsNull(calculation.Output);
        }
Example #7
0
        private static ProbabilisticPipingCalculation CreateRandomCalculationWithoutOutput()
        {
            var calculation = new TestProbabilisticPipingCalculation
            {
                Name     = "Random name",
                Comments =
                {
                    Body = "Random body"
                }
            };

            PipingTestDataGenerator.SetRandomDataToPipingInput(calculation.InputParameters);

            return(calculation);
        }
Example #8
0
        public void ClearIllustrationPoints_CalculationWithOutput_ClearsIllustrationPointResult()
        {
            // Setup
            PartialProbabilisticPipingOutput <TestTopLevelIllustrationPoint> sectionSpecificOutput = PipingTestDataGenerator.GetRandomPartialProbabilisticPipingOutput();
            PartialProbabilisticPipingOutput <TestTopLevelIllustrationPoint> profileSpecificOutput = PipingTestDataGenerator.GetRandomPartialProbabilisticPipingOutput();
            var output      = new ProbabilisticPipingOutput(sectionSpecificOutput, profileSpecificOutput);
            var calculation = new TestProbabilisticPipingCalculation
            {
                Output = output
            };

            // Call
            calculation.ClearIllustrationPoints();

            // Assert
            Assert.AreSame(output, calculation.Output);
            Assert.IsNull(((PartialProbabilisticPipingOutput <TestTopLevelIllustrationPoint>)output.SectionSpecificOutput).GeneralResult);
            Assert.IsNull(((PartialProbabilisticPipingOutput <TestTopLevelIllustrationPoint>)output.ProfileSpecificOutput).GeneralResult);
        }
Example #9
0
        public void Constructor_ExpectedValues()
        {
            // Setup
            var mocks             = new MockRepository();
            var assessmentSection = mocks.Stub <IAssessmentSection>();

            mocks.ReplayAll();

            var calculation = new TestProbabilisticPipingCalculation();

            // Call
            var activity = new ProbabilisticPipingCalculationActivity(calculation, new PipingFailureMechanism(), assessmentSection);

            // Assert
            Assert.IsInstanceOf <CalculatableActivity>(activity);
            Assert.AreEqual($"Uitvoeren van berekening '{calculation.Name}'", activity.Description);
            Assert.IsNull(activity.ProgressText);
            Assert.AreEqual(ActivityState.None, activity.State);
            mocks.VerifyAll();
        }