Index: Riskeer/Piping/src/Riskeer.Piping.Data/PipingCalculation.cs =================================================================== diff -u -r908cf6f1b1d313f7eb83ba544d26056c8f34cab1 -re7176fd7ca6a9b13f0d34aa0d792e06b7bc07bbc --- Riskeer/Piping/src/Riskeer.Piping.Data/PipingCalculation.cs (.../PipingCalculation.cs) (revision 908cf6f1b1d313f7eb83ba544d26056c8f34cab1) +++ Riskeer/Piping/src/Riskeer.Piping.Data/PipingCalculation.cs (.../PipingCalculation.cs) (revision e7176fd7ca6a9b13f0d34aa0d792e06b7bc07bbc) @@ -61,7 +61,7 @@ public string Name { get; set; } - public bool ShouldCalculate => !HasOutput; + public abstract bool ShouldCalculate { get; } public abstract bool HasOutput { get; } Index: Riskeer/Piping/src/Riskeer.Piping.Data/Probabilistic/ProbabilisticPipingCalculation.cs =================================================================== diff -u -r7907358a0cd79fba8d43e2ace981838585b215c4 -re7176fd7ca6a9b13f0d34aa0d792e06b7bc07bbc --- Riskeer/Piping/src/Riskeer.Piping.Data/Probabilistic/ProbabilisticPipingCalculation.cs (.../ProbabilisticPipingCalculation.cs) (revision 7907358a0cd79fba8d43e2ace981838585b215c4) +++ Riskeer/Piping/src/Riskeer.Piping.Data/Probabilistic/ProbabilisticPipingCalculation.cs (.../ProbabilisticPipingCalculation.cs) (revision e7176fd7ca6a9b13f0d34aa0d792e06b7bc07bbc) @@ -37,6 +37,8 @@ /// is null. public ProbabilisticPipingCalculation(GeneralPipingInput generalInputParameters) : base(new ProbabilisticPipingInput(generalInputParameters)) {} + public override bool ShouldCalculate => !HasOutput; + public override bool HasOutput => Output != null; /// Index: Riskeer/Piping/src/Riskeer.Piping.Data/SemiProbabilistic/SemiProbabilisticPipingCalculation.cs =================================================================== diff -u -r908cf6f1b1d313f7eb83ba544d26056c8f34cab1 -re7176fd7ca6a9b13f0d34aa0d792e06b7bc07bbc --- Riskeer/Piping/src/Riskeer.Piping.Data/SemiProbabilistic/SemiProbabilisticPipingCalculation.cs (.../SemiProbabilisticPipingCalculation.cs) (revision 908cf6f1b1d313f7eb83ba544d26056c8f34cab1) +++ Riskeer/Piping/src/Riskeer.Piping.Data/SemiProbabilistic/SemiProbabilisticPipingCalculation.cs (.../SemiProbabilisticPipingCalculation.cs) (revision e7176fd7ca6a9b13f0d34aa0d792e06b7bc07bbc) @@ -37,6 +37,8 @@ /// is null. public SemiProbabilisticPipingCalculation(GeneralPipingInput generalInputParameters) : base(new SemiProbabilisticPipingInput(generalInputParameters)) {} + public override bool ShouldCalculate => !HasOutput; + public override bool HasOutput => Output != null; /// Index: Riskeer/Piping/test/Riskeer.Piping.Data.Test/PipingCalculationTest.cs =================================================================== diff -u -r56b853f016b53da306c8946e7709030b9b08e15f -re7176fd7ca6a9b13f0d34aa0d792e06b7bc07bbc --- Riskeer/Piping/test/Riskeer.Piping.Data.Test/PipingCalculationTest.cs (.../PipingCalculationTest.cs) (revision 56b853f016b53da306c8946e7709030b9b08e15f) +++ Riskeer/Piping/test/Riskeer.Piping.Data.Test/PipingCalculationTest.cs (.../PipingCalculationTest.cs) (revision e7176fd7ca6a9b13f0d34aa0d792e06b7bc07bbc) @@ -45,7 +45,6 @@ Assert.IsInstanceOf(calculation.InputParameters); Assert.IsNull(calculation.Comments.Body); - Assert.IsNull(calculation.Output); } [Test] @@ -60,93 +59,11 @@ } [Test] - public void ClearOutput_Always_SetsOutputToNull() - { - // Setup - var calculation = new TestPipingCalculation - { - Output = PipingOutputTestFactory.Create() - }; - - // Call - calculation.ClearOutput(); - - // Assert - Assert.IsNull(calculation.Output); - } - - [Test] - public void HasOutput_OutputNull_ReturnsFalse() - { - // Setup - var calculation = new TestPipingCalculation - { - Output = null - }; - - // Call - bool hasOutput = calculation.HasOutput; - - // Assert - Assert.IsFalse(hasOutput); - } - - [Test] - public void HasOutput_OutputSet_ReturnsTrue() - { - // Setup - var calculation = new TestPipingCalculation - { - Output = PipingOutputTestFactory.Create() - }; - - // Call - bool hasOutput = calculation.HasOutput; - - // Assert - Assert.IsTrue(hasOutput); - } - - [Test] - public void ShouldCalculate_OutputNull_ReturnsTrue() - { - // Setup - var calculation = new TestPipingCalculation - { - Output = null - }; - - // Call - bool shouldCalculate = calculation.ShouldCalculate; - - // Assert - Assert.IsTrue(shouldCalculate); - } - - [Test] - public void ShouldCalculate_OutputSet_ReturnsFalse() - { - // Setup - var calculation = new TestPipingCalculation - { - Output = PipingOutputTestFactory.Create() - }; - - // Call - bool shouldCalculate = calculation.ShouldCalculate; - - // Assert - Assert.IsFalse(shouldCalculate); - } - - [Test] public void Clone_AllPropertiesSet_ReturnNewInstanceWithCopiedValues() { // Setup PipingCalculation original = CreateRandomCalculationWithoutOutput(); - original.Output = PipingTestDataGenerator.GetRandomPipingOutput(); - // Call object clone = original.Clone(); Index: Riskeer/Piping/test/Riskeer.Piping.Data.Test/Probabilistic/ProbabilisticPipingCalculationTest.cs =================================================================== diff -u -rd2d48d2bd3050679db76ec126d31b8f9d9546395 -re7176fd7ca6a9b13f0d34aa0d792e06b7bc07bbc --- Riskeer/Piping/test/Riskeer.Piping.Data.Test/Probabilistic/ProbabilisticPipingCalculationTest.cs (.../ProbabilisticPipingCalculationTest.cs) (revision d2d48d2bd3050679db76ec126d31b8f9d9546395) +++ Riskeer/Piping/test/Riskeer.Piping.Data.Test/Probabilistic/ProbabilisticPipingCalculationTest.cs (.../ProbabilisticPipingCalculationTest.cs) (revision e7176fd7ca6a9b13f0d34aa0d792e06b7bc07bbc) @@ -36,6 +36,88 @@ // Assert Assert.IsInstanceOf>(calculation); Assert.IsInstanceOf(calculation.InputParameters); + + Assert.IsNull(calculation.Output); } + + [Test] + public void ClearOutput_Always_SetsOutputToNull() + { + // Setup + var calculation = new ProbabilisticPipingCalculation(new GeneralPipingInput()) + { + Output = new ProbabilisticPipingOutput() + }; + + // Call + calculation.ClearOutput(); + + // Assert + Assert.IsNull(calculation.Output); + } + + [Test] + public void HasOutput_OutputNull_ReturnsFalse() + { + // Setup + var calculation = new ProbabilisticPipingCalculation(new GeneralPipingInput()) + { + Output = null + }; + + // Call + bool hasOutput = calculation.HasOutput; + + // Assert + Assert.IsFalse(hasOutput); + } + + [Test] + public void HasOutput_OutputSet_ReturnsTrue() + { + // Setup + var calculation = new ProbabilisticPipingCalculation(new GeneralPipingInput()) + { + Output = new ProbabilisticPipingOutput() + }; + + // Call + bool hasOutput = calculation.HasOutput; + + // Assert + Assert.IsTrue(hasOutput); + } + + [Test] + public void ShouldCalculate_OutputNull_ReturnsTrue() + { + // Setup + var calculation = new ProbabilisticPipingCalculation(new GeneralPipingInput()) + { + Output = null + }; + + // Call + bool shouldCalculate = calculation.ShouldCalculate; + + // Assert + Assert.IsTrue(shouldCalculate); + } + + [Test] + public void ShouldCalculate_OutputSet_ReturnsFalse() + { + // Setup + var calculation = new ProbabilisticPipingCalculation(new GeneralPipingInput()) + { + Output = new ProbabilisticPipingOutput() + }; + + // Call + bool shouldCalculate = calculation.ShouldCalculate; + + // Assert + Assert.IsFalse(shouldCalculate); + } } } \ No newline at end of file Index: Riskeer/Piping/test/Riskeer.Piping.Data.Test/SemiProbabilistic/SemiProbabilisticPipingCalculationTest.cs =================================================================== diff -u -rd2d48d2bd3050679db76ec126d31b8f9d9546395 -re7176fd7ca6a9b13f0d34aa0d792e06b7bc07bbc --- Riskeer/Piping/test/Riskeer.Piping.Data.Test/SemiProbabilistic/SemiProbabilisticPipingCalculationTest.cs (.../SemiProbabilisticPipingCalculationTest.cs) (revision d2d48d2bd3050679db76ec126d31b8f9d9546395) +++ Riskeer/Piping/test/Riskeer.Piping.Data.Test/SemiProbabilistic/SemiProbabilisticPipingCalculationTest.cs (.../SemiProbabilisticPipingCalculationTest.cs) (revision e7176fd7ca6a9b13f0d34aa0d792e06b7bc07bbc) @@ -21,6 +21,7 @@ using NUnit.Framework; using Riskeer.Piping.Data.SemiProbabilistic; +using Riskeer.Piping.Data.TestUtil; namespace Riskeer.Piping.Data.Test.SemiProbabilistic { @@ -36,6 +37,88 @@ // Assert Assert.IsInstanceOf>(calculation); Assert.IsInstanceOf(calculation.InputParameters); + + Assert.IsNull(calculation.Output); } + + [Test] + public void ClearOutput_Always_SetsOutputToNull() + { + // Setup + var calculation = new SemiProbabilisticPipingCalculation(new GeneralPipingInput()) + { + Output = PipingOutputTestFactory.Create() + }; + + // Call + calculation.ClearOutput(); + + // Assert + Assert.IsNull(calculation.Output); + } + + [Test] + public void HasOutput_OutputNull_ReturnsFalse() + { + // Setup + var calculation = new SemiProbabilisticPipingCalculation(new GeneralPipingInput()) + { + Output = null + }; + + // Call + bool hasOutput = calculation.HasOutput; + + // Assert + Assert.IsFalse(hasOutput); + } + + [Test] + public void HasOutput_OutputSet_ReturnsTrue() + { + // Setup + var calculation = new SemiProbabilisticPipingCalculation(new GeneralPipingInput()) + { + Output = PipingOutputTestFactory.Create() + }; + + // Call + bool hasOutput = calculation.HasOutput; + + // Assert + Assert.IsTrue(hasOutput); + } + + [Test] + public void ShouldCalculate_OutputNull_ReturnsTrue() + { + // Setup + var calculation = new SemiProbabilisticPipingCalculation(new GeneralPipingInput()) + { + Output = null + }; + + // Call + bool shouldCalculate = calculation.ShouldCalculate; + + // Assert + Assert.IsTrue(shouldCalculate); + } + + [Test] + public void ShouldCalculate_OutputSet_ReturnsFalse() + { + // Setup + var calculation = new SemiProbabilisticPipingCalculation(new GeneralPipingInput()) + { + Output = PipingOutputTestFactory.Create() + }; + + // Call + bool shouldCalculate = calculation.ShouldCalculate; + + // Assert + Assert.IsFalse(shouldCalculate); + } } } \ No newline at end of file