Index: src/Common/DelftTools.Shell.Core/Workflow/IActivity.cs
===================================================================
diff -u -r5fc71a385897af92ccb092f2f969b5709afab85a -r7b2fb7be49ba189d624e933485f14a7b94039bbb
--- src/Common/DelftTools.Shell.Core/Workflow/IActivity.cs (.../IActivity.cs) (revision 5fc71a385897af92ccb092f2f969b5709afab85a)
+++ src/Common/DelftTools.Shell.Core/Workflow/IActivity.cs (.../IActivity.cs) (revision 7b2fb7be49ba189d624e933485f14a7b94039bbb)
@@ -6,6 +6,11 @@
///
/// Defines basic activity which can be executed as part of the workflow.
///
+ ///
+ /// Regular workflow for an activity is: Initialize -> Execute -> Finish -> Cleanup.
+ /// Regular workflow for an activity with an error occurring: [Initialize/Execute/Finish] -> ! Exception / Error ! -> Cleanup.
+ /// Regular workflow for an activity being cancelled: [Initialize/Execute/Finish] -> ! Cancel ! -> Cleanup.
+ ///
public interface IActivity : IProjectItem /* TODO: wrap it with the ProjectItem instead */
{
///
@@ -34,7 +39,8 @@
string ProgressText { get; }
///
- /// Initializes activity. If initialization step is successful, will change to .
+ /// Initializes activity. If initialization step is successful,
+ /// will change to .
///
void Initialize();
@@ -58,6 +64,8 @@
///
/// Cleans all resources required during execution.
///
+ /// This method will always be called, even when an exception occurs. Take
+ /// this into account when implementing this method.
void Cleanup();
}
}
\ No newline at end of file
Index: src/DeltaShell/DeltaShell.Gui/Forms/MessageWindow/MessageWindow.cs
===================================================================
diff -u -rf35260d1876528f1ea61908a8d5fc3cdb5deb238 -r7b2fb7be49ba189d624e933485f14a7b94039bbb
--- src/DeltaShell/DeltaShell.Gui/Forms/MessageWindow/MessageWindow.cs (.../MessageWindow.cs) (revision f35260d1876528f1ea61908a8d5fc3cdb5deb238)
+++ src/DeltaShell/DeltaShell.Gui/Forms/MessageWindow/MessageWindow.cs (.../MessageWindow.cs) (revision 7b2fb7be49ba189d624e933485f14a7b94039bbb)
@@ -1,10 +1,10 @@
using System;
+using System.Collections.Concurrent;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
using DelftTools.Controls;
-using DelftTools.Shell.Core;
using DelftTools.Shell.Gui.Forms;
using DeltaShell.Gui.Properties;
using log4net.Core;
@@ -15,7 +15,7 @@
{
public event EventHandler OnError;
private readonly Dictionary levelImageName;
- private readonly ObservableList newMessages = new ObservableList();
+ private readonly ConcurrentQueue newMessages = new ConcurrentQueue();
private bool filtering;
public MessageWindow()
@@ -62,7 +62,7 @@
private void PopulateMessages()
{
- if (newMessages.Count == 0)
+ if (newMessages.IsEmpty)
{
return;
}
@@ -71,15 +71,15 @@
messageWindowData.Messages.BeginLoadData();
try
{
- foreach (var msg in newMessages)
+ MessageData msg;
+ while (newMessages.TryDequeue(out msg))
{
messageWindowData.Messages.AddMessagesRow(msg.ImageName, msg.Time, msg.Message);
hasError = hasError || (msg.ImageName == "ERROR" && OnError != null);
}
}
finally
{
- newMessages.Clear();
messageWindowData.Messages.EndLoadData();
}
@@ -298,11 +298,10 @@
///
///
///
- ///
///
public void AddMessage(Level level, DateTime time, string message)
{
- newMessages.Add(new MessageData
+ newMessages.Enqueue(new MessageData
{
ImageName = level.ToString(), Time = time, Message = message
});
Index: src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Forms/NodePresenters/PipingCalculationInputsNodePresenter.cs
===================================================================
diff -u -r308703c02f5602704483e204ad9a475d90eece69 -r7b2fb7be49ba189d624e933485f14a7b94039bbb
--- src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Forms/NodePresenters/PipingCalculationInputsNodePresenter.cs (.../PipingCalculationInputsNodePresenter.cs) (revision 308703c02f5602704483e204ad9a475d90eece69)
+++ src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Forms/NodePresenters/PipingCalculationInputsNodePresenter.cs (.../PipingCalculationInputsNodePresenter.cs) (revision 7b2fb7be49ba189d624e933485f14a7b94039bbb)
@@ -3,6 +3,7 @@
using System.ComponentModel;
using System.Windows.Forms;
using DelftTools.Controls;
+using DelftTools.Shell.Core.Workflow;
using DelftTools.Utils.Collections;
using Ringtoets.Piping.Data;
@@ -29,6 +30,11 @@
}
}
+ ///
+ /// Injection points for a method to cause an to be scheduled for execution.
+ ///
+ public Action RunActivityAction { get; set; }
+
public void UpdateNode(ITreeNode parentNode, ITreeNode node, object nodeData)
{
node.Text = ((PipingCalculationInputs)nodeData).PipingData.Name;
@@ -113,8 +119,7 @@
private void PerformPipingCalculation(PipingData pipingData)
{
- PipingCalculationService.PerfromValidatedCalculation(pipingData);
- pipingData.NotifyObservers();
+ RunActivityAction(new PipingCalculationActivity(pipingData));
}
}
}
\ No newline at end of file
Index: src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Plugin/WtiGuiPlugin.cs
===================================================================
diff -u -rccc7c8935c7d43414fa0aa2393598bd0752fc8d2 -r7b2fb7be49ba189d624e933485f14a7b94039bbb
--- src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Plugin/WtiGuiPlugin.cs (.../WtiGuiPlugin.cs) (revision ccc7c8935c7d43414fa0aa2393598bd0752fc8d2)
+++ src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Plugin/WtiGuiPlugin.cs (.../WtiGuiPlugin.cs) (revision 7b2fb7be49ba189d624e933485f14a7b94039bbb)
@@ -70,7 +70,10 @@
public override IEnumerable GetProjectTreeViewNodePresenters()
{
yield return new WtiProjectNodePresenter();
- yield return new PipingCalculationInputsNodePresenter();
+ yield return new PipingCalculationInputsNodePresenter
+ {
+ RunActivityAction = Gui.Application.ActivityRunner.Enqueue
+ };
yield return new PipingFailureMechanismNodePresenter();
yield return new PipingSurfaceLineCollectionNodePresenter
{
Index: src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Service/PipingCalculationActivity.cs
===================================================================
diff -u
--- src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Service/PipingCalculationActivity.cs (revision 0)
+++ src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Service/PipingCalculationActivity.cs (revision 7b2fb7be49ba189d624e933485f14a7b94039bbb)
@@ -0,0 +1,59 @@
+using DelftTools.Shell.Core.Workflow;
+
+using Ringtoets.Piping.Data;
+
+namespace Ringtoets.Piping.Service
+{
+ ///
+ /// for running a piping calculation.
+ ///
+ public class PipingCalculationActivity : Activity
+ {
+ private readonly PipingData pipingData;
+
+ public PipingCalculationActivity(PipingData pipingData)
+ {
+ this.pipingData = pipingData;
+ }
+
+ public override string Name
+ {
+ get
+ {
+ return pipingData.Name;
+ }
+ }
+
+ protected override void OnInitialize()
+ {
+ if (!PipingCalculationService.Validate(pipingData))
+ {
+ Status = ActivityStatus.Failed;
+ }
+ else
+ {
+ pipingData.Output = null;
+ }
+ }
+
+ protected override void OnExecute()
+ {
+ PipingCalculationService.Calculate(pipingData);
+ }
+
+ protected override void OnCancel()
+ {
+ // Unable to cancel a running kernel, so nothing can be done.
+ }
+
+ protected override void OnCleanUp()
+ {
+ // Nothing to clean up.
+ }
+
+ protected override void OnFinish()
+ {
+ pipingData.NotifyObservers();
+ }
+ }
+}
\ No newline at end of file
Index: src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Service/PipingCalculationService.cs
===================================================================
diff -u -r097c1305f34e1bc192ff10fca8332089bd1cfee0 -r7b2fb7be49ba189d624e933485f14a7b94039bbb
--- src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Service/PipingCalculationService.cs (.../PipingCalculationService.cs) (revision 097c1305f34e1bc192ff10fca8332089bd1cfee0)
+++ src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Service/PipingCalculationService.cs (.../PipingCalculationService.cs) (revision 7b2fb7be49ba189d624e933485f14a7b94039bbb)
@@ -68,7 +68,7 @@
pipingData.Output = null;
}
- private static void Calculate(PipingData pipingData)
+ public static void Calculate(PipingData pipingData)
{
PipingDataLogger.Info(String.Format(Resources.Calculation_Subject_0_Started_Time_1_,
pipingData.Name, DateTimeService.CurrentTimeAsString));
Index: src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Service/Ringtoets.Piping.Service.csproj
===================================================================
diff -u -r097c1305f34e1bc192ff10fca8332089bd1cfee0 -r7b2fb7be49ba189d624e933485f14a7b94039bbb
--- src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Service/Ringtoets.Piping.Service.csproj (.../Ringtoets.Piping.Service.csproj) (revision 097c1305f34e1bc192ff10fca8332089bd1cfee0)
+++ src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Service/Ringtoets.Piping.Service.csproj (.../Ringtoets.Piping.Service.csproj) (revision 7b2fb7be49ba189d624e933485f14a7b94039bbb)
@@ -57,6 +57,7 @@
Properties\GlobalAssembly.cs
+
@@ -79,6 +80,10 @@
{82b61d20-fd4b-49be-9252-5bf6e3ee4666}
DelftTools.Shell.Core
+
+ {f49bd8b2-332a-4c91-a196-8cce0a2c7d98}
+ DelftTools.Utils
+
{c90b77da-e421-43cc-b82e-529651bc21ac}
Wti.Base
Index: src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/PipingCalculationActivityTest.cs
===================================================================
diff -u
--- src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/PipingCalculationActivityTest.cs (revision 0)
+++ src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/PipingCalculationActivityTest.cs (revision 7b2fb7be49ba189d624e933485f14a7b94039bbb)
@@ -0,0 +1,142 @@
+using System;
+using System.Linq;
+
+using DelftTools.Shell.Core;
+using DelftTools.Shell.Core.Workflow;
+using DelftTools.TestUtils;
+
+using NUnit.Framework;
+
+using Rhino.Mocks;
+
+using Ringtoets.Piping.Calculation.Test.Piping.Stub;
+using Ringtoets.Piping.Data;
+using Ringtoets.Piping.Service.Test.TestHelpers;
+
+namespace Ringtoets.Piping.Service.Test
+{
+ [TestFixture]
+ public class PipingCalculationActivityTest
+ {
+ [Test]
+ public void ParameteredConstructor_ExpectedValues()
+ {
+ // Setup
+ var pipingData = new PipingData();
+
+ // Call
+ var activity = new PipingCalculationActivity(pipingData);
+
+ // Assert
+ Assert.IsInstanceOf(activity);
+ Assert.AreEqual(pipingData.Name, activity.Name);
+ CollectionAssert.IsEmpty(activity.DependsOn);
+ Assert.IsNull(activity.ProgressText);
+ Assert.AreEqual(ActivityStatus.None, activity.Status);
+ }
+
+ [Test]
+ public void Initialize_ValidPipingDataWithOutput_LogValidationStartAndEndedAndClearOutput()
+ {
+ // Setup
+ var validPipingData = PipingDataFactory.CreateCalculationWithValidInput();
+ validPipingData.Output = new TestPipingOutput();
+
+ var activity = new PipingCalculationActivity(validPipingData);
+
+ // Call
+ Action call = () => activity.Initialize();
+
+ // Assert
+ TestHelper.AssertLogMessages(call, messages =>
+ {
+ var msgs = messages.ToArray();
+ Assert.AreEqual(2, msgs.Length);
+ StringAssert.StartsWith(String.Format("Validatie van '{0}' gestart om: ", validPipingData.Name), msgs.First());
+ StringAssert.StartsWith(String.Format("Validatie van '{0}' beëindigd om: ", validPipingData.Name), msgs.Last());
+ });
+ Assert.AreEqual(ActivityStatus.Initialized, activity.Status);
+ Assert.IsNull(validPipingData.Output);
+ }
+
+ [Test]
+ public void Initialize_InvalidPipingDataWithOutput_LogValidationStartAndEndWithErrors()
+ {
+ // Setup
+ var originalOutput = new TestPipingOutput();
+
+ var invalidPipingData = PipingDataFactory.CreateCalculationWithInvalidData();
+ invalidPipingData.Output = originalOutput;
+
+ var activity = new PipingCalculationActivity(invalidPipingData);
+
+ // Call
+ Action call = () => activity.Initialize();
+
+ // Assert
+ TestHelper.AssertLogMessages(call, messages =>
+ {
+ var msgs = messages.ToArray();
+ Assert.Greater(msgs.Length, 2, "Expecting more than 2 messages");
+
+ StringAssert.StartsWith(String.Format("Validatie van '{0}' gestart om: ", invalidPipingData.Name), msgs.First());
+ foreach (var expectedValidationErrorMessage in msgs.Skip(1).Take(msgs.Length-2))
+ {
+ StringAssert.StartsWith("Validatie mislukt: ", expectedValidationErrorMessage);
+ }
+ StringAssert.StartsWith(String.Format("Validatie van '{0}' beëindigd om: ", invalidPipingData.Name), msgs.Last());
+ });
+ Assert.AreEqual(ActivityStatus.Failed, activity.Status);
+ Assert.AreEqual(originalOutput, invalidPipingData.Output);
+ }
+
+ [Test]
+ public void Execute_ValidPipingDataAndInitialized_PerformPipingCalculationAndLogStartAndEnd()
+ {
+ // Setup
+ var validPipingData = PipingDataFactory.CreateCalculationWithValidInput();
+ validPipingData.Output = null;
+
+ var activity = new PipingCalculationActivity(validPipingData);
+ activity.Initialize();
+
+ // Call
+ Action call = () => activity.Execute();
+
+ // Assert
+ TestHelper.AssertLogMessages(call, messages =>
+ {
+ var msgs = messages.ToArray();
+ Assert.AreEqual(2, msgs.Length);
+ StringAssert.StartsWith(String.Format("Berekening van '{0}' gestart om: ", validPipingData.Name), msgs.First());
+ StringAssert.StartsWith(String.Format("Berekening van '{0}' beëindigd om: ", validPipingData.Name), msgs.Last());
+ });
+ Assert.AreEqual(ActivityStatus.Executed, activity.Status);
+ Assert.IsNotNull(validPipingData.Output);
+ }
+
+ [Test]
+ public void OnFinish_ValidPipingDataAndExecuted_NotifyObserversOfPipingData()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var observerMock = mocks.StrictMock();
+ observerMock.Expect(o => o.UpdateObserver());
+ mocks.ReplayAll();
+
+ var validPipingData = PipingDataFactory.CreateCalculationWithValidInput();
+ validPipingData.Output = null;
+ validPipingData.Attach(observerMock);
+
+ var activity = new PipingCalculationActivity(validPipingData);
+ activity.Initialize();
+ activity.Execute();
+
+ // Call
+ activity.Finish();
+
+ // Assert
+ mocks.VerifyAll();
+ }
+ }
+}
\ No newline at end of file
Index: src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/PipingCalculationServiceTest.cs
===================================================================
diff -u -r097c1305f34e1bc192ff10fca8332089bd1cfee0 -r7b2fb7be49ba189d624e933485f14a7b94039bbb
--- src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/PipingCalculationServiceTest.cs (.../PipingCalculationServiceTest.cs) (revision 097c1305f34e1bc192ff10fca8332089bd1cfee0)
+++ src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/PipingCalculationServiceTest.cs (.../PipingCalculationServiceTest.cs) (revision 7b2fb7be49ba189d624e933485f14a7b94039bbb)
@@ -8,6 +8,7 @@
using Ringtoets.Piping.Data;
using Ringtoets.Piping.Calculation.Test.Piping.Stub;
+using Ringtoets.Piping.Service.Test.TestHelpers;
namespace Ringtoets.Piping.Service.Test
{
@@ -19,7 +20,7 @@
// Setup
const string name = "";
- var pipingData = CreateCalculationWithValidInput();
+ var pipingData = PipingDataFactory.CreateCalculationWithValidInput();
pipingData.Name = name;
// Call
@@ -40,7 +41,7 @@
// Setup
const string name = "";
- var pipingData = CreateCalculationWithValidInput();
+ var pipingData = PipingDataFactory.CreateCalculationWithValidInput();
pipingData.Name = name;
// Call
@@ -62,7 +63,7 @@
public void PerformValidatedCalculation_ValidPipingDataNoOutput_ShouldSetOutput()
{
// Setup
- PipingData validPipingData = CreateCalculationWithValidInput();
+ PipingData validPipingData = PipingDataFactory.CreateCalculationWithValidInput();
// Precondition
Assert.IsNull(validPipingData.Output);
@@ -80,7 +81,7 @@
// Setup
var output = new TestPipingOutput();
- PipingData validPipingData = CreateCalculationWithValidInput();
+ PipingData validPipingData = PipingDataFactory.CreateCalculationWithValidInput();
validPipingData.Output = output;
// Call
@@ -95,7 +96,7 @@
{
// Setup
var output = new TestPipingOutput();
- var invalidPipingData = CreateCalculationWithInvalidData();
+ var invalidPipingData = PipingDataFactory.CreateCalculationWithInvalidData();
invalidPipingData.Output = output;
// Call
@@ -109,7 +110,7 @@
public void PerformValidatedCalculation_Diameter70AndAquiferPermeabilityZero_CalculationErrorOutputNull()
{
// Setup
- PipingData validPipingData = CreateCalculationWithValidInput();
+ PipingData validPipingData = PipingDataFactory.CreateCalculationWithValidInput();
validPipingData.Diameter70 = 0;
validPipingData.DarcyPermeability = 0;
@@ -126,9 +127,9 @@
// Setup
var failureMechanism = new PipingFailureMechanism();
failureMechanism.Calculations.Clear();
- failureMechanism.Calculations.Add(CreateCalculationWithValidInput());
- failureMechanism.Calculations.Add(CreateCalculationWithValidInput());
- failureMechanism.Calculations.Add(CreateCalculationWithValidInput());
+ failureMechanism.Calculations.Add(PipingDataFactory.CreateCalculationWithValidInput());
+ failureMechanism.Calculations.Add(PipingDataFactory.CreateCalculationWithValidInput());
+ failureMechanism.Calculations.Add(PipingDataFactory.CreateCalculationWithValidInput());
// Call
PipingCalculationService.PerfromValidatedCalculation(failureMechanism);
@@ -146,9 +147,9 @@
// Setup
var failureMechanism = new PipingFailureMechanism();
failureMechanism.Calculations.Clear();
- failureMechanism.Calculations.Add(CreateCalculationWithValidInput());
- failureMechanism.Calculations.Add(CreateCalculationWithValidInput());
- failureMechanism.Calculations.Add(CreateCalculationWithValidInput());
+ failureMechanism.Calculations.Add(PipingDataFactory.CreateCalculationWithValidInput());
+ failureMechanism.Calculations.Add(PipingDataFactory.CreateCalculationWithValidInput());
+ failureMechanism.Calculations.Add(PipingDataFactory.CreateCalculationWithValidInput());
foreach (var calculation in failureMechanism.Calculations)
{
@@ -174,9 +175,9 @@
// Setup
var failureMechanism = new PipingFailureMechanism();
failureMechanism.Calculations.Clear();
- failureMechanism.Calculations.Add(CreateCalculationWithValidInput());
- failureMechanism.Calculations.Add(CreateCalculationWithInvalidData()); // Unable to calculate
- failureMechanism.Calculations.Add(CreateCalculationWithValidInput());
+ failureMechanism.Calculations.Add(PipingDataFactory.CreateCalculationWithValidInput());
+ failureMechanism.Calculations.Add(PipingDataFactory.CreateCalculationWithInvalidData()); // Unable to calculate
+ failureMechanism.Calculations.Add(PipingDataFactory.CreateCalculationWithValidInput());
// Call
PipingCalculationService.PerfromValidatedCalculation(failureMechanism);
@@ -196,40 +197,5 @@
}
}
}
-
- private PipingData CreateCalculationWithInvalidData()
- {
- return new PipingData();
- }
-
- private PipingData CreateCalculationWithValidInput()
- {
- return new PipingData
- {
- AssessmentLevel = 1.0,
- BeddingAngle = 1.0,
- CriticalHeaveGradient = 1.0,
- DampingFactorExit = 1.0,
- DarcyPermeability = 1.0,
- Diameter70 = 1.0,
- ExitPointXCoordinate = 1.0,
- Gravity = 1.0,
- MeanDiameter70 = 1.0,
- PiezometricHeadExit = 1.0,
- PiezometricHeadPolder = 1.0,
- PhreaticLevelExit = 2.0,
- SandParticlesVolumicWeight = 1.0,
- SeepageLength = 1.0,
- SellmeijerModelFactor = 1.0,
- SellmeijerReductionFactor = 1.0,
- ThicknessAquiferLayer = 1.0,
- ThicknessCoverageLayer = 1.0,
- UpliftModelFactor = 1.0,
- WaterKinematicViscosity = 1.0,
- WaterVolumetricWeight = 1.0,
- WhitesDragCoefficient = 1.0,
- SurfaceLine = new RingtoetsPipingSurfaceLine()
- };
- }
}
}
\ No newline at end of file
Index: src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/Ringtoets.Piping.Service.Test.csproj
===================================================================
diff -u -r097c1305f34e1bc192ff10fca8332089bd1cfee0 -r7b2fb7be49ba189d624e933485f14a7b94039bbb
--- src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/Ringtoets.Piping.Service.Test.csproj (.../Ringtoets.Piping.Service.Test.csproj) (revision 097c1305f34e1bc192ff10fca8332089bd1cfee0)
+++ src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/Ringtoets.Piping.Service.Test.csproj (.../Ringtoets.Piping.Service.Test.csproj) (revision 7b2fb7be49ba189d624e933485f14a7b94039bbb)
@@ -49,8 +49,10 @@
+
+
@@ -69,6 +71,10 @@
{82b61d20-fd4b-49be-9252-5bf6e3ee4666}
DelftTools.Shell.Core
+
+ {f49bd8b2-332a-4c91-a196-8cce0a2c7d98}
+ DelftTools.Utils
+
{D64E4F0E-E341-496F-82B2-941AD202B4E3}
Ringtoets.Piping.Calculation
Index: src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/TestHelpers/PipingDataFactory.cs
===================================================================
diff -u
--- src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/TestHelpers/PipingDataFactory.cs (revision 0)
+++ src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/TestHelpers/PipingDataFactory.cs (revision 7b2fb7be49ba189d624e933485f14a7b94039bbb)
@@ -0,0 +1,42 @@
+using Ringtoets.Piping.Data;
+
+namespace Ringtoets.Piping.Service.Test.TestHelpers
+{
+ public static class PipingDataFactory
+ {
+ public static PipingData CreateCalculationWithInvalidData()
+ {
+ return new PipingData();
+ }
+
+ public static PipingData CreateCalculationWithValidInput()
+ {
+ return new PipingData
+ {
+ AssessmentLevel = 1.0,
+ BeddingAngle = 1.0,
+ CriticalHeaveGradient = 1.0,
+ DampingFactorExit = 1.0,
+ DarcyPermeability = 1.0,
+ Diameter70 = 1.0,
+ ExitPointXCoordinate = 1.0,
+ Gravity = 1.0,
+ MeanDiameter70 = 1.0,
+ PiezometricHeadExit = 1.0,
+ PiezometricHeadPolder = 1.0,
+ PhreaticLevelExit = 2.0,
+ SandParticlesVolumicWeight = 1.0,
+ SeepageLength = 1.0,
+ SellmeijerModelFactor = 1.0,
+ SellmeijerReductionFactor = 1.0,
+ ThicknessAquiferLayer = 1.0,
+ ThicknessCoverageLayer = 1.0,
+ UpliftModelFactor = 1.0,
+ WaterKinematicViscosity = 1.0,
+ WaterVolumetricWeight = 1.0,
+ WhitesDragCoefficient = 1.0,
+ SurfaceLine = new RingtoetsPipingSurfaceLine()
+ };
+ }
+ }
+}
\ No newline at end of file