Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/Properties/Resources.Designer.cs =================================================================== diff -u -r9d1ffc9bd1a9c392c6b832422649a0ad2f5ff59c -r96e2d588e43f76a8eba5c47805eaaf8560f042d0 --- Ringtoets/Piping/src/Ringtoets.Piping.Data/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 9d1ffc9bd1a9c392c6b832422649a0ad2f5ff59c) +++ Ringtoets/Piping/src/Ringtoets.Piping.Data/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 96e2d588e43f76a8eba5c47805eaaf8560f042d0) @@ -70,6 +70,60 @@ } /// + /// Looks up a localized string similar to Slootbodem dijkzijde. + /// + public static string CharacteristicPoint_BottomDitchDikeSide { + get { + return ResourceManager.GetString("CharacteristicPoint_BottomDitchDikeSide", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Slootbodem polderzijde. + /// + public static string CharacteristicPoint_BottomDitchPolderSide { + get { + return ResourceManager.GetString("CharacteristicPoint_BottomDitchPolderSide", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Teen dijk binnenwaarts. + /// + public static string CharacteristicPoint_DikeToeAtPolder { + get { + return ResourceManager.GetString("CharacteristicPoint_DikeToeAtPolder", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Teen dijk buitenwaarts. + /// + public static string CharacteristicPoint_DikeToeAtRiver { + get { + return ResourceManager.GetString("CharacteristicPoint_DikeToeAtRiver", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Insteek sloot dijkzijde. + /// + public static string CharacteristicPoint_DitchDikeSide { + get { + return ResourceManager.GetString("CharacteristicPoint_DitchDikeSide", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Insteek sloot polderzijde. + /// + public static string CharacteristicPoint_DitchPolderSide { + get { + return ResourceManager.GetString("CharacteristicPoint_DitchPolderSide", resourceCulture); + } + } + + /// /// Looks up a localized string similar to Commentaar. /// public static string Comments_DisplayName { @@ -224,12 +278,12 @@ } /// - /// Looks up a localized string similar to De geometrie bevat geen punt op locatie ({0},{1},{2}) om als karakteristiek punt in te stellen.. + /// Looks up a localized string similar to De geometrie bevat geen punt op locatie ({0},{1},{2}) om als '{3}' in te stellen.. /// - public static string RingtoetsPipingSurfaceLine_SetCharacteristicPointAt_Geometry_does_not_contain_point_at_0_1_2_to_assign_as_characteristic_point { + public static string RingtoetsPipingSurfaceLine_SetCharacteristicPointAt_Geometry_does_not_contain_point_at_0_1_2_to_assign_as_characteristic_point_3_ { get { return ResourceManager.GetString("RingtoetsPipingSurfaceLine_SetCharacteristicPointAt_Geometry_does_not_contain_poi" + - "nt_at_0_1_2_to_assign_as_characteristic_point", resourceCulture); + "nt_at_0_1_2_to_assign_as_characteristic_point_3_", resourceCulture); } } Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/Properties/Resources.resx =================================================================== diff -u -r9d1ffc9bd1a9c392c6b832422649a0ad2f5ff59c -r96e2d588e43f76a8eba5c47805eaaf8560f042d0 --- Ringtoets/Piping/src/Ringtoets.Piping.Data/Properties/Resources.resx (.../Resources.resx) (revision 9d1ffc9bd1a9c392c6b832422649a0ad2f5ff59c) +++ Ringtoets/Piping/src/Ringtoets.Piping.Data/Properties/Resources.resx (.../Resources.resx) (revision 96e2d588e43f76a8eba5c47805eaaf8560f042d0) @@ -180,7 +180,25 @@ Kan geen hoogte bepalen. - - De geometrie bevat geen punt op locatie ({0},{1},{2}) om als karakteristiek punt in te stellen. + + De geometrie bevat geen punt op locatie ({0},{1},{2}) om als '{3}' in te stellen. + + Slootbodem dijkzijde + + + Slootbodem polderzijde + + + Teen dijk binnenwaarts + + + Teen dijk buitenwaarts + + + Insteek sloot dijkzijde + + + Insteek sloot polderzijde + \ No newline at end of file Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/RingtoetsPipingSurfaceLine.cs =================================================================== diff -u -r981012698aa65aef36e42fb07cce85f046ea7eb4 -r96e2d588e43f76a8eba5c47805eaaf8560f042d0 --- Ringtoets/Piping/src/Ringtoets.Piping.Data/RingtoetsPipingSurfaceLine.cs (.../RingtoetsPipingSurfaceLine.cs) (revision 981012698aa65aef36e42fb07cce85f046ea7eb4) +++ Ringtoets/Piping/src/Ringtoets.Piping.Data/RingtoetsPipingSurfaceLine.cs (.../RingtoetsPipingSurfaceLine.cs) (revision 96e2d588e43f76a8eba5c47805eaaf8560f042d0) @@ -134,9 +134,16 @@ /// Thrown when doesn't contain a at /// . /// is null. + /// Thrown when doesn't contain a at + /// . public void SetDitchPolderSideAt(Point3D point) { - DitchPolderSide = GetPointFromGeometry(point); + var geometryPoint = GetPointFromGeometry(point); + if (geometryPoint == null) + { + throw CreatePointNotInGeometryException(point, Resources.CharacteristicPoint_DitchPolderSide); + } + DitchPolderSide = geometryPoint; } /// @@ -146,9 +153,16 @@ /// Thrown when doesn't contain a at /// . /// is null. + /// Thrown when doesn't contain a at + /// . public void SetBottomDitchPolderSideAt(Point3D point) { - BottomDitchPolderSide = GetPointFromGeometry(point); + var geometryPoint = GetPointFromGeometry(point); + if (geometryPoint == null) + { + throw CreatePointNotInGeometryException(point, Resources.CharacteristicPoint_BottomDitchPolderSide); + } + BottomDitchPolderSide = geometryPoint; } /// @@ -158,9 +172,16 @@ /// Thrown when doesn't contain a at /// . /// is null. + /// Thrown when doesn't contain a at + /// . public void SetBottomDitchDikeSideAt(Point3D point) { - BottomDitchDikeSide = GetPointFromGeometry(point); + var geometryPoint = GetPointFromGeometry(point); + if (geometryPoint == null) + { + throw CreatePointNotInGeometryException(point, Resources.CharacteristicPoint_BottomDitchDikeSide); + } + BottomDitchDikeSide = geometryPoint; } /// @@ -170,9 +191,16 @@ /// Thrown when doesn't contain a at /// . /// is null. + /// Thrown when doesn't contain a at + /// . public void SetDitchDikeSideAt(Point3D point) { - DitchDikeSide = GetPointFromGeometry(point); + var geometryPoint = GetPointFromGeometry(point); + if (geometryPoint == null) + { + throw CreatePointNotInGeometryException(point, Resources.CharacteristicPoint_DitchDikeSide); + } + DitchDikeSide = geometryPoint; } /// @@ -182,9 +210,16 @@ /// Thrown when doesn't contain a at /// . /// is null. + /// Thrown when doesn't contain a at + /// . public void SetDikeToeAtRiverAt(Point3D point) { - DikeToeAtRiver = GetPointFromGeometry(point); + var geometryPoint = GetPointFromGeometry(point); + if (geometryPoint == null) + { + throw CreatePointNotInGeometryException(point, Resources.CharacteristicPoint_DikeToeAtRiver); + } + DikeToeAtRiver = geometryPoint; } /// @@ -194,18 +229,23 @@ /// Thrown when doesn't contain a at /// . /// is null. + /// Thrown when doesn't contain a at + /// . public void SetDikeToeAtPolderAt(Point3D point) { - DikeToeAtPolder = GetPointFromGeometry(point); + var geometryPoint = GetPointFromGeometry(point); + if (geometryPoint == null) + { + throw CreatePointNotInGeometryException(point, Resources.CharacteristicPoint_DikeToeAtPolder); + } + DikeToeAtPolder = geometryPoint; } /// /// Finds a point from which is at the same position as . /// /// The location of a point from . /// The from at the same location as . - /// Thrown when doesn't contain a at - /// . /// is null. private Point3D GetPointFromGeometry(Point3D point) { @@ -214,19 +254,16 @@ throw new ArgumentNullException("point", "Cannot find a point in geometry using a null point."); } var pointFromGeometry = Points.FirstOrDefault(p => p.Equals(point)); - if (pointFromGeometry == null) - { - throw CreateCharacteristicPointSetException(point); - } return pointFromGeometry; } - private static ArgumentException CreateCharacteristicPointSetException(Point3D point) + private static ArgumentException CreatePointNotInGeometryException(Point3D point, string characteristicPointDescription) { - var message = string.Format(Resources.RingtoetsPipingSurfaceLine_SetCharacteristicPointAt_Geometry_does_not_contain_point_at_0_1_2_to_assign_as_characteristic_point, - point.X, - point.Y, - point.Z); + var message = string.Format(Resources.RingtoetsPipingSurfaceLine_SetCharacteristicPointAt_Geometry_does_not_contain_point_at_0_1_2_to_assign_as_characteristic_point_3_, + point.X, + point.Y, + point.Z, + characteristicPointDescription); return new ArgumentException(message); } @@ -241,7 +278,6 @@ /// is empty. public double GetZAtL(double l) { - ValidateHasPoints(); Point2D[] pointsInLocalCoordinates = ProjectGeometryToLZ().ToArray(); Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/Properties/Resources.Designer.cs =================================================================== diff -u -r981012698aa65aef36e42fb07cce85f046ea7eb4 -r96e2d588e43f76a8eba5c47805eaaf8560f042d0 --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 981012698aa65aef36e42fb07cce85f046ea7eb4) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 96e2d588e43f76a8eba5c47805eaaf8560f042d0) @@ -125,60 +125,6 @@ } /// - /// Looks up a localized string similar to Slootbodem dijkzijde. - /// - public static string CharacteristicPoint_BottomDitchDikeSide { - get { - return ResourceManager.GetString("CharacteristicPoint_BottomDitchDikeSide", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Slootbodem polderzijde. - /// - public static string CharacteristicPoint_BottomDitchPolderSide { - get { - return ResourceManager.GetString("CharacteristicPoint_BottomDitchPolderSide", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Teen dijk binnenwaarts. - /// - public static string CharacteristicPoint_DikeToeAtPolder { - get { - return ResourceManager.GetString("CharacteristicPoint_DikeToeAtPolder", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Teen dijk buitenwaarts. - /// - public static string CharacteristicPoint_DikeToeAtRiver { - get { - return ResourceManager.GetString("CharacteristicPoint_DikeToeAtRiver", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Insteek sloot dijkzijde. - /// - public static string CharacteristicPoint_DitchDikeSide { - get { - return ResourceManager.GetString("CharacteristicPoint_DitchDikeSide", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Insteek sloot polderzijde. - /// - public static string CharacteristicPoint_DitchPolderSide { - get { - return ResourceManager.GetString("CharacteristicPoint_DitchPolderSide", resourceCulture); - } - } - - /// /// Looks up a localized string similar to &Wis uitvoer.... /// public static string Clear_output { @@ -1377,7 +1323,7 @@ } /// - /// Looks up a localized string similar to De locatie van het begin van de slootbodem wanneer deze van de kant van de dijk wordt benaderd. + /// Looks up a localized string similar to De locatie van het begin van de slootbodem wanneer deze van de kant van de dijk wordt benaderd.. /// public static string RingtoetsPipingSurfaceLine_BottomDitchDikeSide_Description { get { @@ -1404,7 +1350,7 @@ } /// - /// Looks up a localized string similar to De locatie van de teen van de dijk wanneer de dijk van buiten de polder wordt benard.. + /// Looks up a localized string similar to De locatie van de teen van de dijk wanneer de dijk van buiten de polder wordt benaderd.. /// public static string RingtoetsPipingSurfaceLine_DikeToeAtRiver_Description { get { Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/Properties/Resources.resx =================================================================== diff -u -r981012698aa65aef36e42fb07cce85f046ea7eb4 -r96e2d588e43f76a8eba5c47805eaaf8560f042d0 --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/Properties/Resources.resx (.../Resources.resx) (revision 981012698aa65aef36e42fb07cce85f046ea7eb4) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/Properties/Resources.resx (.../Resources.resx) (revision 96e2d588e43f76a8eba5c47805eaaf8560f042d0) @@ -536,41 +536,23 @@ Er zijn geen berekeningen om uit te voeren. - De locatie van het begin van de slootbodem wanneer deze van de kant van de dijk wordt benaderd + De locatie van het begin van de slootbodem wanneer deze van de kant van de dijk wordt benaderd. - - Slootbodem dijkzijde - De locatie van het begin van de slootbodem wanneer deze van binnen de polder wordt benaderd. - - Slootbodem polderzijde - De locatie van het begin van de sloot wanneer deze van de kant van de dijk wordt benaderd. - - Insteek sloot dijkzijde - De locatie van het begin van de sloot wanneer deze van binnen de polder wordt benaderd. - - Insteek sloot polderzijde - - De locatie van de teen van de dijk wanneer de dijk van buiten de polder wordt benard. + De locatie van de teen van de dijk wanneer de dijk van buiten de polder wordt benaderd. - - Teen dijk buitenwaarts - De locatie van de teen van de dijk wanneer de dijk van binnen de polder wordt benaderd. - - Teen dijk binnenwaarts - Karakteristieke punten Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/PropertyClasses/RingtoetsPipingSurfaceLineProperties.cs =================================================================== diff -u -r981012698aa65aef36e42fb07cce85f046ea7eb4 -r96e2d588e43f76a8eba5c47805eaaf8560f042d0 --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/PropertyClasses/RingtoetsPipingSurfaceLineProperties.cs (.../RingtoetsPipingSurfaceLineProperties.cs) (revision 981012698aa65aef36e42fb07cce85f046ea7eb4) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/PropertyClasses/RingtoetsPipingSurfaceLineProperties.cs (.../RingtoetsPipingSurfaceLineProperties.cs) (revision 96e2d588e43f76a8eba5c47805eaaf8560f042d0) @@ -30,6 +30,7 @@ using Ringtoets.Piping.Forms.Properties; using TypeConverter = System.ComponentModel.TypeConverterAttribute; +using PipingDataResources = Ringtoets.Piping.Data.Properties.Resources; namespace Ringtoets.Piping.Forms.PropertyClasses { @@ -51,7 +52,7 @@ } [ResourcesCategory(typeof(Resources), "Categories_Characteristic_points")] - [ResourcesDisplayName(typeof(Resources), "CharacteristicPoint_DikeToeAtRiver")] + [ResourcesDisplayName(typeof(PipingDataResources), "CharacteristicPoint_DikeToeAtRiver")] [ResourcesDescription(typeof(Resources), "RingtoetsPipingSurfaceLine_DikeToeAtRiver_Description")] public Point3D DikeToeAtRiver { @@ -62,7 +63,7 @@ } [ResourcesCategory(typeof(Resources), "Categories_Characteristic_points")] - [ResourcesDisplayName(typeof(Resources), "CharacteristicPoint_DikeToeAtPolder")] + [ResourcesDisplayName(typeof(PipingDataResources), "CharacteristicPoint_DikeToeAtPolder")] [ResourcesDescription(typeof(Resources), "RingtoetsPipingSurfaceLine_DikeToeAtPolder_Description")] public Point3D DikeToeAtPolder { @@ -73,7 +74,7 @@ } [ResourcesCategory(typeof(Resources), "Categories_Characteristic_points")] - [ResourcesDisplayName(typeof(Resources), "CharacteristicPoint_DitchDikeSide")] + [ResourcesDisplayName(typeof(PipingDataResources), "CharacteristicPoint_DitchDikeSide")] [ResourcesDescription(typeof(Resources), "RingtoetsPipingSurfaceLine_DitchDikeSide_Description")] public Point3D DitchDikeSide { @@ -84,7 +85,7 @@ } [ResourcesCategory(typeof(Resources), "Categories_Characteristic_points")] - [ResourcesDisplayName(typeof(Resources), "CharacteristicPoint_BottomDitchDikeSide")] + [ResourcesDisplayName(typeof(PipingDataResources), "CharacteristicPoint_BottomDitchDikeSide")] [ResourcesDescription(typeof(Resources), "RingtoetsPipingSurfaceLine_BottomDitchDikeSide_Description")] public Point3D BottomDitchDikeSide { @@ -95,7 +96,7 @@ } [ResourcesCategory(typeof(Resources), "Categories_Characteristic_points")] - [ResourcesDisplayName(typeof(Resources), "CharacteristicPoint_BottomDitchPolderSide")] + [ResourcesDisplayName(typeof(PipingDataResources), "CharacteristicPoint_BottomDitchPolderSide")] [ResourcesDescription(typeof(Resources), "RingtoetsPipingSurfaceLine_BottomDitchPolderSide_Description")] public Point3D BottomDitchPolderSide { @@ -106,7 +107,7 @@ } [ResourcesCategory(typeof(Resources), "Categories_Characteristic_points")] - [ResourcesDisplayName(typeof(Resources), "CharacteristicPoint_DitchPolderSide")] + [ResourcesDisplayName(typeof(PipingDataResources), "CharacteristicPoint_DitchPolderSide")] [ResourcesDescription(typeof(Resources), "RingtoetsPipingSurfaceLine_DitchPolderSide_Description")] public Point3D DitchPolderSide { Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/SurfaceLines/CharacteristicPointsCsvReader.cs =================================================================== diff -u -r981012698aa65aef36e42fb07cce85f046ea7eb4 -r96e2d588e43f76a8eba5c47805eaaf8560f042d0 --- Ringtoets/Piping/src/Ringtoets.Piping.IO/SurfaceLines/CharacteristicPointsCsvReader.cs (.../CharacteristicPointsCsvReader.cs) (revision 981012698aa65aef36e42fb07cce85f046ea7eb4) +++ Ringtoets/Piping/src/Ringtoets.Piping.IO/SurfaceLines/CharacteristicPointsCsvReader.cs (.../CharacteristicPointsCsvReader.cs) (revision 96e2d588e43f76a8eba5c47805eaaf8560f042d0) @@ -44,7 +44,7 @@ /// public class CharacteristicPointsCsvReader : IDisposable { - public static readonly Point3D UndefinedPoint = new Point3D + private static readonly Point3D undefinedPoint = new Point3D { X = -1, Y = -1, @@ -414,20 +414,27 @@ { try { + Point3D point = null; var xColumnKey = xPrefix + typeKey; if (columnsInFile.ContainsKey(xColumnKey)) { var xColumnIndex = columnsInFile[xColumnKey]; var yColumnIndex = columnsInFile[yPrefix + typeKey]; var zColumnIndex = columnsInFile[zPrefix + typeKey]; - return new Point3D + + point = new Point3D { X = double.Parse(valuesRead[xColumnIndex], CultureInfo.InvariantCulture), Y = double.Parse(valuesRead[yColumnIndex], CultureInfo.InvariantCulture), Z = double.Parse(valuesRead[zColumnIndex], CultureInfo.InvariantCulture) }; + + if(point.Equals(undefinedPoint)) + { + point = null; + } } - return null; + return point; } catch (FormatException e) { Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/PipingSurfaceLinesCsvImporter.cs =================================================================== diff -u -r981012698aa65aef36e42fb07cce85f046ea7eb4 -r96e2d588e43f76a8eba5c47805eaaf8560f042d0 --- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/PipingSurfaceLinesCsvImporter.cs (.../PipingSurfaceLinesCsvImporter.cs) (revision 981012698aa65aef36e42fb07cce85f046ea7eb4) +++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/PipingSurfaceLinesCsvImporter.cs (.../PipingSurfaceLinesCsvImporter.cs) (revision 96e2d588e43f76a8eba5c47805eaaf8560f042d0) @@ -46,16 +46,11 @@ /// public class PipingSurfaceLinesCsvImporter : FileImporterBase { - private readonly ILog log; + private readonly ILog log = LogManager.GetLogger(typeof(PipingSurfaceLinesCsvImporter)); private const string characteristicPointsFileSubExtension = ".krp"; private const string csvFileExtension = ".csv"; - public PipingSurfaceLinesCsvImporter() - { - log = LogManager.GetLogger(GetType()); - } - public override string Name { get @@ -342,66 +337,14 @@ private void SetCharacteristicPointsOnSurfaceLine(RingtoetsPipingSurfaceLine readSurfaceLine, CharacteristicPoints characteristicPointsLocation) { - TrySetCharacteristicPoint( - characteristicPointsLocation.DitchPolderSide, - readSurfaceLine.SetDitchPolderSideAt, - readSurfaceLine.Name, - PipingFormsResources.CharacteristicPoint_DitchPolderSide); - - TrySetCharacteristicPoint( - characteristicPointsLocation.BottomDitchPolderSide, - readSurfaceLine.SetBottomDitchPolderSideAt, - readSurfaceLine.Name, - PipingFormsResources.CharacteristicPoint_BottomDitchPolderSide); - - TrySetCharacteristicPoint( - characteristicPointsLocation.BottomDitchDikeSide, - readSurfaceLine.SetBottomDitchDikeSideAt, - readSurfaceLine.Name, - PipingFormsResources.CharacteristicPoint_BottomDitchDikeSide); - - TrySetCharacteristicPoint( - characteristicPointsLocation.DitchDikeSide, - readSurfaceLine.SetDitchDikeSideAt, - readSurfaceLine.Name, - PipingFormsResources.CharacteristicPoint_DitchDikeSide); - - TrySetCharacteristicPoint( - characteristicPointsLocation.DikeToeAtRiver, - readSurfaceLine.SetDikeToeAtRiverAt, - readSurfaceLine.Name, - PipingFormsResources.CharacteristicPoint_DikeToeAtRiver); - - TrySetCharacteristicPoint( - characteristicPointsLocation.DikeToeAtPolder, - readSurfaceLine.SetDikeToeAtPolderAt, - readSurfaceLine.Name, - PipingFormsResources.CharacteristicPoint_DikeToeAtPolder); + readSurfaceLine.TrySetDitchPolderSide(characteristicPointsLocation.DitchPolderSide); + readSurfaceLine.TrySetBottomDitchPolderSide(characteristicPointsLocation.BottomDitchPolderSide); + readSurfaceLine.TrySetBottomDitchDikeSide(characteristicPointsLocation.BottomDitchDikeSide); + readSurfaceLine.TrySetDitchDikeSide(characteristicPointsLocation.DitchDikeSide); + readSurfaceLine.TrySetDikeToeAtRiver(characteristicPointsLocation.DikeToeAtRiver); + readSurfaceLine.TrySetDikeToeAtPolder(characteristicPointsLocation.DikeToeAtPolder); } - private void TrySetCharacteristicPoint(Point3D point, Action setAction, string surfaceLineName, string characteristicPointType) - { - if (IsDefined(point)) - { - try - { - setAction(point); - } - catch (ArgumentException e) - { - log.ErrorFormat(RingtoetsPluginResources.PipingSurfaceLinesCsvImporter_CharacteristicPoint_0_of_SurfaceLine_1_skipped_cause_2_, - characteristicPointType, - surfaceLineName, - e.Message); - } - } - } - - private bool IsDefined(Point3D point) - { - return point != null && !point.Equals(CharacteristicPointsCsvReader.UndefinedPoint); - } - private void HandleUserCancellingImport() { log.Info(RingtoetsPluginResources.PipingSurfaceLinesCsvImporter_Import_Import_cancelled); Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/RingtoetsPipingSurfaceLineExtensions.cs =================================================================== diff -u --- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/RingtoetsPipingSurfaceLineExtensions.cs (revision 0) +++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/RingtoetsPipingSurfaceLineExtensions.cs (revision 96e2d588e43f76a8eba5c47805eaaf8560f042d0) @@ -0,0 +1,122 @@ +using System; +using Core.Common.Base.Geometry; +using log4net; +using Ringtoets.Piping.Data; +using Ringtoets.Piping.Plugin.Properties; + +namespace Ringtoets.Piping.Plugin.FileImporter +{ + public static class RingtoetsPipingSurfaceLineExtensions + { + private static readonly ILog log = LogManager.GetLogger(typeof(RingtoetsPipingSurfaceLineExtensions)); + + public static bool TrySetDitchPolderSide(this RingtoetsPipingSurfaceLine surfaceLine, Point3D point) + { + if (point != null) + { + try + { + surfaceLine.SetDitchPolderSideAt(point); + return true; + } + catch (ArgumentException e) + { + LogError(surfaceLine, e); + } + } + return false; + } + + public static bool TrySetBottomDitchPolderSide(this RingtoetsPipingSurfaceLine surfaceLine, Point3D point) + { + if (point != null) + { + try + { + surfaceLine.SetBottomDitchPolderSideAt(point); + return true; + } + catch (ArgumentException e) + { + LogError(surfaceLine, e); + } + } + return false; + } + + public static bool TrySetBottomDitchDikeSide(this RingtoetsPipingSurfaceLine surfaceLine, Point3D point) + { + if (point != null) + { + try + { + surfaceLine.SetBottomDitchDikeSideAt(point); + return true; + } + catch (ArgumentException e) + { + LogError(surfaceLine, e); + } + } + return false; + } + + public static bool TrySetDitchDikeSide(this RingtoetsPipingSurfaceLine surfaceLine, Point3D point) + { + if (point != null) + { + try + { + surfaceLine.SetDitchDikeSideAt(point); + return true; + } + catch (ArgumentException e) + { + LogError(surfaceLine, e); + } + } + return false; + } + + public static bool TrySetDikeToeAtRiver(this RingtoetsPipingSurfaceLine surfaceLine, Point3D point) + { + if (point != null) + { + try + { + surfaceLine.SetDikeToeAtRiverAt(point); + return true; + } + catch (ArgumentException e) + { + LogError(surfaceLine, e); + } + } + return false; + } + + public static bool TrySetDikeToeAtPolder(this RingtoetsPipingSurfaceLine surfaceLine, Point3D point) + { + if (point != null) + { + try + { + surfaceLine.SetDikeToeAtPolderAt(point); + return true; + } + catch (ArgumentException e) + { + LogError(surfaceLine, e); + } + } + return false; + } + + private static void LogError(RingtoetsPipingSurfaceLine surfaceLine, ArgumentException e) + { + log.ErrorFormat(Resources.PipingSurfaceLinesCsvImporter_CharacteristicPoint_of_SurfaceLine_0_skipped_cause_1_, + surfaceLine.Name, + e.Message); + } + } +} \ No newline at end of file Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/Properties/Resources.Designer.cs =================================================================== diff -u -r981012698aa65aef36e42fb07cce85f046ea7eb4 -r96e2d588e43f76a8eba5c47805eaaf8560f042d0 --- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 981012698aa65aef36e42fb07cce85f046ea7eb4) +++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 96e2d588e43f76a8eba5c47805eaaf8560f042d0) @@ -176,12 +176,12 @@ } /// - /// Looks up a localized string similar to Karakteristiek punt '{0}' van profielmeting '{1}' is overgeslagen. {2}. + /// Looks up a localized string similar to Karakteristiek punt van profielmeting '{0}' is overgeslagen. {1}. /// - public static string PipingSurfaceLinesCsvImporter_CharacteristicPoint_0_of_SurfaceLine_1_skipped_cause_2_ { + public static string PipingSurfaceLinesCsvImporter_CharacteristicPoint_of_SurfaceLine_0_skipped_cause_1_ { get { - return ResourceManager.GetString("PipingSurfaceLinesCsvImporter_CharacteristicPoint_0_of_SurfaceLine_1_skipped_caus" + - "e_2_", resourceCulture); + return ResourceManager.GetString("PipingSurfaceLinesCsvImporter_CharacteristicPoint_of_SurfaceLine_0_skipped_cause_" + + "1_", resourceCulture); } } Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/Properties/Resources.resx =================================================================== diff -u -r981012698aa65aef36e42fb07cce85f046ea7eb4 -r96e2d588e43f76a8eba5c47805eaaf8560f042d0 --- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/Properties/Resources.resx (.../Resources.resx) (revision 981012698aa65aef36e42fb07cce85f046ea7eb4) +++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/Properties/Resources.resx (.../Resources.resx) (revision 96e2d588e43f76a8eba5c47805eaaf8560f042d0) @@ -173,8 +173,8 @@ Inlezen '{0}' - - Karakteristiek punt '{0}' van profielmeting '{1}' is overgeslagen. {2} + + Karakteristiek punt van profielmeting '{0}' is overgeslagen. {1} Er konden geen karakteristieke punten gevonden worden voor profielmeting '{0}'. Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/Ringtoets.Piping.Plugin.csproj =================================================================== diff -u -rfea3332b5f7a5cea6b41de4a6368c1f1c2bf1282 -r96e2d588e43f76a8eba5c47805eaaf8560f042d0 --- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/Ringtoets.Piping.Plugin.csproj (.../Ringtoets.Piping.Plugin.csproj) (revision fea3332b5f7a5cea6b41de4a6368c1f1c2bf1282) +++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/Ringtoets.Piping.Plugin.csproj (.../Ringtoets.Piping.Plugin.csproj) (revision 96e2d588e43f76a8eba5c47805eaaf8560f042d0) @@ -63,6 +63,7 @@ + Index: Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/RingtoetsPipingSurfaceLineTest.cs =================================================================== diff -u -r06f9145d8180df7fd26eac086a3f431c181e4d64 -r96e2d588e43f76a8eba5c47805eaaf8560f042d0 --- Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/RingtoetsPipingSurfaceLineTest.cs (.../RingtoetsPipingSurfaceLineTest.cs) (revision 06f9145d8180df7fd26eac086a3f431c181e4d64) +++ Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/RingtoetsPipingSurfaceLineTest.cs (.../RingtoetsPipingSurfaceLineTest.cs) (revision 96e2d588e43f76a8eba5c47805eaaf8560f042d0) @@ -337,8 +337,8 @@ TestDelegate test = () => surfaceLine.SetDitchPolderSideAt(testPoint); // Assert - var message = string.Format(Resources.RingtoetsPipingSurfaceLine_SetCharacteristicPointAt_Geometry_does_not_contain_point_at_0_1_2_to_assign_as_characteristic_point, - x,y,z); + var message = string.Format(Resources.RingtoetsPipingSurfaceLine_SetCharacteristicPointAt_Geometry_does_not_contain_point_at_0_1_2_to_assign_as_characteristic_point_3_, + x, y, z, Resources.CharacteristicPoint_DitchPolderSide); TestHelper.AssertThrowsArgumentExceptionAndTestMessage(test, message); } @@ -399,8 +399,8 @@ TestDelegate test = () => surfaceLine.SetBottomDitchPolderSideAt(testPoint); // Assert - var message = string.Format(Resources.RingtoetsPipingSurfaceLine_SetCharacteristicPointAt_Geometry_does_not_contain_point_at_0_1_2_to_assign_as_characteristic_point, - x, y, z); + var message = string.Format(Resources.RingtoetsPipingSurfaceLine_SetCharacteristicPointAt_Geometry_does_not_contain_point_at_0_1_2_to_assign_as_characteristic_point_3_, + x, y, z, Resources.CharacteristicPoint_BottomDitchPolderSide); TestHelper.AssertThrowsArgumentExceptionAndTestMessage(test, message); } @@ -461,8 +461,8 @@ TestDelegate test = () => surfaceLine.SetBottomDitchDikeSideAt(testPoint); // Assert - var message = string.Format(Resources.RingtoetsPipingSurfaceLine_SetCharacteristicPointAt_Geometry_does_not_contain_point_at_0_1_2_to_assign_as_characteristic_point, - x, y, z); + var message = string.Format(Resources.RingtoetsPipingSurfaceLine_SetCharacteristicPointAt_Geometry_does_not_contain_point_at_0_1_2_to_assign_as_characteristic_point_3_, + x, y, z, Resources.CharacteristicPoint_BottomDitchDikeSide); TestHelper.AssertThrowsArgumentExceptionAndTestMessage(test, message); } @@ -523,8 +523,8 @@ TestDelegate test = () => surfaceLine.SetDitchDikeSideAt(testPoint); // Assert - var message = string.Format(Resources.RingtoetsPipingSurfaceLine_SetCharacteristicPointAt_Geometry_does_not_contain_point_at_0_1_2_to_assign_as_characteristic_point, - x, y, z); + var message = string.Format(Resources.RingtoetsPipingSurfaceLine_SetCharacteristicPointAt_Geometry_does_not_contain_point_at_0_1_2_to_assign_as_characteristic_point_3_, + x, y, z, Resources.CharacteristicPoint_DitchDikeSide); TestHelper.AssertThrowsArgumentExceptionAndTestMessage(test, message); } @@ -585,8 +585,8 @@ TestDelegate test = () => surfaceLine.SetDikeToeAtRiverAt(testPoint); // Assert - var message = string.Format(Resources.RingtoetsPipingSurfaceLine_SetCharacteristicPointAt_Geometry_does_not_contain_point_at_0_1_2_to_assign_as_characteristic_point, - x, y, z); + var message = string.Format(Resources.RingtoetsPipingSurfaceLine_SetCharacteristicPointAt_Geometry_does_not_contain_point_at_0_1_2_to_assign_as_characteristic_point_3_, + x, y, z, Resources.CharacteristicPoint_DikeToeAtRiver); TestHelper.AssertThrowsArgumentExceptionAndTestMessage(test, message); } @@ -647,8 +647,8 @@ TestDelegate test = () => surfaceLine.SetDikeToeAtPolderAt(testPoint); // Assert - var message = string.Format(Resources.RingtoetsPipingSurfaceLine_SetCharacteristicPointAt_Geometry_does_not_contain_point_at_0_1_2_to_assign_as_characteristic_point, - x, y, z); + var message = string.Format(Resources.RingtoetsPipingSurfaceLine_SetCharacteristicPointAt_Geometry_does_not_contain_point_at_0_1_2_to_assign_as_characteristic_point_3_, + x, y, z, Resources.CharacteristicPoint_DikeToeAtPolder); TestHelper.AssertThrowsArgumentExceptionAndTestMessage(test, message); } Index: Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/SurfaceLines/CharacteristicPointsCsvReaderTest.cs =================================================================== diff -u -re5e9b60b2f5badab0a2b54a4c8542baf124751ce -r96e2d588e43f76a8eba5c47805eaaf8560f042d0 --- Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/SurfaceLines/CharacteristicPointsCsvReaderTest.cs (.../CharacteristicPointsCsvReaderTest.cs) (revision e5e9b60b2f5badab0a2b54a4c8542baf124751ce) +++ Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/SurfaceLines/CharacteristicPointsCsvReaderTest.cs (.../CharacteristicPointsCsvReaderTest.cs) (revision 96e2d588e43f76a8eba5c47805eaaf8560f042d0) @@ -659,19 +659,9 @@ Z = -0.31 }, location1.DikeToeAtPolder); - Assert.AreEqual(new Point3D - { - X = -1, - Y = -1, - Z = -1 - }, location1.TopShoulderInside); + Assert.IsNull(location1.TopShoulderInside); - Assert.AreEqual(new Point3D - { - X = -1, - Y = -1, - Z = -1 - }, location1.ShoulderInside); + Assert.IsNull(location1.ShoulderInside); Assert.AreEqual(new Point3D { @@ -701,19 +691,9 @@ Z = 2.61 }, location1.DikeTopAtRiver); - Assert.AreEqual(new Point3D - { - X = -1, - Y = -1, - Z = -1 - }, location1.ShoulderOutisde); + Assert.IsNull(location1.ShoulderOutisde); - Assert.AreEqual(new Point3D - { - X = -1, - Y = -1, - Z = -1 - }, location1.TopShoulderOutside); + Assert.IsNull(location1.TopShoulderOutside); Assert.AreEqual(new Point3D { @@ -787,19 +767,9 @@ Z = -0.49 }, location2.DikeToeAtPolder); - Assert.AreEqual(new Point3D - { - X = -1, - Y = -1, - Z = -1 - }, location2.TopShoulderInside); + Assert.IsNull(location2.TopShoulderInside); - Assert.AreEqual(new Point3D - { - X = -1, - Y = -1, - Z = -1 - }, location2.ShoulderInside); + Assert.IsNull(location2.ShoulderInside); Assert.AreEqual(new Point3D { @@ -829,19 +799,9 @@ Z = 3.11 }, location2.DikeTopAtRiver); - Assert.AreEqual(new Point3D - { - X = -1, - Y = -1, - Z = -1 - }, location2.ShoulderOutisde); + Assert.IsNull(location2.ShoulderOutisde); - Assert.AreEqual(new Point3D - { - X = -1, - Y = -1, - Z = -1 - }, location2.TopShoulderOutside); + Assert.IsNull(location2.TopShoulderOutside); Assert.AreEqual(new Point3D { Index: Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/FileImporter/PipingSurfaceLinesCsvImporterTest.cs =================================================================== diff -u -r981012698aa65aef36e42fb07cce85f046ea7eb4 -r96e2d588e43f76a8eba5c47805eaaf8560f042d0 --- Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/FileImporter/PipingSurfaceLinesCsvImporterTest.cs (.../PipingSurfaceLinesCsvImporterTest.cs) (revision 981012698aa65aef36e42fb07cce85f046ea7eb4) +++ Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/FileImporter/PipingSurfaceLinesCsvImporterTest.cs (.../PipingSurfaceLinesCsvImporterTest.cs) (revision 96e2d588e43f76a8eba5c47805eaaf8560f042d0) @@ -1013,13 +1013,16 @@ Action call = () => importResult = importer.Import(observableSurfaceLinesList, surfaceLines); // Assert - var pointFormat = string.Format(PipingDataResources.RingtoetsPipingSurfaceLine_SetCharacteristicPointAt_Geometry_does_not_contain_point_at_0_1_2_to_assign_as_characteristic_point,0,1,2); + var pointFormat = string.Format(PipingDataResources.RingtoetsPipingSurfaceLine_SetCharacteristicPointAt_Geometry_does_not_contain_point_at_0_1_2_to_assign_as_characteristic_point_3_, + 0, + 1, + 2, + characteristicPointName); var expectedLogMessages = new[] { string.Format(ApplicationResources.PipingSurfaceLinesCsvImporter_ReadCharacteristicPoints_Start_reading_characteristic_points_from_file_0_, corruptPath), - string.Format(ApplicationResources.PipingSurfaceLinesCsvImporter_CharacteristicPoint_0_of_SurfaceLine_1_skipped_cause_2_, - characteristicPointName, + string.Format(ApplicationResources.PipingSurfaceLinesCsvImporter_CharacteristicPoint_of_SurfaceLine_0_skipped_cause_1_, "Rotterdam1Invalid", pointFormat) }; Index: Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/FileImporter/RingtoetsPipingSurfaceLineExtensionsTest.cs =================================================================== diff -u --- Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/FileImporter/RingtoetsPipingSurfaceLineExtensionsTest.cs (revision 0) +++ Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/FileImporter/RingtoetsPipingSurfaceLineExtensionsTest.cs (revision 96e2d588e43f76a8eba5c47805eaaf8560f042d0) @@ -0,0 +1,451 @@ +using System; +using Core.Common.Base.Geometry; +using Core.Common.TestUtil; +using NUnit.Framework; +using Ringtoets.Piping.Data; +using Ringtoets.Piping.Plugin.FileImporter; + +namespace Ringtoets.Piping.Plugin.Test.FileImporter +{ + [TestFixture] + public class RingtoetsPipingSurfaceLineExtensionsTest + { + [Test] + public void TrySetDitchPolderSide_Null_ReturnsFalse() + { + // Setup + var surfaceLine = new RingtoetsPipingSurfaceLine(); + + // Call + var result = surfaceLine.TrySetDitchPolderSide(null); + + // Assert + Assert.IsFalse(result); + } + + [Test] + public void TrySetDitchPolderSide_NoPointInGeometry_LogAndReturnFalse() + { + // Setup + var random = new Random(21); + var x = random.NextDouble(); + var y = random.NextDouble(); + var z = random.NextDouble(); + var surfaceLine = new RingtoetsPipingSurfaceLine + { + Name = "testName" + }; + + var result = true; + + // Call + Action test = () => + { + result = surfaceLine.TrySetDitchPolderSide(new Point3D + { + X = x, + Y = y, + Z = z + }); + }; + + // Assert + var message = string.Format("Karakteristiek punt van profielmeting 'testName' is overgeslagen. De geometrie bevat geen punt op locatie ({0},{1},{2}) om als '{3}' in te stellen.", + x, y, z, Data.Properties.Resources.CharacteristicPoint_DitchPolderSide); + TestHelper.AssertLogMessageIsGenerated(test, message, 1); + Assert.IsFalse(result); + } + + [Test] + public void TrySetDitchPolderSide_NoPointInGeometry_PointSetAndReturnFalse() + { + // Setup + var random = new Random(21); + var x = random.NextDouble(); + var y = random.NextDouble(); + var z = random.NextDouble(); + var surfaceLine = new RingtoetsPipingSurfaceLine(); + + var point = new Point3D + { + X = x, + Y = y, + Z = z + }; + + surfaceLine.SetGeometry(new [] { point }); + + // Call + var result = surfaceLine.TrySetDitchPolderSide(point); + + // Assert + Assert.IsTrue(result); + Assert.AreEqual(point, surfaceLine.DitchPolderSide); + } + + [Test] + public void TrySetBottomDitchDikeSide_Null_ReturnsFalse() + { + // Setup + var surfaceLine = new RingtoetsPipingSurfaceLine(); + + // Call + var result = surfaceLine.TrySetBottomDitchDikeSide(null); + + // Assert + Assert.IsFalse(result); + } + + [Test] + public void TrySetBottomDitchDikeSide_NoPointInGeometry_LogAndReturnFalse() + { + // Setup + var random = new Random(21); + var x = random.NextDouble(); + var y = random.NextDouble(); + var z = random.NextDouble(); + var surfaceLine = new RingtoetsPipingSurfaceLine + { + Name = "testName" + }; + + var result = true; + + // Call + Action test = () => + { + result = surfaceLine.TrySetBottomDitchDikeSide(new Point3D + { + X = x, + Y = y, + Z = z + }); + }; + + // Assert + var message = string.Format("Karakteristiek punt van profielmeting 'testName' is overgeslagen. De geometrie bevat geen punt op locatie ({0},{1},{2}) om als '{3}' in te stellen.", + x, y, z, Data.Properties.Resources.CharacteristicPoint_BottomDitchDikeSide); + TestHelper.AssertLogMessageIsGenerated(test, message, 1); + Assert.IsFalse(result); + } + + [Test] + public void TrySetBottomDitchDikeSide_NoPointInGeometry_PointSetAndReturnFalse() + { + // Setup + var random = new Random(21); + var x = random.NextDouble(); + var y = random.NextDouble(); + var z = random.NextDouble(); + var surfaceLine = new RingtoetsPipingSurfaceLine(); + + var point = new Point3D + { + X = x, + Y = y, + Z = z + }; + + surfaceLine.SetGeometry(new[] { point }); + + // Call + var result = surfaceLine.TrySetBottomDitchDikeSide(point); + + // Assert + Assert.IsTrue(result); + Assert.AreEqual(point, surfaceLine.BottomDitchDikeSide); + } + + [Test] + public void TrySetBottomDitchPolderSide_Null_ReturnsFalse() + { + // Setup + var surfaceLine = new RingtoetsPipingSurfaceLine(); + + // Call + var result = surfaceLine.TrySetBottomDitchPolderSide(null); + + // Assert + Assert.IsFalse(result); + } + + [Test] + public void TrySetBottomDitchPolderSide_NoPointInGeometry_LogAndReturnFalse() + { + // Setup + var random = new Random(21); + var x = random.NextDouble(); + var y = random.NextDouble(); + var z = random.NextDouble(); + var surfaceLine = new RingtoetsPipingSurfaceLine + { + Name = "testName" + }; + + var result = true; + + // Call + Action test = () => + { + result = surfaceLine.TrySetBottomDitchPolderSide(new Point3D + { + X = x, + Y = y, + Z = z + }); + }; + + // Assert + var message = string.Format("Karakteristiek punt van profielmeting 'testName' is overgeslagen. De geometrie bevat geen punt op locatie ({0},{1},{2}) om als '{3}' in te stellen.", + x, y, z, Data.Properties.Resources.CharacteristicPoint_BottomDitchPolderSide); + TestHelper.AssertLogMessageIsGenerated(test, message, 1); + Assert.IsFalse(result); + } + + [Test] + public void TrySetBottomDitchPolderSide_NoPointInGeometry_PointSetAndReturnFalse() + { + // Setup + var random = new Random(21); + var x = random.NextDouble(); + var y = random.NextDouble(); + var z = random.NextDouble(); + var surfaceLine = new RingtoetsPipingSurfaceLine(); + + var point = new Point3D + { + X = x, + Y = y, + Z = z + }; + + surfaceLine.SetGeometry(new[] { point }); + + // Call + var result = surfaceLine.TrySetBottomDitchPolderSide(point); + + // Assert + Assert.IsTrue(result); + Assert.AreEqual(point, surfaceLine.BottomDitchPolderSide); + } + + [Test] + public void TrySetDitchDikeSide_Null_ReturnsFalse() + { + // Setup + var surfaceLine = new RingtoetsPipingSurfaceLine(); + + // Call + var result = surfaceLine.TrySetDitchDikeSide(null); + + // Assert + Assert.IsFalse(result); + } + + [Test] + public void TrySetDitchDikeSide_NoPointInGeometry_LogAndReturnFalse() + { + // Setup + var random = new Random(21); + var x = random.NextDouble(); + var y = random.NextDouble(); + var z = random.NextDouble(); + var surfaceLine = new RingtoetsPipingSurfaceLine + { + Name = "testName" + }; + + var result = true; + + // Call + Action test = () => + { + result = surfaceLine.TrySetDitchDikeSide(new Point3D + { + X = x, + Y = y, + Z = z + }); + }; + + // Assert + var message = string.Format("Karakteristiek punt van profielmeting 'testName' is overgeslagen. De geometrie bevat geen punt op locatie ({0},{1},{2}) om als '{3}' in te stellen.", + x, y, z, Data.Properties.Resources.CharacteristicPoint_DitchDikeSide); + TestHelper.AssertLogMessageIsGenerated(test, message, 1); + Assert.IsFalse(result); + } + + [Test] + public void TrySetDitchDikeSide_NoPointInGeometry_PointSetAndReturnFalse() + { + // Setup + var random = new Random(21); + var x = random.NextDouble(); + var y = random.NextDouble(); + var z = random.NextDouble(); + var surfaceLine = new RingtoetsPipingSurfaceLine(); + + var point = new Point3D + { + X = x, + Y = y, + Z = z + }; + + surfaceLine.SetGeometry(new[] { point }); + + // Call + var result = surfaceLine.TrySetDitchDikeSide(point); + + // Assert + Assert.IsTrue(result); + Assert.AreEqual(point, surfaceLine.DitchDikeSide); + } + + [Test] + public void TrySetDikeToeAtPolder_Null_ReturnsFalse() + { + // Setup + var surfaceLine = new RingtoetsPipingSurfaceLine(); + + // Call + var result = surfaceLine.TrySetDikeToeAtPolder(null); + + // Assert + Assert.IsFalse(result); + } + + [Test] + public void TrySetDikeToeAtPolder_NoPointInGeometry_LogAndReturnFalse() + { + // Setup + var random = new Random(21); + var x = random.NextDouble(); + var y = random.NextDouble(); + var z = random.NextDouble(); + var surfaceLine = new RingtoetsPipingSurfaceLine + { + Name = "testName" + }; + + var result = true; + + // Call + Action test = () => + { + result = surfaceLine.TrySetDikeToeAtPolder(new Point3D + { + X = x, + Y = y, + Z = z + }); + }; + + // Assert + var message = string.Format("Karakteristiek punt van profielmeting 'testName' is overgeslagen. De geometrie bevat geen punt op locatie ({0},{1},{2}) om als '{3}' in te stellen.", + x, y, z, Data.Properties.Resources.CharacteristicPoint_DikeToeAtPolder); + TestHelper.AssertLogMessageIsGenerated(test, message, 1); + Assert.IsFalse(result); + } + + [Test] + public void TrySetDikeToeAtPolder_NoPointInGeometry_PointSetAndReturnFalse() + { + // Setup + var random = new Random(21); + var x = random.NextDouble(); + var y = random.NextDouble(); + var z = random.NextDouble(); + var surfaceLine = new RingtoetsPipingSurfaceLine(); + + var point = new Point3D + { + X = x, + Y = y, + Z = z + }; + + surfaceLine.SetGeometry(new[] { point }); + + // Call + var result = surfaceLine.TrySetDikeToeAtPolder(point); + + // Assert + Assert.IsTrue(result); + Assert.AreEqual(point, surfaceLine.DikeToeAtPolder); + } + + [Test] + public void TrySetDikeToeAtRiver_Null_ReturnsFalse() + { + // Setup + var surfaceLine = new RingtoetsPipingSurfaceLine(); + + // Call + var result = surfaceLine.TrySetDikeToeAtRiver(null); + + // Assert + Assert.IsFalse(result); + } + + [Test] + public void TrySetDikeToeAtRiver_NoPointInGeometry_LogAndReturnFalse() + { + // Setup + var random = new Random(21); + var x = random.NextDouble(); + var y = random.NextDouble(); + var z = random.NextDouble(); + var surfaceLine = new RingtoetsPipingSurfaceLine + { + Name = "testName" + }; + + var result = true; + + // Call + Action test = () => + { + result = surfaceLine.TrySetDikeToeAtRiver(new Point3D + { + X = x, + Y = y, + Z = z + }); + }; + + // Assert + var message = string.Format("Karakteristiek punt van profielmeting 'testName' is overgeslagen. De geometrie bevat geen punt op locatie ({0},{1},{2}) om als '{3}' in te stellen.", + x, y, z, Data.Properties.Resources.CharacteristicPoint_DikeToeAtRiver); + TestHelper.AssertLogMessageIsGenerated(test, message, 1); + Assert.IsFalse(result); + } + + [Test] + public void TrySetDikeToeAtRiver_NoPointInGeometry_PointSetAndReturnFalse() + { + // Setup + var random = new Random(21); + var x = random.NextDouble(); + var y = random.NextDouble(); + var z = random.NextDouble(); + var surfaceLine = new RingtoetsPipingSurfaceLine(); + + var point = new Point3D + { + X = x, + Y = y, + Z = z + }; + + surfaceLine.SetGeometry(new[] { point }); + + // Call + var result = surfaceLine.TrySetDikeToeAtRiver(point); + + // Assert + Assert.IsTrue(result); + Assert.AreEqual(point, surfaceLine.DikeToeAtRiver); + } + } +} \ No newline at end of file Index: Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/Ringtoets.Piping.Plugin.Test.csproj =================================================================== diff -u -re315307a730a87022136e7fa7b97a570d37399dc -r96e2d588e43f76a8eba5c47805eaaf8560f042d0 --- Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/Ringtoets.Piping.Plugin.Test.csproj (.../Ringtoets.Piping.Plugin.Test.csproj) (revision e315307a730a87022136e7fa7b97a570d37399dc) +++ Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/Ringtoets.Piping.Plugin.Test.csproj (.../Ringtoets.Piping.Plugin.Test.csproj) (revision 96e2d588e43f76a8eba5c47805eaaf8560f042d0) @@ -65,6 +65,7 @@ +