Index: DeltaShell.sln =================================================================== diff -u -r0cc887bb46e8cd47745f5743311902faa4c6bc87 -r53a2d662c6893cb7e63dc150aaab6c2b3e9db769 --- DeltaShell.sln (.../DeltaShell.sln) (revision 0cc887bb46e8cd47745f5743311902faa4c6bc87) +++ DeltaShell.sln (.../DeltaShell.sln) (revision 53a2d662c6893cb7e63dc150aaab6c2b3e9db769) @@ -124,7 +124,7 @@ EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Wti", "Wti", "{C9DA93BC-1034-4D15-AD4E-773E3F560179}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wti.Data", "src\Plugins\Wti\Wti.Data\Wti.Data.csproj", "{CE994CC9-6F6A-48AC-B4BE-02C30A21F4DB}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wti.Data", "src\Plugins\Ringtoets\Piping\src\Ringtoets.Piping.Data\Wti.Data.csproj", "{CE994CC9-6F6A-48AC-B4BE-02C30A21F4DB}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wti.IO", "src\Plugins\Wti\Wti.IO\Wti.IO.csproj", "{35B87B7A-7F50-4139-B563-589EE522B1ED}" EndProject @@ -144,7 +144,7 @@ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ringtoets.Piping.Plugin.Test", "src\Plugins\Ringtoets\Piping\test\Ringtoets.Piping.Plugin.Test\Ringtoets.Piping.Plugin.Test.csproj", "{9A5C8069-520E-49D3-AA62-E8FB19614A27}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wti.Data.Test", "test\Plugins\Wti\Wti.Data.Test\Wti.Data.Test.csproj", "{19EB1C52-D90B-40F2-A7AF-364CC5D89F68}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wti.Data.Test", "src\Plugins\Ringtoets\Piping\test\Ringtoets.Piping.Data.Test\Wti.Data.Test.csproj", "{19EB1C52-D90B-40F2-A7AF-364CC5D89F68}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "installer", "installer", "{C4E268AD-A25B-4F47-8F92-E5137FDF7CC7}" EndProject @@ -162,7 +162,7 @@ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wti.Calculation.TestUtil", "src\Plugins\Ringtoets\Piping\test\Ringtoets.Piping.Calculation.TestUtil\Wti.Calculation.TestUtil.csproj", "{27E0A5C9-3ABF-426A-A3DA-7D0B83A218C8}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wti.Data.TestUtil", "test\Plugins\Wti\Wti.Data.TestUtil\Wti.Data.TestUtil.csproj", "{955E574D-67CE-4347-AA6B-7DF8A04ED754}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wti.Data.TestUtil", "src\Plugins\Ringtoets\Piping\test\Ringtoets.Piping.Data.TestUtil\Wti.Data.TestUtil.csproj", "{955E574D-67CE-4347-AA6B-7DF8A04ED754}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Ringtoets", "Ringtoets", "{5A029776-37C6-4622-A4E9-9DB9E8E935AB}" EndProject @@ -520,24 +520,24 @@ {07206938-9671-4DC7-BDE4-35B0F6E20DBC} = {A300D2BD-2E91-4EA7-A421-646EE7B5118B} {4FDA4BD2-2C84-4C7C-9908-818884D52DBB} = {A300D2BD-2E91-4EA7-A421-646EE7B5118B} {E0990383-FB2E-47D1-99CD-9B9FA2929E5B} = {A300D2BD-2E91-4EA7-A421-646EE7B5118B} - {CE994CC9-6F6A-48AC-B4BE-02C30A21F4DB} = {C9DA93BC-1034-4D15-AD4E-773E3F560179} {35B87B7A-7F50-4139-B563-589EE522B1ED} = {C9DA93BC-1034-4D15-AD4E-773E3F560179} {7CD038E1-E111-4969-ACED-22C5BD2974E1} = {C9DA93BC-1034-4D15-AD4E-773E3F560179} {F3A82DA4-A377-4009-A424-EFC8839913ED} = {5A029776-37C6-4622-A4E9-9DB9E8E935AB} + {C2EEB390-385B-4471-ABB8-9C1F1A8D0C11} = {F3A82DA4-A377-4009-A424-EFC8839913ED} + {0FA77E45-C347-4677-9DA0-4C330D1440D5} = {F3A82DA4-A377-4009-A424-EFC8839913ED} {622A8282-D872-4DD5-8B70-578A403F74FF} = {BC862348-6B4E-49EA-9099-2E5BE6DC183A} {E4B0E068-F1A3-47BA-965F-0EC1E78E530A} = {BC862348-6B4E-49EA-9099-2E5BE6DC183A} - {19EB1C52-D90B-40F2-A7AF-364CC5D89F68} = {BC862348-6B4E-49EA-9099-2E5BE6DC183A} - {955E574D-67CE-4347-AA6B-7DF8A04ED754} = {BC862348-6B4E-49EA-9099-2E5BE6DC183A} - {0FA77E45-C347-4677-9DA0-4C330D1440D5} = {F3A82DA4-A377-4009-A424-EFC8839913ED} - {C2EEB390-385B-4471-ABB8-9C1F1A8D0C11} = {F3A82DA4-A377-4009-A424-EFC8839913ED} - {3CCB05DB-C7B3-4EF7-B41D-22B6D2A3774E} = {C4E268AD-A25B-4F47-8F92-E5137FDF7CC7} - {1D3D58B6-EF7E-401E-92A0-104067D222EE} = {0FA77E45-C347-4677-9DA0-4C330D1440D5} - {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5} = {0FA77E45-C347-4677-9DA0-4C330D1440D5} - {D64E4F0E-E341-496F-82B2-941AD202B4E3} = {0FA77E45-C347-4677-9DA0-4C330D1440D5} {9A5C8069-520E-49D3-AA62-E8FB19614A27} = {C2EEB390-385B-4471-ABB8-9C1F1A8D0C11} {D783543B-46A1-4848-A812-AF5A5259ED7E} = {C2EEB390-385B-4471-ABB8-9C1F1A8D0C11} - {91389DA2-3FF4-4559-90B3-4061549789DD} = {C2EEB390-385B-4471-ABB8-9C1F1A8D0C11} {27E0A5C9-3ABF-426A-A3DA-7D0B83A218C8} = {C2EEB390-385B-4471-ABB8-9C1F1A8D0C11} + {91389DA2-3FF4-4559-90B3-4061549789DD} = {C2EEB390-385B-4471-ABB8-9C1F1A8D0C11} + {19EB1C52-D90B-40F2-A7AF-364CC5D89F68} = {C2EEB390-385B-4471-ABB8-9C1F1A8D0C11} + {955E574D-67CE-4347-AA6B-7DF8A04ED754} = {C2EEB390-385B-4471-ABB8-9C1F1A8D0C11} + {3CCB05DB-C7B3-4EF7-B41D-22B6D2A3774E} = {C4E268AD-A25B-4F47-8F92-E5137FDF7CC7} + {D64E4F0E-E341-496F-82B2-941AD202B4E3} = {0FA77E45-C347-4677-9DA0-4C330D1440D5} + {1D3D58B6-EF7E-401E-92A0-104067D222EE} = {0FA77E45-C347-4677-9DA0-4C330D1440D5} + {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5} = {0FA77E45-C347-4677-9DA0-4C330D1440D5} + {CE994CC9-6F6A-48AC-B4BE-02C30A21F4DB} = {0FA77E45-C347-4677-9DA0-4C330D1440D5} {4AD99020-8612-46E5-A313-F9ADA7B196E4} = {0D2E4E16-EE0A-4E50-9218-947B1D91C84D} EndGlobalSection GlobalSection(TextTemplating) = postSolution Index: src/DeltaShell/DeltaShell.Gui/DeltaShell.Gui.csproj =================================================================== diff -u -rabafde44f0d5eacfbd71a1a8ea8b4c25fed0f799 -r53a2d662c6893cb7e63dc150aaab6c2b3e9db769 --- src/DeltaShell/DeltaShell.Gui/DeltaShell.Gui.csproj (.../DeltaShell.Gui.csproj) (revision abafde44f0d5eacfbd71a1a8ea8b4c25fed0f799) +++ src/DeltaShell/DeltaShell.Gui/DeltaShell.Gui.csproj (.../DeltaShell.Gui.csproj) (revision 53a2d662c6893cb7e63dc150aaab6c2b3e9db769) @@ -292,15 +292,15 @@ Wti.Base False - + {d64e4f0e-e341-496f-82b2-941ad202b4e3} Wti.Calculation {10b8d63d-87e8-46df-aca9-a8cf22ee8fb5} Ringtoets.Piping.Service - + {ce994cc9-6f6a-48ac-b4be-02c30a21f4db} Wti.Data Index: src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Calculation/Wti.Calculation.csproj =================================================================== diff -u -r0cc887bb46e8cd47745f5743311902faa4c6bc87 -r53a2d662c6893cb7e63dc150aaab6c2b3e9db769 --- src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Calculation/Wti.Calculation.csproj (.../Wti.Calculation.csproj) (revision 0cc887bb46e8cd47745f5743311902faa4c6bc87) +++ src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Calculation/Wti.Calculation.csproj (.../Wti.Calculation.csproj) (revision 53a2d662c6893cb7e63dc150aaab6c2b3e9db769) @@ -66,7 +66,7 @@ Wti.Base False - + {ce994cc9-6f6a-48ac-b4be-02c30a21f4db} Wti.Data Index: src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingData.cs =================================================================== diff -u --- src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingData.cs (revision 0) +++ src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingData.cs (revision 53a2d662c6893cb7e63dc150aaab6c2b3e9db769) @@ -0,0 +1,184 @@ +using System.Collections.Generic; +using DelftTools.Shell.Core; + +namespace Wti.Data +{ + /// + /// This class holds the information which can be made visible in the graphical interface of the application. + /// + public class PipingData : IObservable + { + private readonly IList observers = new List(); + + /// + /// Constructs a new instance of with default values set for some of the parameters. + /// + public PipingData() + { + // Defaults as they have been defined in the DikesPiping Kernel's Technical Documentation of 07 Oct 15 + BeddingAngle = 37.0; + MeanDiameter70 = 2.08e-4; + Gravity = 9.81; + WaterKinematicViscosity = 1.33e-6; + WhitesDragCoefficient = 0.25; + SandParticlesVolumicWeight = 16.5; + WaterVolumetricWeight = 9.81; + SellmeijerReductionFactor = 0.3; + DampingFactorExit = 1.0; + } + + /// + /// Gets or sets the damping factor at the exit point. + /// + public double DampingFactorExit { get; set; } + + /// + /// Gets or sets the reduction factor Sellmeijer. + /// + public double SellmeijerReductionFactor { get; set; } + + /// + /// Gets or sets the volumetric weight of water. + /// [kN/m³] + /// + public double WaterVolumetricWeight { get; set; } + + /// + /// Gets or sets the (lowerbound) volumic weight of sand grain material of a sand layer under water. + /// [kN/m³] + /// + public double SandParticlesVolumicWeight { get; set; } + + /// + /// Gets or sets the White's drag coefficient. + /// + public double WhitesDragCoefficient { get; set; } + + /// + /// Gets or sets the kinematic viscosity of water at 10 degrees Celsius. + /// [m²/s] + /// + public double WaterKinematicViscosity { get; set; } + + /// + /// Gets or sets the gravitational acceleration. + /// [m/s²] + /// + public double Gravity { get; set; } + + /// + /// Gets or sets the mean diameter of small scale tests applied to different kinds of sand, on which the formula of Sellmeijer has been fit. + /// [m] + /// + public double MeanDiameter70 { get; set; } + + /// + /// Gets or sets the angle of the force balance representing the amount in which sand grains resist rolling. + /// [°] + /// + public double BeddingAngle { get; set; } + + /// + /// Gets or sets the calculation value used to account for uncertainty in the model for uplift. + /// + public double UpliftModelFactor { get; set; } + + /// + /// Gets or sets the outside high water level. + /// [m] + /// + public double AssessmentLevel { get; set; } + + /// + /// Gets or sets the piezometric head at the exit point. + /// [m] + /// + public double PiezometricHeadExit { get; set; } + + /// + /// Gets or sets the phreatic level at the exit point. + /// [m] + /// + public double PhreaticLevelExit { get; set; } + + /// + /// Gets or sets the piezometric head in the hinterland. + /// [m] + /// + public double PiezometricHeadPolder { get; set; } + + /// + /// Gets or sets the critical exit gradient for heave. + /// + public double CriticalHeaveGradient { get; set; } + + /// + /// Gets or sets the total thickness of the coverage layer at the exit point. + /// [m] + /// + public double ThicknessCoverageLayer { get; set; } + + /// + /// Gets or sets the calculation value used to account for uncertainty in the model for Sellmeijer. + /// + public double SellmeijerModelFactor { get; set; } + + /// + /// Gets or sets the horizontal distance between entree and exit point. + /// [m] + /// + public double SeepageLength { get; set; } + + /// + /// Gets or sets the sieve size through which 70% fraction of the grains of the top part of the aquifer passes. + /// [m] + /// + public double Diameter70 { get; set; } + + /// + /// Gets or sets the Darcy-speed with which water flows through the aquifer layer. + /// [m/s] + /// + public double DarcyPermeability { get; set; } + + /// + /// Gets or sets the thickness of the aquifer layer. + /// [m] + /// + public double ThicknessAquiferLayer { get; set; } + + /// + /// Gets or sets the x coordinate of the exit point. + /// [m] + /// + public double ExitPointXCoordinate { get; set; } + + /// + /// Gets or sets the surface line. + /// + public RingtoetsPipingSurfaceLine SurfaceLine { get; set; } + + /// + /// Gets or sets , which contains the results of a Piping calculation. + /// + public PipingOutput Output { get; set; } + + public void Attach(IObserver observer) + { + observers.Add(observer); + } + + public void Detach(IObserver observer) + { + observers.Remove(observer); + } + + public void NotifyObservers() + { + foreach (var observer in observers) + { + observer.UpdateObserver(); + } + } + } +} \ No newline at end of file Index: src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanism.cs =================================================================== diff -u --- src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanism.cs (revision 0) +++ src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanism.cs (revision 53a2d662c6893cb7e63dc150aaab6c2b3e9db769) @@ -0,0 +1,59 @@ +using System.Collections; +using System.Collections.Generic; +using System.Linq; + +using DelftTools.Shell.Core; + +namespace Wti.Data +{ + /// + /// Model for performing piping calculations. + /// + public class PipingFailureMechanism : IObservable + { + private readonly IList observers = new List(); + + /// + /// Initializes a new instance of the class. + /// + public PipingFailureMechanism() + { + SurfaceLines = new ObservableList(); + SoilProfiles = Enumerable.Empty(); + PipingData = new PipingData(); + } + + /// + /// Gets the available within the scope of the piping failure mechanism. + /// + public IEnumerable SurfaceLines { get; private set; } + + /// + /// Gets the , which contains input and output of a piping calculation. + /// + public PipingData PipingData { get; private set; } + + /// + /// Gets the available profiles within the scope of the piping failure mechanism. + /// + public IEnumerable SoilProfiles { get; private set; } + + public void Attach(IObserver observer) + { + observers.Add(observer); + } + + public void Detach(IObserver observer) + { + observers.Remove(observer); + } + + public void NotifyObservers() + { + foreach (var observer in observers) + { + observer.UpdateObserver(); + } + } + } +} \ No newline at end of file Index: src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingOutput.cs =================================================================== diff -u --- src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingOutput.cs (revision 0) +++ src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingOutput.cs (revision 53a2d662c6893cb7e63dc150aaab6c2b3e9db769) @@ -0,0 +1,57 @@ +namespace Wti.Data +{ + /// + /// Simple class containing the results of a Piping calculation. + /// + public class PipingOutput + { + /// + /// Creates a new instance of . + /// + /// The calculated z-value for the uplift sub calculation. + /// The factor of safety for the uplift sub calculation. + /// The calculated z-value for the heave sub calculation. + /// The factor of safety for the heave sub calculation. + /// The calculated z-value for the Sellmeijer sub calculation. + /// The factor of safety for the Sellmeijer sub calculation. + public PipingOutput(double upliftZValue, double upliftFactorOfSafety, double heaveZValue, double heaveFactorOfSafety, double sellmeijerZValue, double sellmeijerFactorOfSafety) + { + HeaveFactorOfSafety = heaveFactorOfSafety; + HeaveZValue = heaveZValue; + UpliftFactorOfSafety = upliftFactorOfSafety; + UpliftZValue = upliftZValue; + SellmeijerFactorOfSafety = sellmeijerFactorOfSafety; + SellmeijerZValue = sellmeijerZValue; + } + + /// + /// The calculated z-value for the uplift sub calculation. + /// + public double UpliftZValue { get; private set; } + + /// + /// The factor of safety for the uplift sub calculation. + /// + public double UpliftFactorOfSafety { get; private set; } + + /// + /// The calculated z-value for the heave sub calculation. + /// + public double HeaveZValue { get; private set; } + + /// + /// The factor of safety for the heave sub calculation. + /// + public double HeaveFactorOfSafety { get; private set; } + + /// + /// The calculated z-value for the Sellmeijer sub calculation. + /// + public double SellmeijerZValue { get; private set; } + + /// + /// The factor of safety for the Sellmeijer sub calculation. + /// + public double SellmeijerFactorOfSafety { get; private set; } + } +} \ No newline at end of file Index: src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingSoilLayer.cs =================================================================== diff -u --- src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingSoilLayer.cs (revision 0) +++ src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingSoilLayer.cs (revision 53a2d662c6893cb7e63dc150aaab6c2b3e9db769) @@ -0,0 +1,14 @@ +using System.Collections.Generic; + +namespace Wti.Data +{ + public class PipingSoilLayer + { + public PipingSoilLayer(double top) + { + Top = top; + } + + public double Top { get; private set; } + } +} \ No newline at end of file Index: src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingSoilProfile.cs =================================================================== diff -u --- src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingSoilProfile.cs (revision 0) +++ src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingSoilProfile.cs (revision 53a2d662c6893cb7e63dc150aaab6c2b3e9db769) @@ -0,0 +1,59 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using Wti.Data.Properties; + +namespace Wti.Data +{ + /// + /// This class represents a soil profile, which was imported for use in a piping calculation. + /// + public class PipingSoilProfile + { + private IEnumerable layers; + + /// + /// Creates a new instance of , with the given , and . + /// A new collection is created for and used in the . + /// + /// The name of the profile. + /// The bottom level of the profile. + /// The collection of layers that should be part of the profile. + public PipingSoilProfile(string name, double bottom, IEnumerable layers) + { + if (layers == null || layers.Count() == 0) + { + throw new ArgumentException(String.Format(Resources.Error_CannotConstructPipingSoilProfileWithoutLayers, name)); + } + Name = name; + Bottom = bottom; + Layers = layers; + } + + /// + /// Gets the bottom level of the . + /// + public double Bottom { get; private set; } + + /// + /// Gets the name of . + /// + public string Name { get; private set; } + + /// + /// Gets a of the for the . + /// + public IEnumerable Layers + { + get + { + return layers; + } + private set + { + layers = value.ToArray(); + } + } + } +} \ No newline at end of file Index: src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Data/Point3D.cs =================================================================== diff -u --- src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Data/Point3D.cs (revision 0) +++ src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Data/Point3D.cs (revision 53a2d662c6893cb7e63dc150aaab6c2b3e9db769) @@ -0,0 +1,68 @@ +using System; + +namespace Wti.Data +{ + /// + /// Defines a mathematical point in 3D Euclidean space. + /// + public class Point3D + { + /// + /// Gets or sets the x coordinate. + /// + public double X { get; set; } + + /// + /// Gets or sets the y coordinate. + /// + public double Y { get; set; } + + /// + /// Gets or sets the z coordinate. + /// + public double Z { get; set; } + + public override bool Equals(object obj) + { + if (ReferenceEquals(null, obj)) + { + return false; + } + if (ReferenceEquals(this, obj)) + { + return true; + } + if (obj.GetType() != GetType()) + { + return false; + } + return Equals((Point3D) obj); + } + + public override int GetHashCode() + { + unchecked + { + var hashCode = X.GetHashCode(); + hashCode = (hashCode*397) ^ Y.GetHashCode(); + hashCode = (hashCode*397) ^ Z.GetHashCode(); + return hashCode; + } + } + + public override string ToString() + { + return String.Format("({0}, {1}, {2})", X, Y, Z); + } + + /// + /// Compares the with based on , and . + /// + /// A to compare with. + /// True if the coordinates of the matches the coordinate of . False otherwise. + protected bool Equals(Point3D other) + { + return X.Equals(other.X) && Y.Equals(other.Y) && Z.Equals(other.Z); + } + } +} \ No newline at end of file Index: src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Data/Properties/AssemblyInfo.cs =================================================================== diff -u --- src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Data/Properties/AssemblyInfo.cs (revision 0) +++ src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Data/Properties/AssemblyInfo.cs (revision 53a2d662c6893cb7e63dc150aaab6c2b3e9db769) @@ -0,0 +1,6 @@ +using System.Reflection; +using System.Runtime.InteropServices; + +[assembly: AssemblyTitle("Wti.Data")] +[assembly: AssemblyProduct("Wti.Data")] +[assembly: Guid("5ff8830f-c542-40f3-9f0f-64002f39b9ef")] \ No newline at end of file Index: src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Data/Properties/Resources.Designer.cs =================================================================== diff -u --- src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Data/Properties/Resources.Designer.cs (revision 0) +++ src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Data/Properties/Resources.Designer.cs (revision 53a2d662c6893cb7e63dc150aaab6c2b3e9db769) @@ -0,0 +1,72 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.34209 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Wti.Data.Properties { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Wti.Data.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized string similar to Geen lagen gevonden voor het profiel '{0}'.. + /// + internal static string Error_CannotConstructPipingSoilProfileWithoutLayers { + get { + return ResourceManager.GetString("Error_CannotConstructPipingSoilProfileWithoutLayers", resourceCulture); + } + } + } +} Index: src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Data/Properties/Resources.resx =================================================================== diff -u --- src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Data/Properties/Resources.resx (revision 0) +++ src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Data/Properties/Resources.resx (revision 53a2d662c6893cb7e63dc150aaab6c2b3e9db769) @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Geen lagen gevonden voor het profiel '{0}'. + + \ No newline at end of file Index: src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Data/RingtoetsPipingSurfaceLine.cs =================================================================== diff -u --- src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Data/RingtoetsPipingSurfaceLine.cs (revision 0) +++ src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Data/RingtoetsPipingSurfaceLine.cs (revision 53a2d662c6893cb7e63dc150aaab6c2b3e9db769) @@ -0,0 +1,61 @@ +using System.Collections.Generic; +using System.Linq; + +namespace Wti.Data +{ + /// + /// Definition of a surfaceline for piping. + /// + public class RingtoetsPipingSurfaceLine + { + /// + /// Initializes a new instance of the class. + /// + public RingtoetsPipingSurfaceLine() + { + Name = string.Empty; + Points = Enumerable.Empty(); + } + + /// + /// Gets or sets the name of the surfaceline. + /// + public string Name { get; set; } + + /// + /// Gets or sets the 3D points describing its geometry. + /// + public IEnumerable Points { get; private set; } + + /// + /// Gets or sets the first 3D geometry point defining the surfaceline in world coordinates. + /// + public Point3D StartingWorldPoint { get; private set; } + + /// + /// Gets or sets the last 3D geometry point defining the surfaceline in world coordinates. + /// + public Point3D EndingWorldPoint { get; private set; } + + /// + /// Sets the geometry of the surfaceline. + /// + /// The collection of points defining the surfaceline geometry. + public void SetGeometry(IEnumerable points) + { + var point3Ds = points.ToArray(); + Points = point3Ds; + + if (point3Ds.Length > 0) + { + StartingWorldPoint = point3Ds[0]; + EndingWorldPoint = point3Ds[point3Ds.Length - 1]; + } + } + + public override string ToString() + { + return Name; + } + } +} \ No newline at end of file Index: src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Data/Wti.Data.csproj =================================================================== diff -u --- src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Data/Wti.Data.csproj (revision 0) +++ src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Data/Wti.Data.csproj (revision 53a2d662c6893cb7e63dc150aaab6c2b3e9db769) @@ -0,0 +1,95 @@ + + + + + Debug + AnyCPU + {CE994CC9-6F6A-48AC-B4BE-02C30A21F4DB} + Library + Properties + Wti.Data + Wti.Data + v4.0 + 512 + + + true + bin\Debug\ + 4 + DEBUG;TRACE + full + x86 + false + prompt + MinimumRecommendedRules.ruleset + bin\Debug\Wti.Data.XML + + + bin\Release\ + 4 + TRACE + true + pdbonly + x86 + prompt + MinimumRecommendedRules.ruleset + bin\Release\Wti.Data.XML + + + + + + + + Properties\GlobalAssembly.cs + + + + + + + + + + + True + True + Resources.resx + + + + + + {82b61d20-fd4b-49be-9252-5bf6e3ee4666} + DelftTools.Shell.Core + + + {f49bd8b2-332a-4c91-a196-8cce0a2c7d98} + DelftTools.Utils + + + {c90b77da-e421-43cc-b82e-529651bc21ac} + Wti.Base + False + + + + + ResXFileCodeGenerator + Resources.Designer.cs + + + + + + + + + + \ No newline at end of file Index: src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Data/WtiProject.cs =================================================================== diff -u --- src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Data/WtiProject.cs (revision 0) +++ src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Data/WtiProject.cs (revision 53a2d662c6893cb7e63dc150aaab6c2b3e9db769) @@ -0,0 +1,79 @@ +using System.Collections.Generic; +using DelftTools.Shell.Core; +using DelftTools.Utils; + +namespace Wti.Data +{ + /// + /// Container for all the data that has been imported and calculated by the user when performing an assessment. + /// + public class WtiProject : INameable, IObservable + { + private readonly IList observers = new List(); + + /// + /// Creates a new instance of with a default name set. + /// + public WtiProject() + { + Name = "WTI project"; + } + + /// + /// Gets or sets the . + /// + public PipingFailureMechanism PipingFailureMechanism { get; private set; } + + /// + /// The name of the . + /// + public string Name { get; set; } + + /// + /// Removes the assigned to the . + /// + public void ClearPipingFailureMechanism() + { + PipingFailureMechanism = null; + } + + /// + /// Creates a new and assign it to the . + /// + public void InitializePipingFailureMechanism() + { + PipingFailureMechanism = new PipingFailureMechanism(); + } + + /// + /// Determines whether a new can be added to the . + /// + /// True if a new can be assigned. False otherwise. + public bool CanAddPipingFailureMechanism() + { + return PipingFailureMechanism == null; + } + + #region IObservable + + public void Attach(IObserver observer) + { + observers.Add(observer); + } + + public void Detach(IObserver observer) + { + observers.Remove(observer); + } + + public void NotifyObservers() + { + foreach (var observer in observers) + { + observer.UpdateObserver(); + } + } + + #endregion + } +} \ No newline at end of file Index: src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Plugin/Ringtoets.Piping.Plugin.csproj =================================================================== diff -u -rbf4322caa6a74c61bf905b8156f6110aa07f9afc -r53a2d662c6893cb7e63dc150aaab6c2b3e9db769 --- src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Plugin/Ringtoets.Piping.Plugin.csproj (.../Ringtoets.Piping.Plugin.csproj) (revision bf4322caa6a74c61bf905b8156f6110aa07f9afc) +++ src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Plugin/Ringtoets.Piping.Plugin.csproj (.../Ringtoets.Piping.Plugin.csproj) (revision 53a2d662c6893cb7e63dc150aaab6c2b3e9db769) @@ -103,15 +103,15 @@ Wti.Base False - + {d64e4f0e-e341-496f-82b2-941ad202b4e3} Wti.Calculation {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5} Ringtoets.Piping.Service - + {ce994cc9-6f6a-48ac-b4be-02c30a21f4db} Wti.Data Index: src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Service/Ringtoets.Piping.Service.csproj =================================================================== diff -u -r0cc887bb46e8cd47745f5743311902faa4c6bc87 -r53a2d662c6893cb7e63dc150aaab6c2b3e9db769 --- src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Service/Ringtoets.Piping.Service.csproj (.../Ringtoets.Piping.Service.csproj) (revision 0cc887bb46e8cd47745f5743311902faa4c6bc87) +++ src/Plugins/Ringtoets/Piping/src/Ringtoets.Piping.Service/Ringtoets.Piping.Service.csproj (.../Ringtoets.Piping.Service.csproj) (revision 53a2d662c6893cb7e63dc150aaab6c2b3e9db769) @@ -82,7 +82,7 @@ Wti.Base False - + {CE994CC9-6F6A-48AC-B4BE-02C30A21F4DB} Wti.Data Index: src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Calculation.Test/Wti.Calculation.Test.csproj =================================================================== diff -u -r0cc887bb46e8cd47745f5743311902faa4c6bc87 -r53a2d662c6893cb7e63dc150aaab6c2b3e9db769 --- src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Calculation.Test/Wti.Calculation.Test.csproj (.../Wti.Calculation.Test.csproj) (revision 0cc887bb46e8cd47745f5743311902faa4c6bc87) +++ src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Calculation.Test/Wti.Calculation.Test.csproj (.../Wti.Calculation.Test.csproj) (revision 53a2d662c6893cb7e63dc150aaab6c2b3e9db769) @@ -52,7 +52,7 @@ - + {ce994cc9-6f6a-48ac-b4be-02c30a21f4db} Wti.Data Index: src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Calculation.TestUtil/Wti.Calculation.TestUtil.csproj =================================================================== diff -u -r0cc887bb46e8cd47745f5743311902faa4c6bc87 -r53a2d662c6893cb7e63dc150aaab6c2b3e9db769 --- src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Calculation.TestUtil/Wti.Calculation.TestUtil.csproj (.../Wti.Calculation.TestUtil.csproj) (revision 0cc887bb46e8cd47745f5743311902faa4c6bc87) +++ src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Calculation.TestUtil/Wti.Calculation.TestUtil.csproj (.../Wti.Calculation.TestUtil.csproj) (revision 53a2d662c6893cb7e63dc150aaab6c2b3e9db769) @@ -47,7 +47,7 @@ - + {ce994cc9-6f6a-48ac-b4be-02c30a21f4db} Wti.Data Index: src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingDataTest.cs =================================================================== diff -u --- src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingDataTest.cs (revision 0) +++ src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingDataTest.cs (revision 53a2d662c6893cb7e63dc150aaab6c2b3e9db769) @@ -0,0 +1,140 @@ +using DelftTools.Shell.Core; +using NUnit.Framework; +using Rhino.Mocks; + +namespace Wti.Data.Test +{ + public class PipingDataTest + { + private MockRepository mockRepository; + + [SetUp] + public void SetUp() + { + mockRepository = new MockRepository(); + } + + [Test] + public void DefaultConstructor_DefaultPropertyValuesAreSet() + { + // Call + var defaultConstructed = new PipingData(); + + // Assert + Assert.AreEqual(0, defaultConstructed.CriticalHeaveGradient); + Assert.AreEqual(0, defaultConstructed.UpliftModelFactor); + Assert.AreEqual(0, defaultConstructed.PiezometricHeadExit); + Assert.AreEqual(0, defaultConstructed.PiezometricHeadPolder); + Assert.AreEqual(0, defaultConstructed.ThicknessCoverageLayer); + Assert.AreEqual(0, defaultConstructed.PhreaticLevelExit); + Assert.AreEqual(0, defaultConstructed.AssessmentLevel); + Assert.AreEqual(0, defaultConstructed.SellmeijerModelFactor); + Assert.AreEqual(0, defaultConstructed.SeepageLength); + Assert.AreEqual(0, defaultConstructed.Diameter70); + Assert.AreEqual(0, defaultConstructed.ThicknessAquiferLayer); + Assert.AreEqual(0, defaultConstructed.DarcyPermeability); + Assert.IsNull(defaultConstructed.SurfaceLine); + + Assert.AreEqual(1.0, defaultConstructed.DampingFactorExit); + Assert.AreEqual(0.3, defaultConstructed.SellmeijerReductionFactor); + Assert.AreEqual(16.5, defaultConstructed.SandParticlesVolumicWeight); + Assert.AreEqual(9.81, defaultConstructed.Gravity); + Assert.AreEqual(1.33e-6, defaultConstructed.WaterKinematicViscosity); + Assert.AreEqual(9.81, defaultConstructed.WaterVolumetricWeight); + Assert.AreEqual(0.25, defaultConstructed.WhitesDragCoefficient); + Assert.AreEqual(37, defaultConstructed.BeddingAngle); + Assert.AreEqual(2.08e-4, defaultConstructed.MeanDiameter70); + + Assert.IsNull(defaultConstructed.Output); + } + + [Test] + public void Notify_SingleListenerAttached_ListenerIsNotified() + { + // Setup + var observer = mockRepository.StrictMock(); + observer.Expect(o => o.UpdateObserver()); + + mockRepository.ReplayAll(); + + var pipingData = new PipingData(); + + pipingData.Attach(observer); + + // Call & Assert + pipingData.NotifyObservers(); + } + + [Test] + public void Notify_SingleListenerAttachedAndDeattached_ListenerIsNotNotified() + { + // Setup + var observer = mockRepository.StrictMock(); + observer.Expect(o => o.UpdateObserver()).Repeat.Never(); + mockRepository.ReplayAll(); + + var pipingData = new PipingData(); + + pipingData.Attach(observer); + pipingData.Detach(observer); + + // Call & Assert + pipingData.NotifyObservers(); + } + + [Test] + public void Notify_TwoListenersAttached_BothAreNotified() + { + // Setup + var observerA = mockRepository.StrictMock(); + observerA.Expect(o => o.UpdateObserver()); + + var observerB = mockRepository.StrictMock(); + observerB.Expect(o => o.UpdateObserver()); + + mockRepository.ReplayAll(); + + var pipingData = new PipingData(); + + pipingData.Attach(observerA); + pipingData.Attach(observerB); + + // Call & Assert + pipingData.NotifyObservers(); + } + + [Test] + public void Notify_TwoListenersAttachedOneDetached_InvokedOnce() + { + // Setup + var observerA = mockRepository.StrictMock(); + observerA.Expect(o => o.UpdateObserver()).Repeat.Never(); + + var observerB = mockRepository.StrictMock(); + observerB.Expect(o => o.UpdateObserver()); + + mockRepository.ReplayAll(); + + var pipingData = new PipingData(); + + pipingData.Attach(observerA); + pipingData.Attach(observerB); + pipingData.Detach(observerA); + + // Call & Assert + pipingData.NotifyObservers(); + } + + [Test] + public void Detach_DetachNonAttachedObserver_ThrowsNoException() + { + // Setup + var observer = mockRepository.StrictMock(); + + var pipingData = new PipingData(); + + // Call & Assert + pipingData.Detach(observer); + } + } +} \ No newline at end of file Index: src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingFailureMechanismTest.cs =================================================================== diff -u --- src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingFailureMechanismTest.cs (revision 0) +++ src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingFailureMechanismTest.cs (revision 53a2d662c6893cb7e63dc150aaab6c2b3e9db769) @@ -0,0 +1,124 @@ +using DelftTools.Shell.Core; +using NUnit.Framework; +using Rhino.Mocks; + +namespace Wti.Data.Test +{ + [TestFixture] + public class PipingFailureMechanismTest + { + private MockRepository mockRepository; + + [SetUp] + public void SetUp() + { + mockRepository = new MockRepository(); + } + + [Test] + public void DefaultConstructor_ExpectedValues() + { + // call + var piping = new PipingFailureMechanism(); + + // assert + CollectionAssert.IsEmpty(piping.SurfaceLines); + Assert.IsInstanceOf>(piping.SurfaceLines); + CollectionAssert.IsEmpty(piping.SoilProfiles); + Assert.IsNotNull(piping.PipingData); + } + + [Test] + public void Notify_SingleListenerAttached_ListenerIsNotified() + { + // Setup + var observer = mockRepository.StrictMock(); + observer.Expect(o => o.UpdateObserver()); + + mockRepository.ReplayAll(); + + var pipingFailureMechanism = new PipingFailureMechanism(); + + pipingFailureMechanism.Attach(observer); + + // Call & Assert + pipingFailureMechanism.NotifyObservers(); + mockRepository.VerifyAll(); + } + + [Test] + public void Notify_SingleListenerAttachedAndDeattached_ListenerIsNotNotified() + { + // Setup + var observer = mockRepository.StrictMock(); + observer.Expect(o => o.UpdateObserver()).Repeat.Never(); + mockRepository.ReplayAll(); + + var pipingFailureMechanism = new PipingFailureMechanism(); + + pipingFailureMechanism.Attach(observer); + pipingFailureMechanism.Detach(observer); + + // Call & Assert + pipingFailureMechanism.NotifyObservers(); + mockRepository.VerifyAll(); + } + + [Test] + public void Notify_TwoListenersAttached_BothAreNotified() + { + // Setup + var observerA = mockRepository.StrictMock(); + observerA.Expect(o => o.UpdateObserver()); + + var observerB = mockRepository.StrictMock(); + observerB.Expect(o => o.UpdateObserver()); + + mockRepository.ReplayAll(); + + var pipingFailureMechanism = new PipingFailureMechanism(); + + pipingFailureMechanism.Attach(observerA); + pipingFailureMechanism.Attach(observerB); + + // Call & Assert + pipingFailureMechanism.NotifyObservers(); + mockRepository.VerifyAll(); + } + + [Test] + public void Notify_TwoListenersAttachedOneDetached_InvokedOnce() + { + // Setup + var observerA = mockRepository.StrictMock(); + observerA.Expect(o => o.UpdateObserver()).Repeat.Never(); + + var observerB = mockRepository.StrictMock(); + observerB.Expect(o => o.UpdateObserver()); + + mockRepository.ReplayAll(); + + var pipingFailureMechanism = new PipingFailureMechanism(); + + pipingFailureMechanism.Attach(observerA); + pipingFailureMechanism.Attach(observerB); + pipingFailureMechanism.Detach(observerA); + + // Call & Assert + pipingFailureMechanism.NotifyObservers(); + mockRepository.VerifyAll(); + } + + [Test] + public void Detach_DetachNonAttachedObserver_ThrowsNoException() + { + // Setup + var observer = mockRepository.StrictMock(); + + var pipingFailureMechanism = new PipingFailureMechanism(); + + // Call & Assert + pipingFailureMechanism.Detach(observer); + } + } +} \ No newline at end of file Index: src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingOutputTest.cs =================================================================== diff -u --- src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingOutputTest.cs (revision 0) +++ src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingOutputTest.cs (revision 53a2d662c6893cb7e63dc150aaab6c2b3e9db769) @@ -0,0 +1,29 @@ +using System; +using NUnit.Framework; + +namespace Wti.Data.Test +{ + public class PipingOutputTest + { + [Test] + public void GivenSomeValues_WhenConstructedWithValues_ThenPropertiesAreSet() + { + var random = new Random(22); + var zuValue = random.NextDouble(); + var foSuValue = random.NextDouble(); + var zhValue = random.NextDouble(); + var foShValue = random.NextDouble(); + var zsValue = random.NextDouble(); + var foSsValue = random.NextDouble(); + + var actual = new PipingOutput(zuValue, foSuValue, zhValue, foShValue, zsValue, foSsValue); + + Assert.That(actual.UpliftZValue, Is.EqualTo(zuValue)); + Assert.That(actual.UpliftFactorOfSafety, Is.EqualTo(foSuValue)); + Assert.That(actual.HeaveZValue, Is.EqualTo(zhValue)); + Assert.That(actual.HeaveFactorOfSafety, Is.EqualTo(foShValue)); + Assert.That(actual.SellmeijerZValue, Is.EqualTo(zsValue)); + Assert.That(actual.SellmeijerFactorOfSafety, Is.EqualTo(foSsValue)); + } + } +} \ No newline at end of file Index: src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingSoilLayerTest.cs =================================================================== diff -u --- src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingSoilLayerTest.cs (revision 0) +++ src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingSoilLayerTest.cs (revision 53a2d662c6893cb7e63dc150aaab6c2b3e9db769) @@ -0,0 +1,22 @@ +using System; +using NUnit.Framework; + +namespace Wti.Data.Test +{ + public class PipingSoilLayerTest + { + [Test] + public void Constructor_WithTop_ReturnsNewInstanceWithTopSet() + { + // Setup + var top = new Random(22).NextDouble(); + + // Call + var layer = new PipingSoilLayer(top); + + // Assert + Assert.NotNull(layer); + Assert.AreEqual(top, layer.Top); + } + } +} \ No newline at end of file Index: src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingSoilProfileTest.cs =================================================================== diff -u --- src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingSoilProfileTest.cs (revision 0) +++ src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingSoilProfileTest.cs (revision 53a2d662c6893cb7e63dc150aaab6c2b3e9db769) @@ -0,0 +1,54 @@ +using System; +using System.Collections.ObjectModel; +using NUnit.Framework; + +namespace Wti.Data.Test +{ + public class PipingSoilProfileTest + { + [Test] + [TestCase(1)] + [TestCase(5)] + public void Constructor_WithNameBottomLayers_ReturnsInstanceWithPropsAndEquivalentLayerCollection(int layerCount) + { + // Setup + var name = "Profile"; + var bottom = new Random(22).NextDouble(); + var equivalentLayers = new Collection(); + for (var i = 0; i < layerCount; i++) + { + equivalentLayers.Add(new PipingSoilLayer(0.0)); + } + + // Call + var profile = new PipingSoilProfile(name, bottom, equivalentLayers); + + // Assert + Assert.AreNotSame(equivalentLayers, profile.Layers); + CollectionAssert.AreEquivalent(equivalentLayers, profile.Layers); + Assert.AreEqual(name, profile.Name); + Assert.AreEqual(bottom, profile.Bottom); + } + + [Test] + public void Constructor_WithNameBottomLayersEmpty_ThrowsArgumentException() + { + // Call + TestDelegate test = () => new PipingSoilProfile(String.Empty, Double.NaN, new Collection()); + + // Assert + Assert.Throws(test); + } + + [Test] + public void Constructor_WithNameBottomLayersNull_ThrowsArgumentException() + { + // Call + TestDelegate test = () => new PipingSoilProfile(String.Empty, Double.NaN, null); + + // Assert + Assert.Throws(test); + } + + } +} \ No newline at end of file Index: src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/Point3DTest.cs =================================================================== diff -u --- src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/Point3DTest.cs (revision 0) +++ src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/Point3DTest.cs (revision 53a2d662c6893cb7e63dc150aaab6c2b3e9db769) @@ -0,0 +1,170 @@ +using System; +using NUnit.Framework; + +namespace Wti.Data.Test +{ + [TestFixture] + public class Point3DTest + { + [Test] + public void DefaultConstructor_ExpectedValues() + { + // Call + var point = new Point3D(); + + // Assert + Assert.AreEqual(0, point.X); + Assert.AreEqual(0, point.Y); + Assert.AreEqual(0, point.Z); + } + + [Test] + public void AutomaticProperties_SetAndGetValuesAgain_ReturnedValueShouldBeSameAsSetValue() + { + // Setup + var point = new Point3D(); + + // Call + point.X = 1.1; + point.Y = 2.2; + point.Z = -1.1; + + // Assert + Assert.AreEqual(1.1, point.X); + Assert.AreEqual(2.2, point.Y); + Assert.AreEqual(-1.1, point.Z); + } + + [Test] + public void Equals_ToItself_ReturnsTrue() + { + // Setup + var point = new Point3D(); + + // Call + var result = point.Equals(point); + + // Assert + Assert.IsTrue(result); + } + + [Test] + [TestCase(0,0,0)] + [TestCase(1,2,3)] + [TestCase(3.5,3.6,3.7)] + public void Equals_OtherWithSameCoordinates_ReturnsTrue(double x, double y, double z) + { + // Setup + var point = new Point3D + { + X = x, + Y = y, + Z = z + }; + var otherPoint = new Point3D + { + X = x, + Y = y, + Z = z + }; + + // Call + var result = point.Equals(otherPoint); + + // Assert + Assert.IsTrue(result); + } + + [Test] + [TestCase(1e-8, 0, 0)] + [TestCase(0, 1e-8, 0)] + [TestCase(0, 0, 1e-8)] + public void Equals_CloseToOtherPoint_ReturnsFalse(double deltaX, double deltaY, double deltaZ) + { + // Setup + var random = new Random(22); + var x = random.NextDouble(); + var y = random.NextDouble(); + var z = random.NextDouble(); + + var point = new Point3D + { + X = x, + Y = y, + Z = z + }; + var otherPoint = new Point3D + { + X = x + deltaX, + Y = y + deltaY, + Z = z + deltaZ + }; + + // Call + var result = point.Equals(otherPoint); + + // Assert + Assert.IsFalse(result); + } + + [Test] + public void GetHashCode_PointsAreEqual_PointsHashesEqual() + { + // Setup + var random = new Random(22); + var x = random.NextDouble(); + var y = random.NextDouble(); + var z = random.NextDouble(); + + var point = new Point3D + { + X = x, + Y = y, + Z = z + }; + var otherPoint = new Point3D + { + X = x, + Y = y, + Z = z + }; + + // Call + var result = point.GetHashCode(); + var otherResult = otherPoint.GetHashCode(); + + // Assert + Assert.AreEqual(result, otherResult); + } + + [Test] + [SetCulture("nl-NL")] + public void ToString_HasCoordinatValues_NL_PrintCoordinateValuesInLocalCulture() + { + DoToString_HasCoordinateValues_PrintCoordinateValuesInLocalCulture(); + } + + [Test] + [SetCulture("en-US")] + public void ToString_HasCoordinatValues_EN_PrintCoordinateValuesInLocalCulture() + { + DoToString_HasCoordinateValues_PrintCoordinateValuesInLocalCulture(); + } + + private static void DoToString_HasCoordinateValues_PrintCoordinateValuesInLocalCulture() + { + // Setup + var point = new Point3D + { + X = 1.1, Y = 2.2, Z = 3.3 + }; + + // Call + var stringRepresentation = point.ToString(); + + // Assert + var expectedText = String.Format("({0}, {1}, {2})", point.X, point.Y, point.Z); + Assert.AreEqual(expectedText, stringRepresentation); + } + } +} \ No newline at end of file Index: src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PointCollectionHelperTest.cs =================================================================== diff -u --- src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PointCollectionHelperTest.cs (revision 0) +++ src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PointCollectionHelperTest.cs (revision 53a2d662c6893cb7e63dc150aaab6c2b3e9db769) @@ -0,0 +1,92 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using NUnit.Framework; +using Wti.Data.TestUtil; + +namespace Wti.Data.Test +{ + public class PointCollectionHelperTest + { + [Test] + public void CreateFromString_OnePoint_ReturnsExpectedPoints() + { + // Call + var result = PointCollectionHelper.CreateFromString(String.Join(Environment.NewLine, + "3", + "..1..", + ".....", + "....." + )).ToArray(); + + // Assert + Assert.AreEqual(1, result.Length); + Assert.AreEqual(2, result[0].X); + Assert.AreEqual(2, result[0].Z); + } + + [Test] + public void CreateFromString_TwoPoint_ReturnsExpectedPoints() + { + // Call + var result = PointCollectionHelper.CreateFromString(String.Join(Environment.NewLine, + "3", + "..1..", + ".....", + "....2" + )).ToArray(); + + // Assert + Assert.AreEqual(2, result.Length); + Assert.AreEqual(2, result[0].X); + Assert.AreEqual(2, result[0].Z); + Assert.AreEqual(4, result[1].X); + Assert.AreEqual(0, result[1].Z); + } + + [Test] + public void CreateFromString_TwoPointReversed_ReturnsExpectedPoints() + { + // Call + var result = PointCollectionHelper.CreateFromString(String.Join(Environment.NewLine, + "3", + "..2..", + ".....", + "....1" + )).ToArray(); + + // Assert + Assert.AreEqual(2, result.Length); + Assert.AreEqual(2, result[1].X); + Assert.AreEqual(2, result[1].Z); + Assert.AreEqual(4, result[0].X); + Assert.AreEqual(0, result[0].Z); + } + + + [Test] + public void CreateFromFile_TwoPointReversed_ReturnsExpectedPoints() + { + // Setup + var text = String.Join(Environment.NewLine, + "3", + "..2..", + ".....", + "....1" + ); + var url = "temp"; + File.WriteAllText(url, text); + + // Call + var result = PointCollectionHelper.CreateFromFile(url).ToArray(); + + // Assert + Assert.AreEqual(2, result.Length); + Assert.AreEqual(2, result[1].X); + Assert.AreEqual(2, result[1].Z); + Assert.AreEqual(4, result[0].X); + Assert.AreEqual(0, result[0].Z); + } + } +} \ No newline at end of file Index: src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/Properties/AssemblyInfo.cs =================================================================== diff -u --- src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/Properties/AssemblyInfo.cs (revision 0) +++ src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/Properties/AssemblyInfo.cs (revision 53a2d662c6893cb7e63dc150aaab6c2b3e9db769) @@ -0,0 +1,39 @@ +using System.Reflection; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. + +[assembly: AssemblyTitle("Wti.Data.Test")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Microsoft")] +[assembly: AssemblyProduct("Wti.Data.Test")] +[assembly: AssemblyCopyright("Copyright © Microsoft 2015")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. + +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM + +[assembly: Guid("505a1b37-9940-42f9-9217-e90824e8f637")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] + +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] \ No newline at end of file Index: src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/RingtoetsPipingSurfaceLineTest.cs =================================================================== diff -u --- src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/RingtoetsPipingSurfaceLineTest.cs (revision 0) +++ src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/RingtoetsPipingSurfaceLineTest.cs (revision 53a2d662c6893cb7e63dc150aaab6c2b3e9db769) @@ -0,0 +1,82 @@ +using System; +using System.Linq; + +using NUnit.Framework; + +namespace Wti.Data.Test +{ + [TestFixture] + public class RingtoetsPipingSurfaceLineTest + { + [Test] + public void DefaultConstructor_ExpectedValues() + { + // Call + var surfaceLine = new RingtoetsPipingSurfaceLine(); + + // Assert + Assert.AreEqual(String.Empty, surfaceLine.Name); + CollectionAssert.IsEmpty(surfaceLine.Points); + Assert.IsNull(surfaceLine.StartingWorldPoint); + Assert.IsNull(surfaceLine.EndingWorldPoint); + } + + [Test] + public void SetGeometry_EmptyCollection_PointsSetEmptyAndNullStartAndEndWorldPoints() + { + // Setup + var surfaceLine = new RingtoetsPipingSurfaceLine(); + + var sourceData = Enumerable.Empty(); + + // Call + surfaceLine.SetGeometry(sourceData); + + // Assert + CollectionAssert.IsEmpty(surfaceLine.Points); + Assert.IsNull(surfaceLine.StartingWorldPoint); + Assert.IsNull(surfaceLine.EndingWorldPoint); + } + + [Test] + public void SetGeometry_CollectionOfOnePoint_InitializeStartAndEndWorldPointsToSameInstanceAndInitializePoints() + { + // Setup + var surfaceLine = new RingtoetsPipingSurfaceLine(); + + var sourceData = new[] + { + new Point3D + { + X = 1.1, Y = 2.2, Z = 3.3 + } + }; + + // Call + surfaceLine.SetGeometry(sourceData); + + // Assert + Assert.AreNotSame(sourceData, surfaceLine.Points); + CollectionAssert.AreEqual(sourceData, surfaceLine.Points); + Assert.AreSame(sourceData[0], surfaceLine.StartingWorldPoint); + Assert.AreSame(sourceData[0], surfaceLine.EndingWorldPoint); + } + + [Test] + public void ToString_ReturnName() + { + // Setup + const string niceName = "Nice name"; + var surfaceLine = new RingtoetsPipingSurfaceLine + { + Name = niceName + }; + + // Call + var text = surfaceLine.ToString(); + + // Assert + Assert.AreEqual(niceName, text); + } + } +} \ No newline at end of file Index: src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/Wti.Data.Test.csproj =================================================================== diff -u --- src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/Wti.Data.Test.csproj (revision 0) +++ src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/Wti.Data.Test.csproj (revision 53a2d662c6893cb7e63dc150aaab6c2b3e9db769) @@ -0,0 +1,83 @@ + + + + + Debug + AnyCPU + {19EB1C52-D90B-40F2-A7AF-364CC5D89F68} + Library + Properties + Wti.Data.Test + Wti.Data.Test + v4.0 + 512 + + + true + bin\Debug\ + 4 + DEBUG;TRACE + full + x86 + prompt + MinimumRecommendedRules.ruleset + + + bin\Release\ + 4 + TRACE + true + pdbonly + x86 + prompt + MinimumRecommendedRules.ruleset + + + + ..\..\..\..\..\..\lib\nunit.framework.dll + + + ..\..\..\..\..\..\lib\Rhino.Mocks.dll + + + + + + + + + + + + + + + + + + + {82b61d20-fd4b-49be-9252-5bf6e3ee4666} + DelftTools.Shell.Core + + + {f49bd8b2-332a-4c91-a196-8cce0a2c7d98} + DelftTools.Utils + + + {ce994cc9-6f6a-48ac-b4be-02c30a21f4db} + Wti.Data + + + {955E574D-67CE-4347-AA6B-7DF8A04ED754} + Wti.Data.TestUtil + + + + + \ No newline at end of file Index: src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/WtiProjectTest.cs =================================================================== diff -u --- src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/WtiProjectTest.cs (revision 0) +++ src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/WtiProjectTest.cs (revision 53a2d662c6893cb7e63dc150aaab6c2b3e9db769) @@ -0,0 +1,154 @@ +using DelftTools.Shell.Core; +using DelftTools.Utils; +using NUnit.Framework; +using Rhino.Mocks; + +namespace Wti.Data.Test +{ + [TestFixture] + public class WtiProjectTest + { + [Test] + public void DefaultConstructor_ExpectedValues() + { + // Call + var project = new WtiProject(); + + // Assert + Assert.IsInstanceOf(project); + Assert.IsInstanceOf(project); + Assert.AreEqual("WTI project", project.Name); + } + + [Test] + public void InitializePipingFailureMechanism_WithoutFailureMechanismSet_SetNewFailureMechanism() + { + // Setup + var project = new WtiProject(); + + // Call + project.InitializePipingFailureMechanism(); + + // Assert + Assert.IsNotNull(project.PipingFailureMechanism); + + } + + [Test] + public void InitializePipingFailureMechanism_WithFailureMechanismSet_SetNewFailureMechanism() + { + // Setup + var project = new WtiProject(); + project.InitializePipingFailureMechanism(); + PipingFailureMechanism notExpectedFailureMechanism = project.PipingFailureMechanism; + + // Precondition + Assert.IsNotNull(notExpectedFailureMechanism); + + // Call + project.InitializePipingFailureMechanism(); + + // Assert + Assert.AreNotSame(notExpectedFailureMechanism, project.PipingFailureMechanism); + } + + [Test] + public void ClearPipingFailureMechanism_WithFailureMechanismSet_FailureMechanismUnassigned() + { + // Setup + var project = new WtiProject(); + project.InitializePipingFailureMechanism(); + PipingFailureMechanism notExpectedFailureMechanism = project.PipingFailureMechanism; + + // Precondition + Assert.IsNotNull(notExpectedFailureMechanism); + + // Call + project.ClearPipingFailureMechanism(); + + // Assert + Assert.IsNull(project.PipingFailureMechanism); + } + + [Test] + public void ClearPipingFailureMechanism_WithoutFailureMechanismSet_PipingFailureMechanismStillUnassigned() + { + // Setup + var project = new WtiProject(); + + // Precondition + Assert.IsNull(project.PipingFailureMechanism); + + // Call + project.ClearPipingFailureMechanism(); + + // Assert + Assert.IsNull(project.PipingFailureMechanism); + } + + [Test] + public void NotifyObservers_ObserverAttachedToProject_ObserverIsNotified() + { + // Setup + var mocks = new MockRepository(); + var observer = mocks.StrictMock(); + observer.Expect(o => o.UpdateObserver()); + mocks.ReplayAll(); + + var project = new WtiProject(); + project.Attach(observer); + + // Call + project.NotifyObservers(); + + // Assert + mocks.VerifyAll(); + } + + [Test] + public void NotifyObservers_ObserverHasBeenDetached_ObserverShouldNotBeNotified() + { + // Setup + var mocks = new MockRepository(); + var observer = mocks.StrictMock(); + mocks.ReplayAll(); + + var project = new WtiProject(); + project.Attach(observer); + project.Detach(observer); + + // Call + project.NotifyObservers(); + + // Assert + mocks.VerifyAll(); // Expect no calls on observer + } + + [Test] + public void CanAddPipingFailureMechanism_NoPipingFailureMechanismAssigned_ReturnsTrue() + { + // Setup + var project = new WtiProject(); + + // Call + var result = project.CanAddPipingFailureMechanism(); + + // Assert + Assert.IsTrue(result); + } + + [Test] + public void CanAddPipingFailureMechanism_PipingFailureMechanismInitialized_ReturnsTrue() + { + // Setup + var project = new WtiProject(); + project.InitializePipingFailureMechanism(); + + // Call + var result = project.CanAddPipingFailureMechanism(); + + // Assert + Assert.IsFalse(result); + } + } +} \ No newline at end of file Index: src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Data.TestUtil/PointCollectionHelper.cs =================================================================== diff -u --- src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Data.TestUtil/PointCollectionHelper.cs (revision 0) +++ src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Data.TestUtil/PointCollectionHelper.cs (revision 53a2d662c6893cb7e63dc150aaab6c2b3e9db769) @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Text.RegularExpressions; + +namespace Wti.Data.TestUtil +{ + public class PointCollectionHelper + { + public static HashSet CreateFromFile(string url) + { + return CreateFromString(File.ReadAllText(url)); + } + + public static HashSet CreateFromString(string s) + { + var points = new SortedDictionary(); + var lines = s.Split(new [] { Environment.NewLine }, StringSplitOptions.None); + var height = int.Parse(lines[0]); + var lineIndex = 1; + for (int z = height - 1; z >= 0; z--, lineIndex++) + { + foreach (var tuple in AllIndexesOfDigit(lines[lineIndex])) + { + points.Add(tuple.Item1,new Point3D + { + X = tuple.Item2, Z = z + }); + } + } + return new HashSet(points.Values); + } + + private static IEnumerable> AllIndexesOfDigit(string word) + { + var guess = @"\d"; + var matches = Regex.Matches(word, guess); + foreach (Match match in matches) + { + var digit = int.Parse(match.Value); + yield return Tuple.Create(digit, match.Index); + } + } + } +} Index: src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Data.TestUtil/Properties/AssemblyInfo.cs =================================================================== diff -u --- src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Data.TestUtil/Properties/AssemblyInfo.cs (revision 0) +++ src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Data.TestUtil/Properties/AssemblyInfo.cs (revision 53a2d662c6893cb7e63dc150aaab6c2b3e9db769) @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Wti.Data.TestUtil")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Microsoft")] +[assembly: AssemblyProduct("Wti.Data.TestUtil")] +[assembly: AssemblyCopyright("Copyright © Microsoft 2015")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("093a0353-57ca-42a8-bedb-a329a633ff43")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] Index: src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Data.TestUtil/Wti.Data.TestUtil.csproj =================================================================== diff -u --- src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Data.TestUtil/Wti.Data.TestUtil.csproj (revision 0) +++ src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Data.TestUtil/Wti.Data.TestUtil.csproj (revision 53a2d662c6893cb7e63dc150aaab6c2b3e9db769) @@ -0,0 +1,60 @@ + + + + + Debug + AnyCPU + {955E574D-67CE-4347-AA6B-7DF8A04ED754} + Library + Properties + Wti.Data.TestUtil + Wti.Data.TestUtil + v4.0 + 512 + + + true + bin\x86\Debug\ + DEBUG;TRACE + full + x86 + prompt + MinimumRecommendedRules.ruleset + + + bin\x86\Release\ + TRACE + true + pdbonly + x86 + prompt + MinimumRecommendedRules.ruleset + + + + + + + + + + + + + + + + + {CE994CC9-6F6A-48AC-B4BE-02C30A21F4DB} + Wti.Data + + + + + \ No newline at end of file Index: src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/Ringtoets.Piping.Plugin.Test.csproj =================================================================== diff -u -rbf4322caa6a74c61bf905b8156f6110aa07f9afc -r53a2d662c6893cb7e63dc150aaab6c2b3e9db769 --- src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/Ringtoets.Piping.Plugin.Test.csproj (.../Ringtoets.Piping.Plugin.Test.csproj) (revision bf4322caa6a74c61bf905b8156f6110aa07f9afc) +++ src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/Ringtoets.Piping.Plugin.Test.csproj (.../Ringtoets.Piping.Plugin.Test.csproj) (revision 53a2d662c6893cb7e63dc150aaab6c2b3e9db769) @@ -74,11 +74,11 @@ {f49bd8b2-332a-4c91-a196-8cce0a2c7d98} DelftTools.Utils - + {d64e4f0e-e341-496f-82b2-941ad202b4e3} Wti.Calculation - + {ce994cc9-6f6a-48ac-b4be-02c30a21f4db} Wti.Data Index: src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/Ringtoets.Piping.Service.Test.csproj =================================================================== diff -u -r0cc887bb46e8cd47745f5743311902faa4c6bc87 -r53a2d662c6893cb7e63dc150aaab6c2b3e9db769 --- src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/Ringtoets.Piping.Service.Test.csproj (.../Ringtoets.Piping.Service.Test.csproj) (revision 0cc887bb46e8cd47745f5743311902faa4c6bc87) +++ src/Plugins/Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/Ringtoets.Piping.Service.Test.csproj (.../Ringtoets.Piping.Service.Test.csproj) (revision 53a2d662c6893cb7e63dc150aaab6c2b3e9db769) @@ -65,15 +65,15 @@ {82b61d20-fd4b-49be-9252-5bf6e3ee4666} DelftTools.Shell.Core - + {D64E4F0E-E341-496F-82B2-941AD202B4E3} Wti.Calculation {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5} Ringtoets.Piping.Service - + {CE994CC9-6F6A-48AC-B4BE-02C30A21F4DB} Wti.Data Fisheye: Tag 53a2d662c6893cb7e63dc150aaab6c2b3e9db769 refers to a dead (removed) revision in file `src/Plugins/Wti/Wti.Data/PipingData.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 53a2d662c6893cb7e63dc150aaab6c2b3e9db769 refers to a dead (removed) revision in file `src/Plugins/Wti/Wti.Data/PipingFailureMechanism.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 53a2d662c6893cb7e63dc150aaab6c2b3e9db769 refers to a dead (removed) revision in file `src/Plugins/Wti/Wti.Data/PipingOutput.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 53a2d662c6893cb7e63dc150aaab6c2b3e9db769 refers to a dead (removed) revision in file `src/Plugins/Wti/Wti.Data/PipingSoilLayer.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 53a2d662c6893cb7e63dc150aaab6c2b3e9db769 refers to a dead (removed) revision in file `src/Plugins/Wti/Wti.Data/PipingSoilProfile.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 53a2d662c6893cb7e63dc150aaab6c2b3e9db769 refers to a dead (removed) revision in file `src/Plugins/Wti/Wti.Data/Point3D.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 53a2d662c6893cb7e63dc150aaab6c2b3e9db769 refers to a dead (removed) revision in file `src/Plugins/Wti/Wti.Data/Properties/AssemblyInfo.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 53a2d662c6893cb7e63dc150aaab6c2b3e9db769 refers to a dead (removed) revision in file `src/Plugins/Wti/Wti.Data/Properties/Resources.Designer.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 53a2d662c6893cb7e63dc150aaab6c2b3e9db769 refers to a dead (removed) revision in file `src/Plugins/Wti/Wti.Data/Properties/Resources.resx'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 53a2d662c6893cb7e63dc150aaab6c2b3e9db769 refers to a dead (removed) revision in file `src/Plugins/Wti/Wti.Data/RingtoetsPipingSurfaceLine.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 53a2d662c6893cb7e63dc150aaab6c2b3e9db769 refers to a dead (removed) revision in file `src/Plugins/Wti/Wti.Data/Wti.Data.csproj'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 53a2d662c6893cb7e63dc150aaab6c2b3e9db769 refers to a dead (removed) revision in file `src/Plugins/Wti/Wti.Data/WtiProject.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: src/Plugins/Wti/Wti.Forms/Wti.Forms.csproj =================================================================== diff -u -rabafde44f0d5eacfbd71a1a8ea8b4c25fed0f799 -r53a2d662c6893cb7e63dc150aaab6c2b3e9db769 --- src/Plugins/Wti/Wti.Forms/Wti.Forms.csproj (.../Wti.Forms.csproj) (revision abafde44f0d5eacfbd71a1a8ea8b4c25fed0f799) +++ src/Plugins/Wti/Wti.Forms/Wti.Forms.csproj (.../Wti.Forms.csproj) (revision 53a2d662c6893cb7e63dc150aaab6c2b3e9db769) @@ -102,15 +102,15 @@ Wti.Base False - + {D64E4F0E-E341-496F-82B2-941AD202B4E3} Wti.Calculation {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5} Ringtoets.Piping.Service - + {ce994cc9-6f6a-48ac-b4be-02c30a21f4db} Wti.Data Index: src/Plugins/Wti/Wti.IO/Wti.IO.csproj =================================================================== diff -u -r2423a70958e7fecfc92afa462c34194cc695a81e -r53a2d662c6893cb7e63dc150aaab6c2b3e9db769 --- src/Plugins/Wti/Wti.IO/Wti.IO.csproj (.../Wti.IO.csproj) (revision 2423a70958e7fecfc92afa462c34194cc695a81e) +++ src/Plugins/Wti/Wti.IO/Wti.IO.csproj (.../Wti.IO.csproj) (revision 53a2d662c6893cb7e63dc150aaab6c2b3e9db769) @@ -77,7 +77,7 @@ Wti.Base False - + {ce994cc9-6f6a-48ac-b4be-02c30a21f4db} Wti.Data Index: src/documentation/UML/UML.csproj =================================================================== diff -u -rbf4322caa6a74c61bf905b8156f6110aa07f9afc -r53a2d662c6893cb7e63dc150aaab6c2b3e9db769 --- src/documentation/UML/UML.csproj (.../UML.csproj) (revision bf4322caa6a74c61bf905b8156f6110aa07f9afc) +++ src/documentation/UML/UML.csproj (.../UML.csproj) (revision 53a2d662c6893cb7e63dc150aaab6c2b3e9db769) @@ -58,15 +58,15 @@ {f49bd8b2-332a-4c91-a196-8cce0a2c7d98} DelftTools.Utils - + {d64e4f0e-e341-496f-82b2-941ad202b4e3} Wti.Calculation {10b8d63d-87e8-46df-aca9-a8cf22ee8fb5} Ringtoets.Piping.Service - + {ce994cc9-6f6a-48ac-b4be-02c30a21f4db} Wti.Data Fisheye: Tag 53a2d662c6893cb7e63dc150aaab6c2b3e9db769 refers to a dead (removed) revision in file `test/Plugins/Wti/Wti.Data.Test/PipingDataTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 53a2d662c6893cb7e63dc150aaab6c2b3e9db769 refers to a dead (removed) revision in file `test/Plugins/Wti/Wti.Data.Test/PipingFailureMechanismTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 53a2d662c6893cb7e63dc150aaab6c2b3e9db769 refers to a dead (removed) revision in file `test/Plugins/Wti/Wti.Data.Test/PipingOutputTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 53a2d662c6893cb7e63dc150aaab6c2b3e9db769 refers to a dead (removed) revision in file `test/Plugins/Wti/Wti.Data.Test/PipingSoilLayerTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 53a2d662c6893cb7e63dc150aaab6c2b3e9db769 refers to a dead (removed) revision in file `test/Plugins/Wti/Wti.Data.Test/PipingSoilProfileTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 53a2d662c6893cb7e63dc150aaab6c2b3e9db769 refers to a dead (removed) revision in file `test/Plugins/Wti/Wti.Data.Test/Point3DTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 53a2d662c6893cb7e63dc150aaab6c2b3e9db769 refers to a dead (removed) revision in file `test/Plugins/Wti/Wti.Data.Test/PointCollectionHelperTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 53a2d662c6893cb7e63dc150aaab6c2b3e9db769 refers to a dead (removed) revision in file `test/Plugins/Wti/Wti.Data.Test/Properties/AssemblyInfo.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 53a2d662c6893cb7e63dc150aaab6c2b3e9db769 refers to a dead (removed) revision in file `test/Plugins/Wti/Wti.Data.Test/RingtoetsPipingSurfaceLineTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 53a2d662c6893cb7e63dc150aaab6c2b3e9db769 refers to a dead (removed) revision in file `test/Plugins/Wti/Wti.Data.Test/Wti.Data.Test.csproj'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 53a2d662c6893cb7e63dc150aaab6c2b3e9db769 refers to a dead (removed) revision in file `test/Plugins/Wti/Wti.Data.Test/WtiProjectTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 53a2d662c6893cb7e63dc150aaab6c2b3e9db769 refers to a dead (removed) revision in file `test/Plugins/Wti/Wti.Data.TestUtil/PointCollectionHelper.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 53a2d662c6893cb7e63dc150aaab6c2b3e9db769 refers to a dead (removed) revision in file `test/Plugins/Wti/Wti.Data.TestUtil/Properties/AssemblyInfo.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 53a2d662c6893cb7e63dc150aaab6c2b3e9db769 refers to a dead (removed) revision in file `test/Plugins/Wti/Wti.Data.TestUtil/Wti.Data.TestUtil.csproj'. Fisheye: No comparison available. Pass `N' to diff? Index: test/Plugins/Wti/Wti.Forms.Test/Wti.Forms.Test.csproj =================================================================== diff -u -r0cc887bb46e8cd47745f5743311902faa4c6bc87 -r53a2d662c6893cb7e63dc150aaab6c2b3e9db769 --- test/Plugins/Wti/Wti.Forms.Test/Wti.Forms.Test.csproj (.../Wti.Forms.Test.csproj) (revision 0cc887bb46e8cd47745f5743311902faa4c6bc87) +++ test/Plugins/Wti/Wti.Forms.Test/Wti.Forms.Test.csproj (.../Wti.Forms.Test.csproj) (revision 53a2d662c6893cb7e63dc150aaab6c2b3e9db769) @@ -85,11 +85,11 @@ {f49bd8b2-332a-4c91-a196-8cce0a2c7d98} DelftTools.Utils - + {d64e4f0e-e341-496f-82b2-941ad202b4e3} Wti.Calculation - + {ce994cc9-6f6a-48ac-b4be-02c30a21f4db} Wti.Data Index: test/Plugins/Wti/Wti.IO.Test/Wti.IO.Test.csproj =================================================================== diff -u -r2423a70958e7fecfc92afa462c34194cc695a81e -r53a2d662c6893cb7e63dc150aaab6c2b3e9db769 --- test/Plugins/Wti/Wti.IO.Test/Wti.IO.Test.csproj (.../Wti.IO.Test.csproj) (revision 2423a70958e7fecfc92afa462c34194cc695a81e) +++ test/Plugins/Wti/Wti.IO.Test/Wti.IO.Test.csproj (.../Wti.IO.Test.csproj) (revision 53a2d662c6893cb7e63dc150aaab6c2b3e9db769) @@ -57,7 +57,7 @@ - + {ce994cc9-6f6a-48ac-b4be-02c30a21f4db} Wti.Data @@ -69,7 +69,7 @@ {EFA25023-CF6A-4FF7-8C42-B24D7F9509E1} DelftTools.TestUtils - + {955E574D-67CE-4347-AA6B-7DF8A04ED754} Wti.Data.TestUtil