Fisheye: Tag 80b447a18c4d1abf1b4a7155f863f4faaed45ba6 refers to a dead (removed) revision in file `Ringtoets/Demo/src/Ringtoets.Demo/Commands/AddNewDemoAssessmentSectionCommand.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Ringtoets/Demo/src/Ringtoets.Demo/Commands/AddNewDemoDikeAssessmentSectionCommand.cs
===================================================================
diff -u
--- Ringtoets/Demo/src/Ringtoets.Demo/Commands/AddNewDemoDikeAssessmentSectionCommand.cs (revision 0)
+++ Ringtoets/Demo/src/Ringtoets.Demo/Commands/AddNewDemoDikeAssessmentSectionCommand.cs (revision 80b447a18c4d1abf1b4a7155f863f4faaed45ba6)
@@ -0,0 +1,124 @@
+using System;
+using System.IO;
+using System.Linq;
+using System.Reflection;
+
+using Core.Common.Gui;
+
+using Ringtoets.Integration.Data;
+using Ringtoets.Piping.Plugin.FileImporter;
+
+namespace Ringtoets.Demo.Commands
+{
+ ///
+ /// Command that adds a new with demo data to the project tree.
+ ///
+ public class AddNewDemoDikeAssessmentSectionCommand : IGuiCommand
+ {
+ public bool Enabled
+ {
+ get
+ {
+ return true;
+ }
+ }
+
+ public bool Checked { get; set; }
+
+ public IGui Gui { get; set; }
+
+ public void Execute(params object[] arguments)
+ {
+ var project = Gui.Application.Project;
+ project.Items.Add(CreateNewDemoAssessmentSection());
+ project.NotifyObservers();
+ }
+
+ private DikeAssessmentSection CreateNewDemoAssessmentSection()
+ {
+ var demoAssessmentSection = new DikeAssessmentSection
+ {
+ Name = "Demo dijktraject"
+ };
+ InitializeDemoPipingData(demoAssessmentSection);
+ return demoAssessmentSection;
+ }
+
+ private void InitializeDemoPipingData(DikeAssessmentSection demoAssessmentSection)
+ {
+ var pipingFailureMechanism = demoAssessmentSection.PipingFailureMechanism;
+
+ using (var tempPath = new TemporaryImportFile("DR6_surfacelines.csv"))
+ {
+ var surfaceLinesImporter = new PipingSurfaceLinesCsvImporter();
+ surfaceLinesImporter.ImportItem(tempPath.FilePath, pipingFailureMechanism.SurfaceLines);
+ }
+
+ using (var tempPath = new TemporaryImportFile("complete.soil"))
+ {
+ var surfaceLinesImporter = new PipingSoilProfilesImporter();
+ surfaceLinesImporter.ImportItem(tempPath.FilePath, pipingFailureMechanism.SoilProfiles);
+ }
+
+ var calculation = pipingFailureMechanism.Calculations.First();
+ calculation.SurfaceLine = pipingFailureMechanism.SurfaceLines.First(sl => sl.Name == "PK001_0001");
+ calculation.SoilProfile = pipingFailureMechanism.SoilProfiles.First(sl => sl.Name == "AD640M00_Segment_36005_1D2");
+ }
+
+ ///
+ /// Class for creating a temporary file in the windows Temp directory based on a
+ /// file stored in Embedded Resources.
+ ///
+ private class TemporaryImportFile : IDisposable
+ {
+ private readonly string tempTargetFolderPath;
+ private readonly string fullFilePath;
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// Name of the file with build action 'Embedded Resource' within this project.
+ public TemporaryImportFile(string embeddedResourceFileName)
+ {
+ tempTargetFolderPath = Path.Combine(Path.GetTempPath(), "demo_traject");
+ Directory.CreateDirectory(tempTargetFolderPath);
+
+ fullFilePath = Path.Combine(tempTargetFolderPath, embeddedResourceFileName);
+
+ var stream = GetStreamToFileInResource(embeddedResourceFileName);
+
+ var bytes = GetBinaryDataOfStream(stream);
+
+ File.WriteAllBytes(fullFilePath, bytes);
+ }
+
+ public string FilePath
+ {
+ get
+ {
+ return fullFilePath;
+ }
+ }
+
+ public void Dispose()
+ {
+ Directory.Delete(tempTargetFolderPath, true);
+ }
+
+ private Stream GetStreamToFileInResource(string embeddedResourceFileName)
+ {
+ var assembly = Assembly.GetAssembly(GetType());
+ string embeddedResourceName = assembly.GetManifestResourceNames().First(n => n.EndsWith(embeddedResourceFileName));
+ return assembly.GetManifestResourceStream(embeddedResourceName);
+ }
+
+ private static byte[] GetBinaryDataOfStream(Stream stream)
+ {
+ var bytes = new byte[stream.Length];
+ var reader = new BinaryReader(stream);
+ reader.Read(bytes, 0, (int)stream.Length);
+ return bytes;
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Demo/src/Ringtoets.Demo/Commands/AddNewDemoDuneAssessmentSectionCommand.cs
===================================================================
diff -u
--- Ringtoets/Demo/src/Ringtoets.Demo/Commands/AddNewDemoDuneAssessmentSectionCommand.cs (revision 0)
+++ Ringtoets/Demo/src/Ringtoets.Demo/Commands/AddNewDemoDuneAssessmentSectionCommand.cs (revision 80b447a18c4d1abf1b4a7155f863f4faaed45ba6)
@@ -0,0 +1,40 @@
+using Core.Common.Gui;
+
+using Ringtoets.Integration.Data;
+
+namespace Ringtoets.Demo.Commands
+{
+ ///
+ /// Command that adds a new with demo data to the project tree.
+ ///
+ public class AddNewDemoDuneAssessmentSectionCommand : IGuiCommand
+ {
+ public bool Enabled
+ {
+ get
+ {
+ return true;
+ }
+ }
+
+ public bool Checked { get; set; }
+
+ public IGui Gui { get; set; }
+
+ public void Execute(params object[] arguments)
+ {
+ var project = Gui.Application.Project;
+ project.Items.Add(CreateNewDemoAssessmentSection());
+ project.NotifyObservers();
+ }
+
+ private DuneAssessmentSection CreateNewDemoAssessmentSection()
+ {
+ var demoAssessmentSection = new DuneAssessmentSection
+ {
+ Name = "Demo duintraject"
+ };
+ return demoAssessmentSection;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Demo/src/Ringtoets.Demo/Properties/Resources.Designer.cs
===================================================================
diff -u -r1e08e4d88dc94cddaf7cbd38bdc2b42f263225bc -r80b447a18c4d1abf1b4a7155f863f4faaed45ba6
--- Ringtoets/Demo/src/Ringtoets.Demo/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 1e08e4d88dc94cddaf7cbd38bdc2b42f263225bc)
+++ Ringtoets/Demo/src/Ringtoets.Demo/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 80b447a18c4d1abf1b4a7155f863f4faaed45ba6)
@@ -70,7 +70,7 @@
}
///
- /// Looks up a localized string similar to Demo dijk traject.
+ /// Looks up a localized string similar to Demo dijktraject.
///
public static string DemoDikeAssessmentSection {
get {
@@ -79,6 +79,15 @@
}
///
+ /// Looks up a localized string similar to Demo duintraject.
+ ///
+ public static string DemoDuneAssessmentSection {
+ get {
+ return ResourceManager.GetString("DemoDuneAssessmentSection", resourceCulture);
+ }
+ }
+
+ ///
/// Looks up a localized string similar to Voorbeeld data.
///
public static string ExampleData {
Index: Ringtoets/Demo/src/Ringtoets.Demo/Properties/Resources.resx
===================================================================
diff -u -r1e08e4d88dc94cddaf7cbd38bdc2b42f263225bc -r80b447a18c4d1abf1b4a7155f863f4faaed45ba6
--- Ringtoets/Demo/src/Ringtoets.Demo/Properties/Resources.resx (.../Resources.resx) (revision 1e08e4d88dc94cddaf7cbd38bdc2b42f263225bc)
+++ Ringtoets/Demo/src/Ringtoets.Demo/Properties/Resources.resx (.../Resources.resx) (revision 80b447a18c4d1abf1b4a7155f863f4faaed45ba6)
@@ -121,8 +121,11 @@
Demo
- Demo dijk traject
+ Demo dijktraject
+
+ Demo duintraject
+
Voorbeeld data
Index: Ringtoets/Demo/src/Ringtoets.Demo/Ringtoets.Demo.csproj
===================================================================
diff -u -r5c044a6799b45bec77af170dca0a84bc434c5f6f -r80b447a18c4d1abf1b4a7155f863f4faaed45ba6
--- Ringtoets/Demo/src/Ringtoets.Demo/Ringtoets.Demo.csproj (.../Ringtoets.Demo.csproj) (revision 5c044a6799b45bec77af170dca0a84bc434c5f6f)
+++ Ringtoets/Demo/src/Ringtoets.Demo/Ringtoets.Demo.csproj (.../Ringtoets.Demo.csproj) (revision 80b447a18c4d1abf1b4a7155f863f4faaed45ba6)
@@ -51,7 +51,8 @@
Properties\GlobalAssembly.cs
-
+
+
Index: Ringtoets/Demo/src/Ringtoets.Demo/RingtoetsDemoProjectRibbon.xaml
===================================================================
diff -u -r1e08e4d88dc94cddaf7cbd38bdc2b42f263225bc -r80b447a18c4d1abf1b4a7155f863f4faaed45ba6
--- Ringtoets/Demo/src/Ringtoets.Demo/RingtoetsDemoProjectRibbon.xaml (.../RingtoetsDemoProjectRibbon.xaml) (revision 1e08e4d88dc94cddaf7cbd38bdc2b42f263225bc)
+++ Ringtoets/Demo/src/Ringtoets.Demo/RingtoetsDemoProjectRibbon.xaml (.../RingtoetsDemoProjectRibbon.xaml) (revision 80b447a18c4d1abf1b4a7155f863f4faaed45ba6)
@@ -13,7 +13,8 @@
-
+
+
Index: Ringtoets/Demo/src/Ringtoets.Demo/RingtoetsDemoProjectRibbon.xaml.cs
===================================================================
diff -u -r03cb43bd51e792d784654d90b33b6657ffeb4221 -r80b447a18c4d1abf1b4a7155f863f4faaed45ba6
--- Ringtoets/Demo/src/Ringtoets.Demo/RingtoetsDemoProjectRibbon.xaml.cs (.../RingtoetsDemoProjectRibbon.xaml.cs) (revision 03cb43bd51e792d784654d90b33b6657ffeb4221)
+++ Ringtoets/Demo/src/Ringtoets.Demo/RingtoetsDemoProjectRibbon.xaml.cs (.../RingtoetsDemoProjectRibbon.xaml.cs) (revision 80b447a18c4d1abf1b4a7155f863f4faaed45ba6)
@@ -1,4 +1,5 @@
using System.Collections.Generic;
+using System.Windows;
using Core.Common.Controls;
using Core.Common.Gui.Forms;
@@ -14,20 +15,22 @@
///
public partial class RingtoetsDemoProjectRibbon : IRibbonCommandHandler
{
- private readonly ICommand addNewDemoProject;
+ private readonly ICommand addNewDikeAssessmentSection, addNewDuneAssessmentSection;
public RingtoetsDemoProjectRibbon()
{
InitializeComponent();
- addNewDemoProject = new AddNewDemoAssessmentSectionCommand();
+ addNewDikeAssessmentSection = new AddNewDemoDikeAssessmentSectionCommand();
+ addNewDuneAssessmentSection = new AddNewDemoDuneAssessmentSectionCommand();
}
public IEnumerable Commands
{
get
{
- yield return addNewDemoProject;
+ yield return addNewDikeAssessmentSection;
+ yield return addNewDuneAssessmentSection;
}
}
@@ -46,9 +49,14 @@
return false;
}
- private void AddNewRingtoetsDemoProjectButton_Click(object sender, System.Windows.RoutedEventArgs e)
+ private void AddNewDemoDikeAssessmentSectionButton_Click(object sender, RoutedEventArgs e)
{
- addNewDemoProject.Execute();
+ addNewDikeAssessmentSection.Execute();
}
+
+ private void AddNewDemoDuneAssessmentSectionButton_Click(object sender, RoutedEventArgs e)
+ {
+ addNewDuneAssessmentSection.Execute();
+ }
}
}
Fisheye: Tag 80b447a18c4d1abf1b4a7155f863f4faaed45ba6 refers to a dead (removed) revision in file `Ringtoets/Demo/test/Ringtoets.Demo.Test/Commands/AddNewDemoAssessmentSectionCommandTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Ringtoets/Demo/test/Ringtoets.Demo.Test/Commands/AddNewDemoDikeAssessmentSectionCommandTest.cs
===================================================================
diff -u
--- Ringtoets/Demo/test/Ringtoets.Demo.Test/Commands/AddNewDemoDikeAssessmentSectionCommandTest.cs (revision 0)
+++ Ringtoets/Demo/test/Ringtoets.Demo.Test/Commands/AddNewDemoDikeAssessmentSectionCommandTest.cs (revision 80b447a18c4d1abf1b4a7155f863f4faaed45ba6)
@@ -0,0 +1,115 @@
+using System.Linq;
+
+using Core.Common.Base;
+using Core.Common.Controls;
+using Core.Common.Gui;
+
+using NUnit.Framework;
+
+using Rhino.Mocks;
+
+using Ringtoets.Demo.Commands;
+using Ringtoets.Integration.Data;
+using Ringtoets.Piping.Calculation.Piping;
+using Ringtoets.Piping.Data;
+using Ringtoets.Piping.Service;
+
+namespace Ringtoets.Demo.Test.Commands
+{
+ [TestFixture]
+ public class AddNewDemoDikeAssessmentSectionCommandTest
+ {
+ [Test]
+ public void DefaultConstructor_ExpectedValues()
+ {
+ // Call
+ var command = new AddNewDemoDikeAssessmentSectionCommand();
+
+ // Assert
+ Assert.IsInstanceOf(command);
+ Assert.IsInstanceOf(command);
+ Assert.IsTrue(command.Enabled);
+ Assert.IsFalse(command.Checked);
+ Assert.IsNull(command.Gui);
+ }
+
+ [Test]
+ public void Execute_GuiIsProperlyInitialized_AddNewDemoProjectToRootProject()
+ {
+ // Setup
+ var project = new Project();
+
+ var mocks = new MockRepository();
+ var applicationMock = mocks.Stub();
+ applicationMock.Stub(a => a.Project).Return(project);
+ var guiMock = mocks.Stub();
+ guiMock.Application = applicationMock;
+
+ var observerMock = mocks.StrictMock();
+ observerMock.Expect(o => o.UpdateObserver());
+ mocks.ReplayAll();
+
+ var command = new AddNewDemoDikeAssessmentSectionCommand();
+ command.Gui = guiMock;
+
+ project.Attach(observerMock);
+
+ // Call
+ command.Execute();
+
+ // Assert
+ Assert.AreEqual(1, project.Items.Count);
+ var demoAssessmentSection = (DikeAssessmentSection) project.Items[0];
+ Assert.AreEqual("Demo dijktraject", demoAssessmentSection.Name);
+
+ var profiles = demoAssessmentSection.PipingFailureMechanism.SoilProfiles.ToArray();
+ Assert.AreEqual(26, profiles.Length);
+ var surfaceLines = demoAssessmentSection.PipingFailureMechanism.SurfaceLines.ToArray();
+ Assert.AreEqual(4, surfaceLines.Length);
+
+ Assert.AreEqual(1, demoAssessmentSection.PipingFailureMechanism.Calculations.Count);
+ var calculation = demoAssessmentSection.PipingFailureMechanism.Calculations.First();
+ AssertCalculationAbleToCalculate(calculation);
+ mocks.VerifyAll();
+ }
+
+ private void AssertCalculationAbleToCalculate(PipingData calculation)
+ {
+ Assert.AreEqual(1.0, calculation.UpliftModelFactor, 1e-3);
+ Assert.AreEqual(1.0, calculation.SellmeijerModelFactor, 1e-3);
+
+ Assert.AreEqual(10.0, calculation.WaterVolumetricWeight, 1e-3);
+ Assert.AreEqual(0.0, calculation.AssessmentLevel, 1e-3);
+ Assert.AreEqual(0.0, calculation.PiezometricHeadExit, 1e-3);
+ Assert.AreEqual(0.0, calculation.PiezometricHeadPolder, 1e-3);
+ Assert.AreEqual(0.3, calculation.SellmeijerReductionFactor, 1e-3);
+ Assert.AreEqual(16.5, calculation.SandParticlesVolumicWeight, 1e-3);
+ Assert.AreEqual(0.25, calculation.WhitesDragCoefficient, 1e-3);
+ Assert.AreEqual(1.33e-6, calculation.WaterKinematicViscosity, 1e-3);
+ Assert.AreEqual(9.81, calculation.Gravity, 1e-3);
+ Assert.AreEqual(0.000208, calculation.MeanDiameter70, 1e-3);
+ Assert.AreEqual(37, calculation.BeddingAngle, 1e-3);
+
+ Assert.AreEqual("PK001_0001", calculation.SurfaceLine.Name);
+ Assert.AreEqual("AD640M00_Segment_36005_1D2", calculation.SoilProfile.Name);
+
+ Assert.AreEqual(3.666, PipingSemiProbabilisticDesignValueFactory.GetDampingFactorExit(calculation).GetDesignValue(), 1e-3);
+ Assert.AreEqual(-1.645, PipingSemiProbabilisticDesignValueFactory.GetPhreaticLevelExit(calculation).GetDesignValue(), 1e-3);
+ Assert.AreEqual(0.011, PipingSemiProbabilisticDesignValueFactory.GetThicknessCoverageLayer(calculation).GetDesignValue(), 1e-3);
+ Assert.AreEqual(0.011, PipingSemiProbabilisticDesignValueFactory.GetSeepageLength(calculation).GetDesignValue(), 1e-3);
+ Assert.AreEqual(0.011, PipingSemiProbabilisticDesignValueFactory.GetDiameter70(calculation).GetDesignValue(), 1e-3);
+ Assert.AreEqual(2.345, PipingSemiProbabilisticDesignValueFactory.GetDarcyPermeability(calculation).GetDesignValue(), 1e-3);
+ Assert.AreEqual(2.345, PipingSemiProbabilisticDesignValueFactory.GetThicknessAquiferLayer(calculation).GetDesignValue(), 1e-3);
+
+ Assert.IsTrue(PipingCalculationService.Validate(calculation));
+ PipingCalculationService.Calculate(calculation);
+ Assert.IsTrue(calculation.HasOutput);
+ Assert.AreEqual(0.0021, calculation.Output.HeaveFactorOfSafety, 1e-3);
+ Assert.AreEqual(-143.3235, calculation.Output.HeaveZValue, 1e-3);
+ Assert.AreEqual(4.4072, calculation.Output.UpliftFactorOfSafety, 1e-3);
+ Assert.AreEqual(5.6044, calculation.Output.UpliftZValue, 1e-3);
+ Assert.AreEqual(0.0016, calculation.Output.SellmeijerFactorOfSafety, 1e-3);
+ Assert.AreEqual(-1.6387, calculation.Output.SellmeijerZValue, 1e-3);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Demo/test/Ringtoets.Demo.Test/Commands/AddNewDemoDuneAssessmentSectionCommandTest.cs
===================================================================
diff -u
--- Ringtoets/Demo/test/Ringtoets.Demo.Test/Commands/AddNewDemoDuneAssessmentSectionCommandTest.cs (revision 0)
+++ Ringtoets/Demo/test/Ringtoets.Demo.Test/Commands/AddNewDemoDuneAssessmentSectionCommandTest.cs (revision 80b447a18c4d1abf1b4a7155f863f4faaed45ba6)
@@ -0,0 +1,64 @@
+using System.Linq;
+
+using Core.Common.Base;
+using Core.Common.Controls;
+using Core.Common.Gui;
+
+using NUnit.Framework;
+
+using Rhino.Mocks;
+
+using Ringtoets.Demo.Commands;
+using Ringtoets.Integration.Data;
+
+namespace Ringtoets.Demo.Test.Commands
+{
+ [TestFixture]
+ public class AddNewDemoDuneAssessmentSectionCommandTest
+ {
+ [Test]
+ public void DefaultConstructor_ExpectedValues()
+ {
+ // Call
+ var command = new AddNewDemoDuneAssessmentSectionCommand();
+
+ // Assert
+ Assert.IsInstanceOf(command);
+ Assert.IsInstanceOf(command);
+ Assert.IsTrue(command.Enabled);
+ Assert.IsFalse(command.Checked);
+ Assert.IsNull(command.Gui);
+ }
+
+ [Test]
+ public void Execute_GuiIsProperlyInitialized_AddNewDemoProjectToRootProject()
+ {
+ // Setup
+ var project = new Project();
+
+ var mocks = new MockRepository();
+ var applicationMock = mocks.Stub();
+ applicationMock.Stub(a => a.Project).Return(project);
+ var guiMock = mocks.Stub();
+ guiMock.Application = applicationMock;
+
+ var observerMock = mocks.StrictMock();
+ observerMock.Expect(o => o.UpdateObserver());
+ mocks.ReplayAll();
+
+ var command = new AddNewDemoDuneAssessmentSectionCommand();
+ command.Gui = guiMock;
+
+ project.Attach(observerMock);
+
+ // Call
+ command.Execute();
+
+ // Assert
+ Assert.AreEqual(1, project.Items.Count);
+ var demoAssessmentSection = (DuneAssessmentSection)project.Items[0];
+ Assert.AreEqual("Demo duintraject", demoAssessmentSection.Name);
+ mocks.VerifyAll();
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Demo/test/Ringtoets.Demo.Test/Ringtoets.Demo.Test.csproj
===================================================================
diff -u -r5c044a6799b45bec77af170dca0a84bc434c5f6f -r80b447a18c4d1abf1b4a7155f863f4faaed45ba6
--- Ringtoets/Demo/test/Ringtoets.Demo.Test/Ringtoets.Demo.Test.csproj (.../Ringtoets.Demo.Test.csproj) (revision 5c044a6799b45bec77af170dca0a84bc434c5f6f)
+++ Ringtoets/Demo/test/Ringtoets.Demo.Test/Ringtoets.Demo.Test.csproj (.../Ringtoets.Demo.Test.csproj) (revision 80b447a18c4d1abf1b4a7155f863f4faaed45ba6)
@@ -44,7 +44,8 @@
-
+
+