Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Application.Ringtoets.Storage.csproj =================================================================== diff -u -rdd460a16f3fed1c1fc5abc2842ea57015f6f4a5c -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/src/Application.Ringtoets.Storage/Application.Ringtoets.Storage.csproj (.../Application.Ringtoets.Storage.csproj) (revision dd460a16f3fed1c1fc5abc2842ea57015f6f4a5c) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Application.Ringtoets.Storage.csproj (.../Application.Ringtoets.Storage.csproj) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -59,6 +59,7 @@ + @@ -111,12 +112,10 @@ - - @@ -144,9 +143,6 @@ RingtoetsEntities.tt - - RingtoetsEntities.tt - RingtoetsEntities.tt @@ -207,9 +203,6 @@ RingtoetsEntities.tt - - RingtoetsEntities.tt - RingtoetsEntities.tt @@ -234,9 +227,6 @@ RingtoetsEntities.tt - - RingtoetsEntities.tt - RingtoetsEntities.tt @@ -272,7 +262,6 @@ - @@ -290,10 +279,8 @@ - - Index: Application/Ringtoets/src/Application.Ringtoets.Storage/BinaryConverters/Point3DBinaryConverter.cs =================================================================== diff -u --- Application/Ringtoets/src/Application.Ringtoets.Storage/BinaryConverters/Point3DBinaryConverter.cs (revision 0) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/BinaryConverters/Point3DBinaryConverter.cs (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -0,0 +1,107 @@ +// Copyright (C) Stichting Deltares 2016. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.Serialization.Formatters.Binary; + +using Core.Common.Base.Geometry; + +namespace Application.Ringtoets.Storage.BinaryConverters +{ + /// + /// Converter class that converts between a collection of and a + /// binary representation of that data. + /// + public class Point3DBinaryConverter + { + /// + /// Converts the collection of to binary data. + /// + /// The points. + /// The binary data. + public byte[] ToBytes(IEnumerable points) + { + if (points == null) + { + throw new ArgumentNullException("points"); + } + + using (MemoryStream memoryStream = new MemoryStream()) + { + SerializablePoint3D[] serializableData = GetSerializableData(points); + BinaryFormatter formatter = new BinaryFormatter(); + formatter.Serialize(memoryStream, serializableData); + return memoryStream.ToArray(); + } + } + + /// + /// Converts the binary data to a collection of . + /// + /// The binary data. + /// The collection of . + public Point3D[] ToData(byte[] serializedData) + { + if (serializedData == null) + { + throw new ArgumentNullException("serializedData"); + } + + using (MemoryStream memoryStream = new MemoryStream()) + { + memoryStream.Write(serializedData, 0, serializedData.Length); + memoryStream.Seek(0, SeekOrigin.Begin); + BinaryFormatter formatter = new BinaryFormatter(); + return ((SerializablePoint3D[])formatter.Deserialize(memoryStream)) + .Select(sp => sp.ToPoint3D()) + .ToArray(); + } + } + + private static SerializablePoint3D[] GetSerializableData(IEnumerable points) + { + return points.Select(p => new SerializablePoint3D(p)).ToArray(); + } + + [Serializable] + private class SerializablePoint3D + { + private readonly double x; + private readonly double y; + private readonly double z; + + public SerializablePoint3D(Point3D point3D) + { + x = point3D.X; + y = point3D.Y; + z = point3D.Z; + } + + public Point3D ToPoint3D() + { + return new Point3D(x, y, z); + } + } + } +} \ No newline at end of file Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Create/AssessmentSectionCreateExtensions.cs =================================================================== diff -u -r01ff2c58c13df8f42661ae3e446dc2caaa94247e -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/src/Application.Ringtoets.Storage/Create/AssessmentSectionCreateExtensions.cs (.../AssessmentSectionCreateExtensions.cs) (revision 01ff2c58c13df8f42661ae3e446dc2caaa94247e) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Create/AssessmentSectionCreateExtensions.cs (.../AssessmentSectionCreateExtensions.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -21,6 +21,7 @@ using System; +using Application.Ringtoets.Storage.BinaryConverters; using Application.Ringtoets.Storage.Create.ClosingStructure; using Application.Ringtoets.Storage.Create.DuneErosion; using Application.Ringtoets.Storage.Create.GrassCoverErosionInwards; @@ -102,11 +103,7 @@ { if (section.ReferenceLine != null) { - var i = 0; - foreach (var point2D in section.ReferenceLine.Points) - { - entity.ReferenceLinePointEntities.Add(point2D.CreateReferenceLinePointEntity(i++)); - } + entity.ReferenceLinePointData = new Point2DBinaryConverter().ToBytes(section.ReferenceLine.Points); } } Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Create/FailureMechanismSectionCreateExtensions.cs =================================================================== diff -u -rae6f0c6b534ca650e160ae6d9c0bc90369d25c68 -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/src/Application.Ringtoets.Storage/Create/FailureMechanismSectionCreateExtensions.cs (.../FailureMechanismSectionCreateExtensions.cs) (revision ae6f0c6b534ca650e160ae6d9c0bc90369d25c68) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Create/FailureMechanismSectionCreateExtensions.cs (.../FailureMechanismSectionCreateExtensions.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -20,6 +20,8 @@ // All rights reserved. using System; + +using Application.Ringtoets.Storage.BinaryConverters; using Application.Ringtoets.Storage.DbContext; using Ringtoets.Common.Data.FailureMechanism; @@ -46,22 +48,12 @@ var failureMechanismSectionEntity = new FailureMechanismSectionEntity { Name = section.Name, + FailureMechanismSectionPointData = new Point2DBinaryConverter().ToBytes(section.Points) }; - AddEntitiesForFailureMechanismSectionPoints(section, failureMechanismSectionEntity); - registry.Register(failureMechanismSectionEntity, section); return failureMechanismSectionEntity; } - - private static void AddEntitiesForFailureMechanismSectionPoints(FailureMechanismSection section, FailureMechanismSectionEntity failureMechanismSectionEntity) - { - var i = 0; - foreach (var point2D in section.Points) - { - failureMechanismSectionEntity.FailureMechanismSectionPointEntities.Add(point2D.CreateFailureMechanismSectionPointEntity(i++)); - } - } } } \ No newline at end of file Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Create/PersistenceRegistry.cs =================================================================== diff -u -r34c08dfa1eea11b8a5a879d11087102992b1438c -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/src/Application.Ringtoets.Storage/Create/PersistenceRegistry.cs (.../PersistenceRegistry.cs) (revision 34c08dfa1eea11b8a5a879d11087102992b1438c) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Create/PersistenceRegistry.cs (.../PersistenceRegistry.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -82,7 +82,6 @@ private readonly Dictionary soilProfiles = CreateDictionary(); private readonly Dictionary soilLayers = CreateDictionary(); private readonly Dictionary surfaceLines = CreateDictionary(); - private readonly Dictionary surfaceLinePoints = CreateDictionary(); private readonly Dictionary characteristicPoints = CreateDictionary(); private readonly Dictionary pipingProbabilityAssessmentInputs = CreateDictionary(); private readonly Dictionary probabilisticAssessmentOutputs = CreateDictionary(); @@ -921,36 +920,6 @@ /// Registers a create or update operation for and the /// that was constructed with the information. /// - /// The to be registered. - /// The surfaceline geometry to be registered. - /// Thrown when either: - /// - /// is null - /// is null - /// - internal void Register(SurfaceLinePointEntity entity, Point3D model) - { - Register(surfaceLinePoints, entity, model); - } - - /// - /// Obtains the which was registered for the - /// given . - /// - /// The surfaceline geometry for which - /// a create or update operation has been registered. - /// Thrown when is null. - /// Thrown when no create/update operation - /// has been registered for . - internal SurfaceLinePointEntity GetSurfaceLinePoint(Point3D model) - { - return Get(surfaceLinePoints, model); - } - - /// - /// Registers a create or update operation for and the - /// that was constructed with the information. - /// /// The to be registered. /// The surfaceline geometry corresponding /// to the characteristic point data to be registered. @@ -1165,11 +1134,6 @@ surfaceLines[entity].StorageId = entity.SurfaceLineEntityId; } - foreach (var entity in surfaceLinePoints.Keys) - { - surfaceLinePoints[entity].StorageId = entity.SurfaceLinePointEntityId; - } - foreach (var entity in pipingProbabilityAssessmentInputs.Keys) { pipingProbabilityAssessmentInputs[entity].StorageId = entity.PipingFailureMechanismMetaEntityId; @@ -1181,7 +1145,7 @@ } // CharacteristicPoints do not really have a 'identity' within the object-model. - // As such, no need to copy StorageId. This is already covered by surfaceLinePoints. + // As such, no need to copy StorageId. } /// @@ -1586,17 +1550,6 @@ } dbContext.SurfaceLineEntities.RemoveRange(orphanedSurfaceLineEntities); - var orphanedSurfaceLinePointEntities = new List(); - foreach (SurfaceLinePointEntity surfaceLinePointEntity in dbContext.SurfaceLinePointEntities - .Where(e => e.SurfaceLinePointEntityId > 0)) - { - if (!surfaceLinePoints.ContainsKey(surfaceLinePointEntity)) - { - orphanedSurfaceLinePointEntities.Add(surfaceLinePointEntity); - } - } - dbContext.SurfaceLinePointEntities.RemoveRange(orphanedSurfaceLinePointEntities); - var orphanedCharacteristicPointEntities = new List(); foreach (CharacteristicPointEntity characteristicPointEntity in dbContext.CharacteristicPointEntities .Where(e => e.CharacteristicPointEntityId > 0)) Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Create/Piping/RingtoetsPipingSurfaceLineCreateExtensions.cs =================================================================== diff -u -ra294987551b0b2d8a27b6e1bc6235b0e2351b6f4 -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/src/Application.Ringtoets.Storage/Create/Piping/RingtoetsPipingSurfaceLineCreateExtensions.cs (.../RingtoetsPipingSurfaceLineCreateExtensions.cs) (revision a294987551b0b2d8a27b6e1bc6235b0e2351b6f4) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Create/Piping/RingtoetsPipingSurfaceLineCreateExtensions.cs (.../RingtoetsPipingSurfaceLineCreateExtensions.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -20,7 +20,9 @@ // All rights reserved. using System; +using System.Linq; +using Application.Ringtoets.Storage.BinaryConverters; using Application.Ringtoets.Storage.DbContext; using Core.Common.Base.Geometry; @@ -57,75 +59,47 @@ { Name = surfaceLine.Name, ReferenceLineIntersectionX = surfaceLine.ReferenceLineIntersectionWorldPoint.X.ToNaNAsNull(), - ReferenceLineIntersectionY = surfaceLine.ReferenceLineIntersectionWorldPoint.Y.ToNaNAsNull() + ReferenceLineIntersectionY = surfaceLine.ReferenceLineIntersectionWorldPoint.Y.ToNaNAsNull(), + PointsData = new Point3DBinaryConverter().ToBytes(surfaceLine.Points) }; - CreateSurfaceLinePointEntities(surfaceLine, registry, entity); - CreateCharacteristicPointEntities(surfaceLine, registry); + CreateCharacteristicPointEntities(surfaceLine, registry, entity); registry.Register(entity, surfaceLine); return entity; } - private static void CreateSurfaceLinePointEntities(RingtoetsPipingSurfaceLine surfaceLine, PersistenceRegistry registry, SurfaceLineEntity entity) + private static void CreateCharacteristicPointEntities(RingtoetsPipingSurfaceLine surfaceLine, PersistenceRegistry registry, SurfaceLineEntity entity) { - int order = 0; - foreach (Point3D point3D in surfaceLine.Points) + var characteristicPointAssociations = new[] { - entity.SurfaceLinePointEntities.Add(point3D.CreateSurfaceLinePointEntity(registry, order++)); + Tuple.Create(surfaceLine.BottomDitchPolderSide, CharacteristicPointType.BottomDitchPolderSide), + Tuple.Create(surfaceLine.BottomDitchDikeSide, CharacteristicPointType.BottomDitchDikeSide), + Tuple.Create(surfaceLine.DikeToeAtPolder, CharacteristicPointType.DikeToeAtPolder), + Tuple.Create(surfaceLine.DikeToeAtRiver, CharacteristicPointType.DikeToeAtRiver), + Tuple.Create(surfaceLine.DitchDikeSide, CharacteristicPointType.DitchDikeSide), + Tuple.Create(surfaceLine.DitchPolderSide, CharacteristicPointType.DitchPolderSide) + }; + foreach (Tuple characteristicPointToSave in characteristicPointAssociations.Where(t => t.Item1 != null)) + { + var characteristicPointEntity = CreateCharacteristicPointEntity(characteristicPointToSave.Item1, + characteristicPointToSave.Item2, + registry); + entity.CharacteristicPointEntities.Add(characteristicPointEntity); } } - private static void CreateCharacteristicPointEntities(RingtoetsPipingSurfaceLine surfaceLine, PersistenceRegistry registry) + private static CharacteristicPointEntity CreateCharacteristicPointEntity(Point3D point, CharacteristicPointType type, PersistenceRegistry registry) { - if (surfaceLine.BottomDitchPolderSide != null) + var entity = new CharacteristicPointEntity { - SurfaceLinePointEntity characteristicPointEntity = registry.GetSurfaceLinePoint(surfaceLine.BottomDitchPolderSide); - characteristicPointEntity.CharacteristicPointEntities.Add(new CharacteristicPointEntity - { - CharacteristicPointType = (short)CharacteristicPointType.BottomDitchPolderSide - }); - } - if (surfaceLine.BottomDitchDikeSide != null) - { - SurfaceLinePointEntity characteristicPointEntity = registry.GetSurfaceLinePoint(surfaceLine.BottomDitchDikeSide); - characteristicPointEntity.CharacteristicPointEntities.Add(new CharacteristicPointEntity - { - CharacteristicPointType = (short)CharacteristicPointType.BottomDitchDikeSide - }); - } - if (surfaceLine.DikeToeAtPolder != null) - { - SurfaceLinePointEntity characteristicPointEntity = registry.GetSurfaceLinePoint(surfaceLine.DikeToeAtPolder); - characteristicPointEntity.CharacteristicPointEntities.Add(new CharacteristicPointEntity - { - CharacteristicPointType = (short)CharacteristicPointType.DikeToeAtPolder - }); - } - if (surfaceLine.DikeToeAtRiver != null) - { - SurfaceLinePointEntity characteristicPointEntity = registry.GetSurfaceLinePoint(surfaceLine.DikeToeAtRiver); - characteristicPointEntity.CharacteristicPointEntities.Add(new CharacteristicPointEntity - { - CharacteristicPointType = (short)CharacteristicPointType.DikeToeAtRiver - }); - } - if (surfaceLine.DitchDikeSide != null) - { - SurfaceLinePointEntity characteristicPointEntity = registry.GetSurfaceLinePoint(surfaceLine.DitchDikeSide); - characteristicPointEntity.CharacteristicPointEntities.Add(new CharacteristicPointEntity - { - CharacteristicPointType = (short)CharacteristicPointType.DitchDikeSide - }); - } - if (surfaceLine.DitchPolderSide != null) - { - SurfaceLinePointEntity characteristicPointEntity = registry.GetSurfaceLinePoint(surfaceLine.DitchPolderSide); - characteristicPointEntity.CharacteristicPointEntities.Add(new CharacteristicPointEntity - { - CharacteristicPointType = (short)CharacteristicPointType.DitchPolderSide - }); - } + Type = (short)type, + X = point.X.ToNaNAsNull(), + Y = point.Y.ToNaNAsNull(), + Z = point.Z.ToNaNAsNull() + }; + registry.Register(entity, point); + return entity; } } } \ No newline at end of file Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Create/Piping/StochasticSoilModelCreateExtensions.cs =================================================================== diff -u -r23766b602d9b509a2ffc030f284e8d5e82325a3e -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/src/Application.Ringtoets.Storage/Create/Piping/StochasticSoilModelCreateExtensions.cs (.../StochasticSoilModelCreateExtensions.cs) (revision 23766b602d9b509a2ffc030f284e8d5e82325a3e) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Create/Piping/StochasticSoilModelCreateExtensions.cs (.../StochasticSoilModelCreateExtensions.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -55,7 +55,7 @@ { Name = model.Name, SegmentName = model.SegmentName, - SegmentPoints = new Point2DBinaryConverter().ToBytes(model.Geometry) + StochasticSoilModelSegmentPointData = new Point2DBinaryConverter().ToBytes(model.Geometry) }; AddEntitiesForStochasticSoilProfiles(model, registry, entity); Fisheye: Tag 508d720230c5f63bce7f95bddc3b7a04808d267d refers to a dead (removed) revision in file `Application/Ringtoets/src/Application.Ringtoets.Storage/Create/Point2DCreateExtensions.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 508d720230c5f63bce7f95bddc3b7a04808d267d refers to a dead (removed) revision in file `Application/Ringtoets/src/Application.Ringtoets.Storage/Create/Point3DCreateExtensions.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/AssessmentSectionEntity.cs =================================================================== diff -u -r21d94a2cc5a3a916d02a441f80414455b80d85dc -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/AssessmentSectionEntity.cs (.../AssessmentSectionEntity.cs) (revision 21d94a2cc5a3a916d02a441f80414455b80d85dc) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/AssessmentSectionEntity.cs (.../AssessmentSectionEntity.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -40,7 +40,6 @@ { this.FailureMechanismEntities = new HashSet(); this.HydraulicLocationEntities = new HashSet(); - this.ReferenceLinePointEntities = new HashSet(); } public long AssessmentSectionEntityId { get; set; } @@ -52,13 +51,12 @@ public string HydraulicDatabaseVersion { get; set; } public string HydraulicDatabaseLocation { get; set; } public short Composition { get; set; } + public byte[] ReferenceLinePointData { get; set; } public virtual ProjectEntity ProjectEntity { get; set; } [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] public virtual ICollection FailureMechanismEntities { get; set; } [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] public virtual ICollection HydraulicLocationEntities { get; set; } - [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] - public virtual ICollection ReferenceLinePointEntities { get; set; } } } Index: Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/CharacteristicPointEntity.cs =================================================================== diff -u -r9e1b97e9540df6cbd635120135c83de0260aa6d1 -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/CharacteristicPointEntity.cs (.../CharacteristicPointEntity.cs) (revision 9e1b97e9540df6cbd635120135c83de0260aa6d1) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/CharacteristicPointEntity.cs (.../CharacteristicPointEntity.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -36,9 +36,12 @@ public partial class CharacteristicPointEntity { public long CharacteristicPointEntityId { get; set; } - public short CharacteristicPointType { get; set; } - public long SurfaceLinePointEntityId { get; set; } + public long SurfaceLineEntityId { get; set; } + public short Type { get; set; } + public Nullable X { get; set; } + public Nullable Y { get; set; } + public Nullable Z { get; set; } - public virtual SurfaceLinePointEntity SurfaceLinePointEntity { get; set; } + public virtual SurfaceLineEntity SurfaceLineEntity { get; set; } } } Index: Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/DatabaseStructure.sql =================================================================== diff -u -r23766b602d9b509a2ffc030f284e8d5e82325a3e -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/DatabaseStructure.sql (.../DatabaseStructure.sql) (revision 23766b602d9b509a2ffc030f284e8d5e82325a3e) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/DatabaseStructure.sql (.../DatabaseStructure.sql) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -1,6 +1,6 @@ /* ---------------------------------------------------- */ /* Generated by Enterprise Architect Version 12.0 */ -/* Created On : 28-jul-2016 16:23:20 */ +/* Created On : 01-aug-2016 14:44:48 */ /* DBMS : SQLite */ /* ---------------------------------------------------- */ @@ -24,9 +24,6 @@ DROP TABLE IF EXISTS 'FailureMechanismEntity' ; -DROP TABLE IF EXISTS 'FailureMechanismSectionPointEntity' -; - DROP TABLE IF EXISTS 'CalculationGroupEntity' ; @@ -42,15 +39,12 @@ DROP TABLE IF EXISTS 'GrassCoverErosionInwardsCalculationEntity' ; -DROP TABLE IF EXISTS 'ReferenceLinePointEntity' +DROP TABLE IF EXISTS 'SoilProfileEntity' ; DROP TABLE IF EXISTS 'SoilLayerEntity' ; -DROP TABLE IF EXISTS 'SoilProfileEntity' -; - DROP TABLE IF EXISTS 'StochasticSoilProfileEntity' ; @@ -60,9 +54,6 @@ DROP TABLE IF EXISTS 'SurfaceLineEntity' ; -DROP TABLE IF EXISTS 'SurfaceLinePointEntity' -; - DROP TABLE IF EXISTS 'PipingCalculationOutputEntity' ; @@ -173,6 +164,7 @@ 'HydraulicDatabaseVersion' TEXT, 'HydraulicDatabaseLocation' TEXT, 'Composition' SMALLINT NOT NULL, -- Enum: Dike = 0, Dune = 1, DikeAndDune = 2 + 'ReferenceLinePointData' BLOB, CONSTRAINT 'FK_AssessmentSectionEntity_ProjectEntity' FOREIGN KEY ('ProjectEntityId') REFERENCES 'ProjectEntity' ('ProjectEntityId') ON DELETE Cascade ON UPDATE Cascade ) ; @@ -182,6 +174,7 @@ 'FailureMechanismSectionEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, 'FailureMechanismEntityId' INTEGER NOT NULL, 'Name' VARCHAR (260) NOT NULL, + 'FailureMechanismSectionPointData' BLOB NOT NULL, CONSTRAINT 'FK_FailureMechanismSectionEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade ) ; @@ -200,17 +193,6 @@ ) ; -CREATE TABLE 'FailureMechanismSectionPointEntity' -( - 'FailureMechanismSectionPointEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, - 'FailureMechanismSectionEntityId' INTEGER NOT NULL, - 'X' REAL, - 'Y' REAL, - 'Order' INT (4) NOT NULL, - CONSTRAINT 'FK_FailureMechanismSectionPointEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade -) -; - CREATE TABLE 'CalculationGroupEntity' ( 'CalculationGroupEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, @@ -306,14 +288,11 @@ ) ; -CREATE TABLE 'ReferenceLinePointEntity' +CREATE TABLE 'SoilProfileEntity' ( - 'ReferenceLinePointEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, - 'AssessmentSectionEntityId' INTEGER NOT NULL, - 'X' REAL, - 'Y' REAL, - 'Order' INT (4) NOT NULL, - CONSTRAINT 'FK_ReferenceLinePointEntity_AssessmentSectionEntity' FOREIGN KEY ('AssessmentSectionEntityId') REFERENCES 'AssessmentSectionEntity' ('AssessmentSectionEntityId') ON DELETE Cascade ON UPDATE Cascade + 'SoilProfileEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'Bottom' REAL, + 'Name' TEXT ) ; @@ -336,14 +315,6 @@ ) ; -CREATE TABLE 'SoilProfileEntity' -( - 'SoilProfileEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, - 'Bottom' REAL, - 'Name' TEXT -) -; - CREATE TABLE 'StochasticSoilProfileEntity' ( 'StochasticSoilProfileEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, @@ -361,7 +332,7 @@ 'FailureMechanismEntityId' INTEGER NOT NULL, 'Name' TEXT, 'SegmentName' TEXT, - 'SegmentPoints' BLOB NOT NULL, + 'StochasticSoilModelSegmentPointData' BLOB NOT NULL, CONSTRAINT 'FK_StochasticSoilModelEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade ) ; @@ -373,22 +344,11 @@ 'Name' VARCHAR (260), 'ReferenceLineIntersectionX' REAL, 'ReferenceLineIntersectionY' REAL, + 'PointsData' BLOB NOT NULL, CONSTRAINT 'FK_SurfaceLineEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE No Action ON UPDATE No Action ) ; -CREATE TABLE 'SurfaceLinePointEntity' -( - 'SurfaceLinePointEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, - 'SurfaceLineEntityId' INTEGER NOT NULL, - 'X' REAL, - 'Y' REAL, - 'Order' INT (4) NOT NULL, - 'Z' REAL, - CONSTRAINT 'FK_SurfaceLinePointEntity_SurfaceLineEntity' FOREIGN KEY ('SurfaceLineEntityId') REFERENCES 'SurfaceLineEntity' ('SurfaceLineEntityId') ON DELETE No Action ON UPDATE No Action -) -; - CREATE TABLE 'PipingCalculationOutputEntity' ( 'PipingCalculationOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, @@ -404,9 +364,12 @@ CREATE TABLE 'CharacteristicPointEntity' ( 'CharacteristicPointEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, - 'CharacteristicPointType' SMALLINT NOT NULL, -- Enum: 1 = DikeToeAtRiver 2 = DikeToeAtPolder 3 = DitchDikeSide 4 = BottomDitchDikeSide 5 = BottomDitchPolderSide 6 = DitchPolderSide - 'SurfaceLinePointEntityId' INTEGER NOT NULL, - CONSTRAINT 'FK_CharacteristicPointEntity_SurfaceLinePointEntity' FOREIGN KEY ('SurfaceLinePointEntityId') REFERENCES 'SurfaceLinePointEntity' ('SurfaceLinePointEntityId') ON DELETE No Action ON UPDATE No Action + 'SurfaceLineEntityId' INTEGER NOT NULL, + 'Type' SMALLINT NOT NULL, -- Enum: 1 = DikeToeAtRiver 2 = DikeToeAtPolder 3 = DitchDikeSide 4 = BottomDitchDikeSide 5 = BottomDitchPolderSide 6 = DitchPolderSide + 'X' REAL, + 'Y' REAL, + 'Z' REAL, + CONSTRAINT 'FK_SurfaceLinePointEntity_SurfaceLineEntity' FOREIGN KEY ('SurfaceLineEntityId') REFERENCES 'SurfaceLineEntity' ('SurfaceLineEntityId') ON DELETE No Action ON UPDATE No Action ) ; @@ -684,10 +647,6 @@ ON 'FailureMechanismEntity' ('CalculationGroupEntityId' ASC) ; -CREATE INDEX 'IXFK_FailureMechanismSectionPointEntity_FailureMechanismSectionEntity' - ON 'FailureMechanismSectionPointEntity' ('FailureMechanismSectionEntityId' ASC) -; - CREATE INDEX 'IXFK_CalculationGroupEntity_CalculationGroupEntity' ON 'CalculationGroupEntity' ('ParentCalculationGroupEntityId' ASC) ; @@ -740,10 +699,6 @@ ON 'GrassCoverErosionInwardsCalculationEntity' ('HydraulicLocationEntityId' ASC) ; -CREATE INDEX 'IXFK_ReferenceLinePointEntity_AssessmentSectionEntity' - ON 'ReferenceLinePointEntity' ('AssessmentSectionEntityId' ASC) -; - CREATE INDEX 'IXFK_StochasticSoilProfileEntity_SoilProfileEntity' ON 'StochasticSoilProfileEntity' ('SoilProfileEntityId' ASC) ; @@ -761,13 +716,9 @@ ; CREATE INDEX 'IXFK_SurfaceLinePointEntity_SurfaceLineEntity' - ON 'SurfaceLinePointEntity' ('SurfaceLineEntityId' ASC) + ON 'CharacteristicPointEntity' ('SurfaceLineEntityId' ASC) ; -CREATE INDEX 'IXFK_CharacteristicPointEntity_SurfaceLinePointEntity' - ON 'CharacteristicPointEntity' ('SurfaceLinePointEntityId' ASC) -; - CREATE INDEX 'IXFK_PipingSectionResultEntity_FailureMechanismSectionEntity' ON 'PipingSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) ; Index: Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/FailureMechanismSectionEntity.cs =================================================================== diff -u -r94a8ffbf9b1040b5a6092c8af0f38ce5dbe6e1fb -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/FailureMechanismSectionEntity.cs (.../FailureMechanismSectionEntity.cs) (revision 94a8ffbf9b1040b5a6092c8af0f38ce5dbe6e1fb) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/FailureMechanismSectionEntity.cs (.../FailureMechanismSectionEntity.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -40,7 +40,6 @@ { this.ClosingStructureSectionResultEntities = new HashSet(); this.DuneErosionSectionResultEntities = new HashSet(); - this.FailureMechanismSectionPointEntities = new HashSet(); this.GrassCoverErosionInwardsSectionResultEntities = new HashSet(); this.GrassCoverErosionOutwardsSectionResultEntities = new HashSet(); this.GrassCoverSlipOffInwardsSectionResultEntities = new HashSet(); @@ -62,15 +61,14 @@ public long FailureMechanismSectionEntityId { get; set; } public long FailureMechanismEntityId { get; set; } public string Name { get; set; } + public byte[] FailureMechanismSectionPointData { get; set; } [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] public virtual ICollection ClosingStructureSectionResultEntities { get; set; } [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] public virtual ICollection DuneErosionSectionResultEntities { get; set; } public virtual FailureMechanismEntity FailureMechanismEntity { get; set; } [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] - public virtual ICollection FailureMechanismSectionPointEntities { get; set; } - [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] public virtual ICollection GrassCoverErosionInwardsSectionResultEntities { get; set; } [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] public virtual ICollection GrassCoverErosionOutwardsSectionResultEntities { get; set; } Fisheye: Tag 508d720230c5f63bce7f95bddc3b7a04808d267d refers to a dead (removed) revision in file `Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/FailureMechanismSectionPointEntity.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/IRingtoetsEntities.cs =================================================================== diff -u -r23766b602d9b509a2ffc030f284e8d5e82325a3e -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/IRingtoetsEntities.cs (.../IRingtoetsEntities.cs) (revision 23766b602d9b509a2ffc030f284e8d5e82325a3e) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/IRingtoetsEntities.cs (.../IRingtoetsEntities.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -193,24 +193,12 @@ DbSet PipingFailureMechanismMetaEntities { get; } /// - /// Gets a of containing - /// every entity found in the database. - /// - DbSet FailureMechanismSectionPointEntities { get; } - - /// /// Gets a of containing /// every entity found in the database. /// DbSet HydraulicLocationEntities { get; } /// - /// Gets a of containing - /// every entity found in the database. - /// - DbSet ReferenceLinePointEntities { get; } - - /// /// Gets a of containing /// every calculation group found in the database. /// @@ -265,12 +253,6 @@ DbSet SurfaceLineEntities { get; } /// - /// Gets a of - /// containing every piping surface line geometry point in the database. - /// - DbSet SurfaceLinePointEntities { get; } - - /// /// Gets a of /// containing every characteristic point of piping surface lines in the database. /// Fisheye: Tag 508d720230c5f63bce7f95bddc3b7a04808d267d refers to a dead (removed) revision in file `Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/ReferenceLinePointEntity.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.Context.cs =================================================================== diff -u -r23766b602d9b509a2ffc030f284e8d5e82325a3e -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.Context.cs (.../RingtoetsEntities.Context.cs) (revision 23766b602d9b509a2ffc030f284e8d5e82325a3e) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.Context.cs (.../RingtoetsEntities.Context.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -60,7 +60,6 @@ public virtual DbSet DuneErosionSectionResultEntities { get; set; } public virtual DbSet FailureMechanismEntities { get; set; } public virtual DbSet FailureMechanismSectionEntities { get; set; } - public virtual DbSet FailureMechanismSectionPointEntities { get; set; } public virtual DbSet GrassCoverErosionInwardsCalculationEntities { get; set; } public virtual DbSet GrassCoverErosionInwardsFailureMechanismMetaEntities { get; set; } public virtual DbSet GrassCoverErosionInwardsOutputEntities { get; set; } @@ -81,7 +80,6 @@ public virtual DbSet PipingStructureSectionResultEntities { get; set; } public virtual DbSet ProbabilisticOutputEntities { get; set; } public virtual DbSet ProjectEntities { get; set; } - public virtual DbSet ReferenceLinePointEntities { get; set; } public virtual DbSet SoilLayerEntities { get; set; } public virtual DbSet SoilProfileEntities { get; set; } public virtual DbSet StabilityStoneCoverSectionResultEntities { get; set; } @@ -90,7 +88,6 @@ public virtual DbSet StrengthStabilityLengthwiseConstructionSectionResultEntities { get; set; } public virtual DbSet StrengthStabilityPointConstructionSectionResultEntities { get; set; } public virtual DbSet SurfaceLineEntities { get; set; } - public virtual DbSet SurfaceLinePointEntities { get; set; } public virtual DbSet TechnicalInnovationSectionResultEntities { get; set; } public virtual DbSet VersionEntities { get; set; } public virtual DbSet WaterPressureAsphaltCoverSectionResultEntities { get; set; } Index: Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.edmx =================================================================== diff -u -r23766b602d9b509a2ffc030f284e8d5e82325a3e -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.edmx (.../RingtoetsEntities.edmx) (revision 23766b602d9b509a2ffc030f284e8d5e82325a3e) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.edmx (.../RingtoetsEntities.edmx) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -18,6 +18,7 @@ + @@ -34,8 +35,11 @@ - - + + + + + @@ -91,17 +95,8 @@ + - - - - - - - - - - @@ -341,16 +336,6 @@ - - - - - - - - - - @@ -394,7 +379,7 @@ - + @@ -432,18 +417,8 @@ + - - - - - - - - - - - @@ -506,14 +481,14 @@ - + - - + + - + @@ -589,18 +564,6 @@ - - - - - - - - - - - - @@ -901,18 +864,6 @@ - - - - - - - - - - - - @@ -1009,18 +960,6 @@ - - - - - - - - - - - - @@ -1066,7 +1005,6 @@ - @@ -1087,7 +1025,6 @@ - @@ -1096,7 +1033,6 @@ - @@ -1110,7 +1046,7 @@ - + @@ -1137,10 +1073,6 @@ - - - - @@ -1241,10 +1173,6 @@ - - - - @@ -1277,10 +1205,6 @@ - - - - @@ -1307,7 +1231,6 @@ - @@ -1328,7 +1251,6 @@ - @@ -1337,7 +1259,6 @@ - @@ -1354,10 +1275,6 @@ - - - - @@ -1375,7 +1292,7 @@ - + @@ -1414,10 +1331,6 @@ - - - - @@ -1530,10 +1443,6 @@ - - - - @@ -1548,10 +1457,10 @@ + - @@ -1573,9 +1482,12 @@ - - - + + + + + + @@ -1643,10 +1555,10 @@ + - @@ -1664,17 +1576,6 @@ - - - - - - - - - - - @@ -1947,17 +1848,6 @@ - - - - - - - - - - - @@ -2005,7 +1895,7 @@ - + @@ -2050,23 +1940,11 @@ + + - - - - - - - - - - - - - - @@ -2143,18 +2021,6 @@ - - - - - - - - - - - - @@ -2204,14 +2070,14 @@ - + - - + + - + @@ -2323,18 +2189,6 @@ - - - - - - - - - - - - @@ -2671,18 +2525,6 @@ - - - - - - - - - - - - @@ -2692,6 +2534,7 @@ + @@ -2718,8 +2561,11 @@ - - + + + + + @@ -2778,23 +2624,13 @@ + - - - - - - - - - - - @@ -3054,17 +2890,6 @@ - - - - - - - - - - - @@ -3106,7 +2931,7 @@ - + @@ -3147,6 +2972,7 @@ + @@ -3155,18 +2981,6 @@ - - - - - - - - - - - - Index: Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.edmx.diagram =================================================================== diff -u -r23766b602d9b509a2ffc030f284e8d5e82325a3e -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.edmx.diagram (.../RingtoetsEntities.edmx.diagram) (revision 23766b602d9b509a2ffc030f284e8d5e82325a3e) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.edmx.diagram (.../RingtoetsEntities.edmx.diagram) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -5,53 +5,49 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - @@ -66,7 +62,6 @@ - @@ -95,7 +90,6 @@ - Index: Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/StochasticSoilModelEntity.cs =================================================================== diff -u -r23766b602d9b509a2ffc030f284e8d5e82325a3e -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/StochasticSoilModelEntity.cs (.../StochasticSoilModelEntity.cs) (revision 23766b602d9b509a2ffc030f284e8d5e82325a3e) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/StochasticSoilModelEntity.cs (.../StochasticSoilModelEntity.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -45,7 +45,7 @@ public long FailureMechanismEntityId { get; set; } public string Name { get; set; } public string SegmentName { get; set; } - public byte[] SegmentPoints { get; set; } + public byte[] StochasticSoilModelSegmentPointData { get; set; } public virtual FailureMechanismEntity FailureMechanismEntity { get; set; } [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] Index: Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/SurfaceLineEntity.cs =================================================================== diff -u -ra294987551b0b2d8a27b6e1bc6235b0e2351b6f4 -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/SurfaceLineEntity.cs (.../SurfaceLineEntity.cs) (revision a294987551b0b2d8a27b6e1bc6235b0e2351b6f4) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/SurfaceLineEntity.cs (.../SurfaceLineEntity.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -38,20 +38,21 @@ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")] public SurfaceLineEntity() { + this.CharacteristicPointEntities = new HashSet(); this.PipingCalculationEntities = new HashSet(); - this.SurfaceLinePointEntities = new HashSet(); } public long SurfaceLineEntityId { get; set; } public long FailureMechanismEntityId { get; set; } public string Name { get; set; } public Nullable ReferenceLineIntersectionX { get; set; } public Nullable ReferenceLineIntersectionY { get; set; } + public byte[] PointsData { get; set; } + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] + public virtual ICollection CharacteristicPointEntities { get; set; } public virtual FailureMechanismEntity FailureMechanismEntity { get; set; } [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] public virtual ICollection PipingCalculationEntities { get; set; } - [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] - public virtual ICollection SurfaceLinePointEntities { get; set; } } } Fisheye: Tag 508d720230c5f63bce7f95bddc3b7a04808d267d refers to a dead (removed) revision in file `Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/SurfaceLinePointEntity.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Read/AssessmentSectionEntityReadExtensions.cs =================================================================== diff -u -r424e934ab7fcdef2661e3fee605423ee9fd1b489 -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/src/Application.Ringtoets.Storage/Read/AssessmentSectionEntityReadExtensions.cs (.../AssessmentSectionEntityReadExtensions.cs) (revision 424e934ab7fcdef2661e3fee605423ee9fd1b489) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Read/AssessmentSectionEntityReadExtensions.cs (.../AssessmentSectionEntityReadExtensions.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -21,7 +21,12 @@ using System; using System.Linq; + +using Application.Ringtoets.Storage.BinaryConverters; using Application.Ringtoets.Storage.DbContext; + +using Core.Common.Base.Geometry; + using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.HydraRing.Data; using Ringtoets.Integration.Data; @@ -87,10 +92,12 @@ private static void ReadReferenceLine(this AssessmentSectionEntity entity, IAssessmentSection assessmentSection) { - if (entity.ReferenceLinePointEntities.Any()) + if (entity.ReferenceLinePointData != null) { + Point2D[] points = new Point2DBinaryConverter().ToData(entity.ReferenceLinePointData); + assessmentSection.ReferenceLine = new ReferenceLine(); - assessmentSection.ReferenceLine.SetGeometry(entity.ReferenceLinePointEntities.OrderBy(rlpe => rlpe.Order).Select(rlpe => rlpe.Read())); + assessmentSection.ReferenceLine.SetGeometry(points); } } Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Read/FailureMechanismSectionEntityReadExtensions.cs =================================================================== diff -u -r0046acb203ae12c74743abc12f57e557d96f9c5a -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/src/Application.Ringtoets.Storage/Read/FailureMechanismSectionEntityReadExtensions.cs (.../FailureMechanismSectionEntityReadExtensions.cs) (revision 0046acb203ae12c74743abc12f57e557d96f9c5a) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Read/FailureMechanismSectionEntityReadExtensions.cs (.../FailureMechanismSectionEntityReadExtensions.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -20,8 +20,12 @@ // All rights reserved. using System; -using System.Linq; + +using Application.Ringtoets.Storage.BinaryConverters; using Application.Ringtoets.Storage.DbContext; + +using Core.Common.Base.Geometry; + using Ringtoets.Common.Data.FailureMechanism; namespace Application.Ringtoets.Storage.Read @@ -46,11 +50,7 @@ throw new ArgumentNullException("collector"); } - var points = entity.FailureMechanismSectionPointEntities - .OrderBy(fmsp => fmsp.Order) - .Select(failureMechanismSectionPointEntity => failureMechanismSectionPointEntity.Read()) - .ToList(); - + Point2D[] points = new Point2DBinaryConverter().ToData(entity.FailureMechanismSectionPointData); var mechanismSection = new FailureMechanismSection(entity.Name, points) { StorageId = entity.FailureMechanismSectionEntityId Fisheye: Tag 508d720230c5f63bce7f95bddc3b7a04808d267d refers to a dead (removed) revision in file `Application/Ringtoets/src/Application.Ringtoets.Storage/Read/FailureMechanismSectionPointEntityReadExtensions.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Read/Piping/StochasticSoilModelEntityReadExtensions.cs =================================================================== diff -u -r23766b602d9b509a2ffc030f284e8d5e82325a3e -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/src/Application.Ringtoets.Storage/Read/Piping/StochasticSoilModelEntityReadExtensions.cs (.../StochasticSoilModelEntityReadExtensions.cs) (revision 23766b602d9b509a2ffc030f284e8d5e82325a3e) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Read/Piping/StochasticSoilModelEntityReadExtensions.cs (.../StochasticSoilModelEntityReadExtensions.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -74,7 +74,7 @@ private static void ReadSegmentPoints(this StochasticSoilModelEntity entity, StochasticSoilModel model) { - model.Geometry.AddRange(new Point2DBinaryConverter().ToData(entity.SegmentPoints)); + model.Geometry.AddRange(new Point2DBinaryConverter().ToData(entity.StochasticSoilModelSegmentPointData)); } } } \ No newline at end of file Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Read/Piping/SurfaceLineEntityReadExtensions.cs =================================================================== diff -u -ra294987551b0b2d8a27b6e1bc6235b0e2351b6f4 -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/src/Application.Ringtoets.Storage/Read/Piping/SurfaceLineEntityReadExtensions.cs (.../SurfaceLineEntityReadExtensions.cs) (revision a294987551b0b2d8a27b6e1bc6235b0e2351b6f4) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Read/Piping/SurfaceLineEntityReadExtensions.cs (.../SurfaceLineEntityReadExtensions.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -22,6 +22,7 @@ using System; using System.Collections.Generic; +using Application.Ringtoets.Storage.BinaryConverters; using Application.Ringtoets.Storage.DbContext; using Core.Common.Base.Geometry; @@ -64,30 +65,25 @@ entity.ReferenceLineIntersectionX.ToNullAsNaN(), entity.ReferenceLineIntersectionY.ToNullAsNaN()) }; - entity.ReadSurfaceLineGeometryAndCharacteristicPoints(surfaceLine, collector); + entity.ReadSurfaceLineGeometryAndCharacteristicPoints(surfaceLine); collector.Read(entity, surfaceLine); return surfaceLine; } - private static void ReadSurfaceLineGeometryAndCharacteristicPoints(this SurfaceLineEntity entity, RingtoetsPipingSurfaceLine surfaceLine, ReadConversionCollector collector) + private static void ReadSurfaceLineGeometryAndCharacteristicPoints(this SurfaceLineEntity entity, RingtoetsPipingSurfaceLine surfaceLine) { - var geometryPoints = new Point3D[entity.SurfaceLinePointEntities.Count]; - var characteristicPoints = new Dictionary(); + Point3D[] geometryPoints = new Point3DBinaryConverter().ToData(entity.PointsData); + surfaceLine.SetGeometry(geometryPoints); - foreach (SurfaceLinePointEntity pointEntity in entity.SurfaceLinePointEntities) + var characteristicPoints = new Dictionary(); + foreach (CharacteristicPointEntity pointEntity in entity.CharacteristicPointEntities) { - var geometryPoint = pointEntity.Read(collector); - geometryPoints[pointEntity.Order] = geometryPoint; - - foreach (CharacteristicPointEntity characteristicPointEntity in pointEntity.CharacteristicPointEntities) - { - characteristicPoints[(CharacteristicPointType)characteristicPointEntity.CharacteristicPointType] = geometryPoint; - } + characteristicPoints[(CharacteristicPointType)pointEntity.Type] = new Point3D(pointEntity.X.ToNullAsNaN(), + pointEntity.Y.ToNullAsNaN(), + pointEntity.Z.ToNullAsNaN()); } - - surfaceLine.SetGeometry(geometryPoints); foreach (KeyValuePair keyValuePair in characteristicPoints) { SetCharacteristicPoint(surfaceLine, keyValuePair.Key, keyValuePair.Value); Fisheye: Tag 508d720230c5f63bce7f95bddc3b7a04808d267d refers to a dead (removed) revision in file `Application/Ringtoets/src/Application.Ringtoets.Storage/Read/Piping/SurfaceLinePointEntityReadExtensions.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Read/ReadConversionCollector.cs =================================================================== diff -u -r8fb89aa97883c5717bb40a279bbfa05164a4f038 -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/src/Application.Ringtoets.Storage/Read/ReadConversionCollector.cs (.../ReadConversionCollector.cs) (revision 8fb89aa97883c5717bb40a279bbfa05164a4f038) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Read/ReadConversionCollector.cs (.../ReadConversionCollector.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -45,7 +45,6 @@ private readonly Dictionary stochasticSoilProfiles = CreateDictionary(); private readonly Dictionary soilProfiles = CreateDictionary(); private readonly Dictionary surfaceLines = CreateDictionary(); - private readonly Dictionary surfaceLineGeometryPoints = CreateDictionary(); private readonly Dictionary hydraulicBoundaryLocations = CreateDictionary(); private readonly Dictionary failureMechanismSections = CreateDictionary(); private readonly Dictionary dikeProfiles = CreateDictionary(); @@ -341,79 +340,6 @@ #endregion - #region SurfaceLinePointEntity: Read, Contains, Get - - /// - /// Registers a read operation for and the - /// (that is part of ) - /// that was constructed with the information. - /// - /// The that was read. - /// The that was constructed. - /// Thrown when either: - /// - /// is null - /// is null - /// - internal void Read(SurfaceLinePointEntity entity, Point3D model) - { - if (entity == null) - { - throw new ArgumentNullException("entity"); - } - if (model == null) - { - throw new ArgumentNullException("model"); - } - - surfaceLineGeometryPoints[entity] = model; - } - - /// - /// Checks whether a read operation has been registered for a given . - /// - /// The to check for. - /// true if the was read before, false otherwise. - /// Thrown when is null. - internal bool Contains(SurfaceLinePointEntity entity) - { - if (entity == null) - { - throw new ArgumentNullException("entity"); - } - return surfaceLineGeometryPoints.ContainsKey(entity); - } - - /// - /// Obtains the that is part of - /// which was read for the given . - /// - /// The for which a read - /// operation has been registered. - /// The constructed . - /// Thrown when is null. - /// Thrown when no read operation has - /// been registered for . - /// Use to find out whether a - /// read operation has been registered for . - internal Point3D Get(SurfaceLinePointEntity entity) - { - if (entity == null) - { - throw new ArgumentNullException("entity"); - } - try - { - return surfaceLineGeometryPoints[entity]; - } - catch (KeyNotFoundException e) - { - throw new InvalidOperationException(e.Message, e); - } - } - - #endregion - #region HydraulicLocationEntity: Read, Contains, Get /// Fisheye: Tag 508d720230c5f63bce7f95bddc3b7a04808d267d refers to a dead (removed) revision in file `Application/Ringtoets/src/Application.Ringtoets.Storage/Read/ReferenceLinePointEntityReadExtensions.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Update/AssessmentSectionUpdateExtensions.cs =================================================================== diff -u -ra294987551b0b2d8a27b6e1bc6235b0e2351b6f4 -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/src/Application.Ringtoets.Storage/Update/AssessmentSectionUpdateExtensions.cs (.../AssessmentSectionUpdateExtensions.cs) (revision a294987551b0b2d8a27b6e1bc6235b0e2351b6f4) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Update/AssessmentSectionUpdateExtensions.cs (.../AssessmentSectionUpdateExtensions.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -20,8 +20,8 @@ // All rights reserved. using System; -using System.Collections.Generic; -using System.Linq; + +using Application.Ringtoets.Storage.BinaryConverters; using Application.Ringtoets.Storage.Create; using Application.Ringtoets.Storage.DbContext; using Application.Ringtoets.Storage.Exceptions; @@ -44,8 +44,6 @@ using Application.Ringtoets.Storage.Update.WaterPressureAsphaltCover; using Application.Ringtoets.Storage.Update.WaveImpactAsphaltCover; -using Core.Common.Base.Geometry; -using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.Integration.Data; namespace Application.Ringtoets.Storage.Update @@ -88,7 +86,7 @@ entity.Norm = section.FailureMechanismContribution.Norm; UpdateHydraulicDatabase(section, entity, registry, context); - UpdateReferenceLine(section, entity, context); + UpdateReferenceLine(section, entity); UpdateFailureMechanisms(section, registry, context); registry.Register(entity, section); @@ -116,23 +114,18 @@ TechnicalInnovationFailureMechanismUpdateExtensions.Update(section.TechnicalInnovation, registry, context); } - private static void UpdateReferenceLine(AssessmentSection section, AssessmentSectionEntity entity, IRingtoetsEntities context) + private static void UpdateReferenceLine(AssessmentSection section, AssessmentSectionEntity entity) { - if (HasChanges(entity.ReferenceLinePointEntities, section.ReferenceLine)) + if (section.ReferenceLine == null) { - context.ReferenceLinePointEntities.RemoveRange(entity.ReferenceLinePointEntities); - UpdateReferenceLinePoints(section, entity); + entity.ReferenceLinePointData = null; } - } - - private static void UpdateReferenceLinePoints(AssessmentSection section, AssessmentSectionEntity entity) - { - if (section.ReferenceLine != null) + else { - var i = 0; - foreach (var point2D in section.ReferenceLine.Points) + byte[] newBinaryData = new Point2DBinaryConverter().ToBytes(section.ReferenceLine.Points); + if (entity.ReferenceLinePointData == null || !BinaryDataEqualityHelper.AreEqual(entity.ReferenceLinePointData, newBinaryData)) { - entity.ReferenceLinePointEntities.Add(point2D.CreateReferenceLinePointEntity(i++)); + entity.ReferenceLinePointData = newBinaryData; } } } @@ -157,34 +150,5 @@ } } } - - private static bool HasChanges(ICollection existingLine, ReferenceLine otherLine) - { - if (!existingLine.Any()) - { - return otherLine != null; - } - if (otherLine == null) - { - return true; - } - - var existingPointEntities = existingLine.OrderBy(rlpe => rlpe.Order).ToArray(); - var otherPointsArray = otherLine.Points.ToArray(); - if (existingPointEntities.Length != otherPointsArray.Length) - { - return true; - } - for (var i = 0; i < existingPointEntities.Length; i++) - { - var existingPoint = new Point2D(existingPointEntities[i].X.ToNullAsNaN(), existingPointEntities[i].Y.ToNullAsNaN()); - - if (!Math2D.AreEqualPoints(existingPoint, otherPointsArray[i])) - { - return true; - } - } - return false; - } } } \ No newline at end of file Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Update/FailureMechanismSectionUpdateExtensions.cs =================================================================== diff -u -ra294987551b0b2d8a27b6e1bc6235b0e2351b6f4 -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/src/Application.Ringtoets.Storage/Update/FailureMechanismSectionUpdateExtensions.cs (.../FailureMechanismSectionUpdateExtensions.cs) (revision a294987551b0b2d8a27b6e1bc6235b0e2351b6f4) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Update/FailureMechanismSectionUpdateExtensions.cs (.../FailureMechanismSectionUpdateExtensions.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -20,12 +20,12 @@ // All rights reserved. using System; -using System.Collections.Generic; -using System.Linq; + +using Application.Ringtoets.Storage.BinaryConverters; using Application.Ringtoets.Storage.Create; using Application.Ringtoets.Storage.DbContext; using Application.Ringtoets.Storage.Exceptions; -using Core.Common.Base.Geometry; + using Ringtoets.Common.Data.FailureMechanism; namespace Application.Ringtoets.Storage.Update @@ -66,56 +66,18 @@ o => o.FailureMechanismSectionEntityId); entity.Name = section.Name; - UpdateGeometry(section, entity, context); + UpdateGeometry(section, entity); registry.Register(entity, section); } - private static void UpdateGeometry(FailureMechanismSection section, FailureMechanismSectionEntity entity, IRingtoetsEntities context) + private static void UpdateGeometry(FailureMechanismSection section, FailureMechanismSectionEntity entity) { - if (HasChanges(entity.FailureMechanismSectionPointEntities, section.Points)) + byte[] newBinaryData = new Point2DBinaryConverter().ToBytes(section.Points); + if(!BinaryDataEqualityHelper.AreEqual(entity.FailureMechanismSectionPointData, newBinaryData)) { - context.FailureMechanismSectionPointEntities.RemoveRange(entity.FailureMechanismSectionPointEntities); - UpdateGeometryPoints(section, entity); + entity.FailureMechanismSectionPointData = newBinaryData; } } - - private static void UpdateGeometryPoints(FailureMechanismSection section, FailureMechanismSectionEntity entity) - { - var i = 0; - foreach (var point2D in section.Points) - { - entity.FailureMechanismSectionPointEntities.Add(point2D.CreateFailureMechanismSectionPointEntity(i++)); - } - } - - private static bool HasChanges(ICollection existingLine, IEnumerable otherLine) - { - if (!existingLine.Any()) - { - return otherLine != null; - } - if (otherLine == null) - { - return true; - } - - var existingPointEntities = existingLine.OrderBy(rlpe => rlpe.Order).ToArray(); - var otherPointsArray = otherLine.ToArray(); - if (existingPointEntities.Length != otherPointsArray.Length) - { - return true; - } - for (int i = 0; i < existingPointEntities.Length; i++) - { - var isXAlmostEqual = Math.Abs(existingPointEntities[i].X.ToNullAsNaN() - otherPointsArray[i].X) < 1e-6; - var isYAlmostEqual = Math.Abs(existingPointEntities[i].Y.ToNullAsNaN() - otherPointsArray[i].Y) < 1e-6; - if (!isXAlmostEqual || !isYAlmostEqual) - { - return true; - } - } - return false; - } } } \ No newline at end of file Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Update/Piping/RingtoetsPipingSurfaceLineUpdateExtensions.cs =================================================================== diff -u -ra294987551b0b2d8a27b6e1bc6235b0e2351b6f4 -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/src/Application.Ringtoets.Storage/Update/Piping/RingtoetsPipingSurfaceLineUpdateExtensions.cs (.../RingtoetsPipingSurfaceLineUpdateExtensions.cs) (revision a294987551b0b2d8a27b6e1bc6235b0e2351b6f4) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Update/Piping/RingtoetsPipingSurfaceLineUpdateExtensions.cs (.../RingtoetsPipingSurfaceLineUpdateExtensions.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -20,8 +20,10 @@ // All rights reserved. using System; +using System.Collections.Generic; using System.Linq; +using Application.Ringtoets.Storage.BinaryConverters; using Application.Ringtoets.Storage.Create; using Application.Ringtoets.Storage.DbContext; @@ -78,99 +80,77 @@ private static void UpdateGeometry(RingtoetsPipingSurfaceLine surfaceLine, SurfaceLineEntity entity, PersistenceRegistry registry) { - if (HasGeometryChanges(surfaceLine, entity)) + var newBinaryData = new Point3DBinaryConverter().ToBytes(surfaceLine.Points); + if (!BinaryDataEqualityHelper.AreEqual(entity.PointsData, newBinaryData)) { - foreach (SurfaceLinePointEntity pointEntity in entity.SurfaceLinePointEntities.ToArray()) - { - entity.SurfaceLinePointEntities.Remove(pointEntity); - } - UpdateGeometryPoints(surfaceLine, entity, registry); + entity.PointsData = newBinaryData; } - else - { - var orderedPointEntities = entity.SurfaceLinePointEntities.OrderBy(pe => pe.Order).ToArray(); - for (int i = 0; i < surfaceLine.Points.Length; i++) - { - registry.Register(orderedPointEntities[i], surfaceLine.Points[i]); - } - } } - private static bool HasGeometryChanges(RingtoetsPipingSurfaceLine surfaceLine, SurfaceLineEntity entity) + private static void UpdateCharacteristicPoints(RingtoetsPipingSurfaceLine surfaceLine, SurfaceLineEntity entity, PersistenceRegistry registry) { - if (surfaceLine.Points.Length != entity.SurfaceLinePointEntities.Count) + var characteristicPointAssociations = new[] { - return true; - } - var existingSurfaceLinePointEntities = entity.SurfaceLinePointEntities.OrderBy(pe => pe.Order).ToArray(); - for (int i = 0; i < surfaceLine.Points.Length; i++) - { - // Note: Point3D is immutable, therefore checking for identity is enough. - if (surfaceLine.Points[i].StorageId != existingSurfaceLinePointEntities[i].SurfaceLinePointEntityId) - { - return true; - } - } - return false; - } + Tuple.Create(surfaceLine.BottomDitchPolderSide, CharacteristicPointType.BottomDitchPolderSide), + Tuple.Create(surfaceLine.BottomDitchDikeSide, CharacteristicPointType.BottomDitchDikeSide), + Tuple.Create(surfaceLine.DikeToeAtPolder, CharacteristicPointType.DikeToeAtPolder), + Tuple.Create(surfaceLine.DikeToeAtRiver, CharacteristicPointType.DikeToeAtRiver), + Tuple.Create(surfaceLine.DitchDikeSide, CharacteristicPointType.DitchDikeSide), + Tuple.Create(surfaceLine.DitchPolderSide, CharacteristicPointType.DitchPolderSide) + }; - private static void UpdateGeometryPoints(RingtoetsPipingSurfaceLine surfaceLine, SurfaceLineEntity entity, PersistenceRegistry registry) - { - int order = 0; - foreach (Point3D geometryPoint in surfaceLine.Points) - { - entity.SurfaceLinePointEntities.Add(geometryPoint.CreateSurfaceLinePointEntity(registry, order++)); - } - } + // Add new items at the end to optimize performance during the lookup of existing points + var characteristicPointEntitiesToAdd = new List(); - private static void UpdateCharacteristicPoints(RingtoetsPipingSurfaceLine surfaceLine, SurfaceLineEntity entity, PersistenceRegistry registry) - { - CharacteristicPointEntity[] currentCharacteristicPointEntities = entity.SurfaceLinePointEntities - .SelectMany(pe => pe.CharacteristicPointEntities) - .ToArray(); - - UpdateCharacteristicPoint(surfaceLine.DikeToeAtRiver, CharacteristicPointType.DikeToeAtRiver, - currentCharacteristicPointEntities, registry); - UpdateCharacteristicPoint(surfaceLine.DikeToeAtPolder, CharacteristicPointType.DikeToeAtPolder, - currentCharacteristicPointEntities, registry); - UpdateCharacteristicPoint(surfaceLine.DitchDikeSide, CharacteristicPointType.DitchDikeSide, - currentCharacteristicPointEntities, registry); - UpdateCharacteristicPoint(surfaceLine.BottomDitchDikeSide, CharacteristicPointType.BottomDitchDikeSide, - currentCharacteristicPointEntities, registry); - UpdateCharacteristicPoint(surfaceLine.BottomDitchPolderSide, CharacteristicPointType.BottomDitchPolderSide, - currentCharacteristicPointEntities, registry); - UpdateCharacteristicPoint(surfaceLine.DitchPolderSide, CharacteristicPointType.DitchPolderSide, - currentCharacteristicPointEntities, registry); - } - - private static void UpdateCharacteristicPoint(Point3D currentCharacteristicPoint, CharacteristicPointType type, - CharacteristicPointEntity[] currentCharacteristicPointEntities, - PersistenceRegistry registry) - { - short typeValue = (short)type; - CharacteristicPointEntity characteristicPointEntity = currentCharacteristicPointEntities - .FirstOrDefault(cpe => cpe.CharacteristicPointType == typeValue); - - if (currentCharacteristicPoint == null && characteristicPointEntity != null) + foreach (Tuple characteristicPointAssociation in characteristicPointAssociations) { - characteristicPointEntity.SurfaceLinePointEntity = null; - } - else if (currentCharacteristicPoint != null) - { - SurfaceLinePointEntity geometryPointEntity = registry.GetSurfaceLinePoint(currentCharacteristicPoint); - if (characteristicPointEntity == null) + short typeValue = (short)characteristicPointAssociation.Item2; + var characteristicPointEntity = entity.CharacteristicPointEntities.FirstOrDefault(cpe => cpe.Type == typeValue); + if (characteristicPointAssociation.Item1 == null) { - characteristicPointEntity = new CharacteristicPointEntity + if (characteristicPointEntity != null) { - CharacteristicPointType = typeValue - }; - geometryPointEntity.CharacteristicPointEntities.Add(characteristicPointEntity); + entity.CharacteristicPointEntities.Remove(characteristicPointEntity); + } } - else if (characteristicPointEntity.SurfaceLinePointEntity != geometryPointEntity) + else { - characteristicPointEntity.SurfaceLinePointEntity = geometryPointEntity; + double? xValue = characteristicPointAssociation.Item1.X.ToNaNAsNull(); + double? yValue = characteristicPointAssociation.Item1.Y.ToNaNAsNull(); + double? zValue = characteristicPointAssociation.Item1.Z.ToNaNAsNull(); + + if (characteristicPointEntity == null) + { + var newEntity = new CharacteristicPointEntity + { + Type = typeValue, + X = xValue, + Y = yValue, + Z = zValue + }; + characteristicPointEntitiesToAdd.Add(newEntity); + registry.Register(newEntity, characteristicPointAssociation.Item1); + } + else if (characteristicPointEntity.X.Equals(xValue) && + characteristicPointEntity.Y.Equals(yValue) && + characteristicPointEntity.Z.Equals(zValue)) + { + registry.Register(characteristicPointEntity, characteristicPointAssociation.Item1); + } + else + { + characteristicPointEntity.X = xValue; + characteristicPointEntity.Y = yValue; + characteristicPointEntity.Z = zValue; + + registry.Register(characteristicPointEntity, characteristicPointAssociation.Item1); + } } - registry.Register(characteristicPointEntity, currentCharacteristicPoint); + + foreach (CharacteristicPointEntity characteristicPointEntityToAdd in characteristicPointEntitiesToAdd) + { + entity.CharacteristicPointEntities.Add(characteristicPointEntityToAdd); + } } } } Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Update/Piping/StochasticSoilModelUpdateExtensions.cs =================================================================== diff -u -rdd460a16f3fed1c1fc5abc2842ea57015f6f4a5c -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/src/Application.Ringtoets.Storage/Update/Piping/StochasticSoilModelUpdateExtensions.cs (.../StochasticSoilModelUpdateExtensions.cs) (revision dd460a16f3fed1c1fc5abc2842ea57015f6f4a5c) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Update/Piping/StochasticSoilModelUpdateExtensions.cs (.../StochasticSoilModelUpdateExtensions.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -91,10 +91,10 @@ private static void UpdateSoilModelSegment(StochasticSoilModel model, StochasticSoilModelEntity entity) { - byte[] currentSegmentPointData = new Point2DBinaryConverter().ToBytes(model.Geometry); - if (!BinaryDataEqualityHelper.AreEqual(entity.SegmentPoints, currentSegmentPointData)) + byte[] newBinaryData = new Point2DBinaryConverter().ToBytes(model.Geometry); + if (!BinaryDataEqualityHelper.AreEqual(entity.StochasticSoilModelSegmentPointData, newBinaryData)) { - entity.SegmentPoints = currentSegmentPointData; + entity.StochasticSoilModelSegmentPointData = newBinaryData; } } } Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Application.Ringtoets.Storage.Test.csproj =================================================================== diff -u -rdd460a16f3fed1c1fc5abc2842ea57015f6f4a5c -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Application.Ringtoets.Storage.Test.csproj (.../Application.Ringtoets.Storage.Test.csproj) (revision dd460a16f3fed1c1fc5abc2842ea57015f6f4a5c) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Application.Ringtoets.Storage.Test.csproj (.../Application.Ringtoets.Storage.Test.csproj) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -88,6 +88,7 @@ + @@ -140,11 +141,9 @@ - - @@ -170,7 +169,6 @@ - @@ -188,11 +186,9 @@ - - Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/BinaryConverters/Point3DBinaryConverterTest.cs =================================================================== diff -u --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/BinaryConverters/Point3DBinaryConverterTest.cs (revision 0) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/BinaryConverters/Point3DBinaryConverterTest.cs (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -0,0 +1,101 @@ +// Copyright (C) Stichting Deltares 2016. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System; + +using Application.Ringtoets.Storage.BinaryConverters; + +using Core.Common.Base.Geometry; + +using NUnit.Framework; + +namespace Application.Ringtoets.Storage.Test.BinaryConverters +{ + [TestFixture] + public class Point3DBinaryConverterTest + { + [Test] + public void ToBytes_PointsCollectionNull_ThrowArgumentNullException() + { + // Setup + var converter = new Point3DBinaryConverter(); + + // Call + TestDelegate call = () => converter.ToBytes(null); + + // Assert + string paramName = Assert.Throws(call).ParamName; + Assert.AreEqual("points", paramName); + } + + [Test] + public void ToData_BinaryDataNull_ThrowArgumentNullException() + { + // Setup + var converter = new Point3DBinaryConverter(); + + // Call + TestDelegate call = () => converter.ToData(null); + + // Assert + string paramName = Assert.Throws(call).ParamName; + Assert.AreEqual("serializedData", paramName); + } + + [Test] + public void GivenArrayWithPoint3D_WhenConvertingRoundTrip_ThenEqualArrayOfPoints2D() + { + // Given + var original = new[] + { + new Point3D(-6.6, -5.5, -4.4), + new Point3D(-3.3, -2.2, -1.1), + new Point3D(0.0, 1.1, 2.2), + new Point3D(3.3, 4.4, 5.5), + new Point3D(6.6, 7.7, 8.8), + new Point3D(9.9, 10.10, 11.11) + }; + var converter = new Point3DBinaryConverter(); + + // When + byte[] bytes = converter.ToBytes(original); + Point3D[] roundtripResult = converter.ToData(bytes); + + // Then + CollectionAssert.AreEqual(original, roundtripResult); + } + + [Test] + public void GivenEmptyArray_WhenConvertingRoundTrip_ThenReturnEmptyArray() + { + // Given + var original = new Point3D[0]; + var converter = new Point3DBinaryConverter(); + + // When + byte[] bytes = converter.ToBytes(original); + Point3D[] roundtripResult = converter.ToData(bytes); + + // Then + CollectionAssert.IsEmpty(roundtripResult); + } + } +} \ No newline at end of file Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/AssessmentSectionCreateExtensionsTest.cs =================================================================== diff -u -r424e934ab7fcdef2661e3fee605423ee9fd1b489 -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/AssessmentSectionCreateExtensionsTest.cs (.../AssessmentSectionCreateExtensionsTest.cs) (revision 424e934ab7fcdef2661e3fee605423ee9fd1b489) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/AssessmentSectionCreateExtensionsTest.cs (.../AssessmentSectionCreateExtensionsTest.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -21,6 +21,8 @@ using System; using System.Linq; + +using Application.Ringtoets.Storage.BinaryConverters; using Application.Ringtoets.Storage.Create; using Application.Ringtoets.Storage.DbContext; using Core.Common.Base.Geometry; @@ -108,7 +110,7 @@ Assert.IsNull(entity.HydraulicDatabaseVersion); Assert.IsEmpty(entity.HydraulicLocationEntities); - Assert.IsEmpty(entity.ReferenceLinePointEntities); + Assert.IsNull(entity.ReferenceLinePointData); } [Test] @@ -118,14 +120,16 @@ string testFilePath = "path"; string testVersion = "1"; - var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); - assessmentSection.HydraulicBoundaryDatabase = new HydraulicBoundaryDatabase + var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike) { - FilePath = testFilePath, - Version = testVersion, - Locations = + HydraulicBoundaryDatabase = new HydraulicBoundaryDatabase { - new HydraulicBoundaryLocation(-1, "name", 1, 2) + FilePath = testFilePath, + Version = testVersion, + Locations = + { + new HydraulicBoundaryLocation(-1, "name", 1, 2) + } } }; var registry = new PersistenceRegistry(); @@ -143,27 +147,27 @@ public void Create_WithReferenceLine_AddsReferenceLinePointEntities() { // Setup - var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); - assessmentSection.ReferenceLine = new ReferenceLine(); - assessmentSection.ReferenceLine.SetGeometry(new[] + var points = new[] { new Point2D(1, 0), new Point2D(2, 3), new Point2D(5, 3) - }); + }; + + var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike) + { + ReferenceLine = new ReferenceLine() + }; + assessmentSection.ReferenceLine.SetGeometry(points); + var registry = new PersistenceRegistry(); // Call var entity = assessmentSection.Create(registry); // Assert - Assert.AreEqual(3, entity.ReferenceLinePointEntities.Count); - Assert.AreEqual(new[] - { - 0, - 1, - 2 - }, entity.ReferenceLinePointEntities.Select(rpe => rpe.Order)); + var expectedBinaryData = new Point2DBinaryConverter().ToBytes(points); + CollectionAssert.AreEqual(expectedBinaryData, entity.ReferenceLinePointData); } } } \ No newline at end of file Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/FailureMechanismSectionCreateExtensionsTest.cs =================================================================== diff -u -re0ef393f7069a18d7e160aceaf91f603dfc8c5ae -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/FailureMechanismSectionCreateExtensionsTest.cs (.../FailureMechanismSectionCreateExtensionsTest.cs) (revision e0ef393f7069a18d7e160aceaf91f603dfc8c5ae) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/FailureMechanismSectionCreateExtensionsTest.cs (.../FailureMechanismSectionCreateExtensionsTest.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -20,6 +20,8 @@ // All rights reserved. using System; + +using Application.Ringtoets.Storage.BinaryConverters; using Application.Ringtoets.Storage.Create; using Application.Ringtoets.Storage.TestUtil; using Core.Common.Base.Geometry; @@ -60,7 +62,8 @@ // Assert Assert.IsNotNull(entity); Assert.AreEqual(testName, entity.Name); - Assert.AreEqual(2, entity.FailureMechanismSectionPointEntities.Count); + byte[] expectedBinaryData = new Point2DBinaryConverter().ToBytes(geometryPoints); + CollectionAssert.AreEqual(expectedBinaryData, entity.FailureMechanismSectionPointData); } } } \ No newline at end of file Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/PersistenceRegistryTest.cs =================================================================== diff -u -r848c3a050bda5fb0dd74232deb7f1d5eba8ecbf6 -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/PersistenceRegistryTest.cs (.../PersistenceRegistryTest.cs) (revision 848c3a050bda5fb0dd74232deb7f1d5eba8ecbf6) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/PersistenceRegistryTest.cs (.../PersistenceRegistryTest.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -884,23 +884,6 @@ } [Test] - public void GetSurfaceLinePoint_SurfaceLinePointAdded_ReturnsEntity() - { - // Setup - var surfaceLineGeometryPoint = new Point3D(1.1, 2.2, 3.3); - var initializedEntity = new SurfaceLinePointEntity(); - - var registry = new PersistenceRegistry(); - registry.Register(initializedEntity, surfaceLineGeometryPoint); - - // Call - SurfaceLinePointEntity retrievedEntity = registry.GetSurfaceLinePoint(surfaceLineGeometryPoint); - - // Assert - Assert.AreSame(initializedEntity, retrievedEntity); - } - - [Test] public void Get_WithoutDikeProfile_ThrowsArgumentNullException() { // Setup @@ -2050,43 +2033,15 @@ var paramName = Assert.Throws(test).ParamName; Assert.AreEqual("model", paramName); } - + [Test] - public void Register_WithNullSurfaceLinePointEntity_ThrowsArgumentNullException() - { - // Setup - var registry = new PersistenceRegistry(); - - // Call - TestDelegate call = () => registry.Register((SurfaceLinePointEntity) null, new Point3D(1.1, 2.2, 3.3)); - - // Assert - var paramName = Assert.Throws(call).ParamName; - Assert.AreEqual("entity", paramName); - } - - [Test] - public void Register_WithNullSurfaceLinePoint_ThrowsArgumentNullException() - { - // Setup - var registry = new PersistenceRegistry(); - - // Call - TestDelegate call = () => registry.Register(new SurfaceLinePointEntity(), null); - - // Assert - var paramName = Assert.Throws(call).ParamName; - Assert.AreEqual("model", paramName); - } - - [Test] public void Register_WithNullCharacteristicPointEntity_ThrowsArgumentNullException() { // Setup var registry = new PersistenceRegistry(); // Call - TestDelegate call = () => registry.Register((CharacteristicPointEntity) null, new Point3D(1.1, 2.2, 3.3)); + TestDelegate call = () => registry.Register(null, new Point3D(1.1, 2.2, 3.3)); // Assert var paramName = Assert.Throws(call).ParamName; @@ -2939,29 +2894,8 @@ // Assert Assert.AreEqual(storageId, model.StorageId); } - + [Test] - public void TransferIds_WithSurfaceLinePointEntityAdded_EqualSurfaceLinePointEntityIdAndPoint3DStorageId() - { - // Setup - var registry = new PersistenceRegistry(); - - long storageId = new Random(21).Next(1, 4000); - var entity = new SurfaceLinePointEntity - { - SurfaceLinePointEntityId = storageId - }; - var model = new Point3D(1.1, 2.2, 3.3); - registry.Register(entity, model); - - // Call - registry.TransferIds(); - - // Assert - Assert.AreEqual(storageId, model.StorageId); - } - - [Test] public void TransferIds_WithPipingFailureMechanismMetaEntityAdded_EqualFailureMechanismMetaEntityIdAndPipingProbabilityAssessmentInputStorageId() { // Setup @@ -4314,44 +4248,8 @@ CollectionAssert.Contains(dbContext.SurfaceLineEntities, persistentEntity); mocks.VerifyAll(); } - + [Test] - public void RemoveUntouched_SurfaceLinePointEntity_OrphanedEntityIsRemovedFromRingtoetsEntities() - { - // Setup - var mocks = new MockRepository(); - IRingtoetsEntities dbContext = RingtoetsEntitiesHelper.CreateStub(mocks); - mocks.ReplayAll(); - - var orphanedEntity = new SurfaceLinePointEntity - { - SurfaceLinePointEntityId = 1 - }; - var persistentEntity = new SurfaceLinePointEntity - { - SurfaceLinePointEntityId = 2 - }; - dbContext.SurfaceLinePointEntities.Add(orphanedEntity); - dbContext.SurfaceLinePointEntities.Add(persistentEntity); - - var geometryPoint = new Point3D(1, 2, 3) - { - StorageId = persistentEntity.SurfaceLinePointEntityId - }; - - var registry = new PersistenceRegistry(); - registry.Register(persistentEntity, geometryPoint); - - // Call - registry.RemoveUntouched(dbContext); - - // Assert - Assert.AreEqual(1, dbContext.SurfaceLinePointEntities.Count()); - CollectionAssert.Contains(dbContext.SurfaceLinePointEntities, persistentEntity); - mocks.VerifyAll(); - } - - [Test] public void RemoveUntouched_CharacteristicPointEntity_OrphanedEntityIsRemovedFromRingtoetsEntities() { // Setup @@ -4370,10 +4268,7 @@ dbContext.CharacteristicPointEntities.Add(orphanedEntity); dbContext.CharacteristicPointEntities.Add(persistentEntity); - var geometryPoint = new Point3D(1, 2, 3) - { - StorageId = 394624 // Note: ID only has to match a SurfaceLinePointEntity's id! - }; + var geometryPoint = new Point3D(1, 2, 3); var registry = new PersistenceRegistry(); registry.Register(persistentEntity, geometryPoint); Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/Piping/RingtoetsPipingSurfaceLineCreateExtensionsTest.cs =================================================================== diff -u -r01ff2c58c13df8f42661ae3e446dc2caaa94247e -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/Piping/RingtoetsPipingSurfaceLineCreateExtensionsTest.cs (.../RingtoetsPipingSurfaceLineCreateExtensionsTest.cs) (revision 01ff2c58c13df8f42661ae3e446dc2caaa94247e) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/Piping/RingtoetsPipingSurfaceLineCreateExtensionsTest.cs (.../RingtoetsPipingSurfaceLineCreateExtensionsTest.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -22,6 +22,7 @@ using System; using System.Linq; +using Application.Ringtoets.Storage.BinaryConverters; using Application.Ringtoets.Storage.Create; using Application.Ringtoets.Storage.Create.Piping; using Application.Ringtoets.Storage.DbContext; @@ -72,7 +73,7 @@ Assert.AreEqual(0, entity.SurfaceLineEntityId); Assert.AreEqual(0, entity.FailureMechanismEntityId); Assert.IsNull(entity.FailureMechanismEntity); - CollectionAssert.IsEmpty(entity.SurfaceLinePointEntities); + CollectionAssert.AreEqual(new Point3DBinaryConverter().ToBytes(new Point3D[0]), entity.PointsData); } [Test] @@ -101,19 +102,9 @@ Assert.AreEqual(surfaceLine.ReferenceLineIntersectionWorldPoint.X, entity.ReferenceLineIntersectionX); Assert.AreEqual(surfaceLine.ReferenceLineIntersectionWorldPoint.Y, entity.ReferenceLineIntersectionY); - Assert.AreEqual(geometry.Length, entity.SurfaceLinePointEntities.Count); - SurfaceLinePointEntity[] pointEntities = entity.SurfaceLinePointEntities.ToArray(); - for (int i = 0; i < geometry.Length; i++) - { - SurfaceLinePointEntity pointEntity = pointEntities[i]; - Assert.AreEqual(i, pointEntity.Order); + byte[] expectedBinaryData = new Point3DBinaryConverter().ToBytes(geometry); + CollectionAssert.AreEqual(expectedBinaryData, entity.PointsData); - Point3D expectedMatchingGeometryPoint = geometry[i]; - Assert.AreEqual(expectedMatchingGeometryPoint.X, pointEntity.X); - Assert.AreEqual(expectedMatchingGeometryPoint.Y, pointEntity.Y); - Assert.AreEqual(expectedMatchingGeometryPoint.Z, pointEntity.Z); - } - Assert.AreEqual(0, entity.SurfaceLineEntityId); Assert.AreEqual(0, entity.FailureMechanismEntityId); Assert.IsNull(entity.FailureMechanismEntity); @@ -162,43 +153,50 @@ Assert.AreEqual(surfaceLine.ReferenceLineIntersectionWorldPoint.X, entity.ReferenceLineIntersectionX); Assert.AreEqual(surfaceLine.ReferenceLineIntersectionWorldPoint.Y, entity.ReferenceLineIntersectionY); - Assert.AreEqual(geometry.Length, entity.SurfaceLinePointEntities.Count); - SurfaceLinePointEntity[] pointEntities = entity.SurfaceLinePointEntities.ToArray(); - for (int i = 0; i < geometry.Length; i++) - { - SurfaceLinePointEntity pointEntity = pointEntities[i]; - Assert.AreEqual(i, pointEntity.Order); + byte[] expectedBinaryData = new Point3DBinaryConverter().ToBytes(geometry); + CollectionAssert.AreEqual(expectedBinaryData, entity.PointsData); - Point3D expectedMatchingGeometryPoint = geometry[i]; - Assert.AreEqual(expectedMatchingGeometryPoint.X, pointEntity.X); - Assert.AreEqual(expectedMatchingGeometryPoint.Y, pointEntity.Y); - Assert.AreEqual(expectedMatchingGeometryPoint.Z, pointEntity.Z); + Assert.AreEqual(6, entity.CharacteristicPointEntities.Count); + foreach (CharacteristicPointEntity characteristicPointEntity in entity.CharacteristicPointEntities) + { + switch (characteristicPointEntity.Type) + { + case (short)CharacteristicPointType.BottomDitchDikeSide: + Assert.AreEqual(geometry[bottomDitchDikeIndex].X, characteristicPointEntity.X); + Assert.AreEqual(geometry[bottomDitchDikeIndex].Y, characteristicPointEntity.Y); + Assert.AreEqual(geometry[bottomDitchDikeIndex].Z, characteristicPointEntity.Z); + break; + case (short)CharacteristicPointType.BottomDitchPolderSide: + Assert.AreEqual(geometry[bottomDitchPolderIndex].X, characteristicPointEntity.X); + Assert.AreEqual(geometry[bottomDitchPolderIndex].Y, characteristicPointEntity.Y); + Assert.AreEqual(geometry[bottomDitchPolderIndex].Z, characteristicPointEntity.Z); + break; + case (short)CharacteristicPointType.DikeToeAtPolder: + Assert.AreEqual(geometry[toePolderIndex].X, characteristicPointEntity.X); + Assert.AreEqual(geometry[toePolderIndex].Y, characteristicPointEntity.Y); + Assert.AreEqual(geometry[toePolderIndex].Z, characteristicPointEntity.Z); + break; + case (short)CharacteristicPointType.DikeToeAtRiver: + Assert.AreEqual(geometry[toeDikeIndex].X, characteristicPointEntity.X); + Assert.AreEqual(geometry[toeDikeIndex].Y, characteristicPointEntity.Y); + Assert.AreEqual(geometry[toeDikeIndex].Z, characteristicPointEntity.Z); + break; + case (short)CharacteristicPointType.DitchDikeSide: + Assert.AreEqual(geometry[ditchDikeIndex].X, characteristicPointEntity.X); + Assert.AreEqual(geometry[ditchDikeIndex].Y, characteristicPointEntity.Y); + Assert.AreEqual(geometry[ditchDikeIndex].Z, characteristicPointEntity.Z); + break; + case (short)CharacteristicPointType.DitchPolderSide: + Assert.AreEqual(geometry[ditchPolderIndex].X, characteristicPointEntity.X); + Assert.AreEqual(geometry[ditchPolderIndex].Y, characteristicPointEntity.Y); + Assert.AreEqual(geometry[ditchPolderIndex].Z, characteristicPointEntity.Z); + break; + default: + Assert.Fail("Invalid characteristic point type found: {0}", characteristicPointEntity.Type); + break; + } } - SurfaceLinePointEntity bottomDitchDikeEntity = pointEntities[bottomDitchDikeIndex]; - Assert.AreEqual(1, bottomDitchDikeEntity.CharacteristicPointEntities.Count); - Assert.AreEqual((short)CharacteristicPointType.BottomDitchDikeSide, bottomDitchDikeEntity.CharacteristicPointEntities.First().CharacteristicPointType); - - SurfaceLinePointEntity bottomDitchPolderEntity = pointEntities[bottomDitchPolderIndex]; - Assert.AreEqual(1, bottomDitchPolderEntity.CharacteristicPointEntities.Count); - Assert.AreEqual((short)CharacteristicPointType.BottomDitchPolderSide, bottomDitchPolderEntity.CharacteristicPointEntities.First().CharacteristicPointType); - - SurfaceLinePointEntity dikeToePolderEntity = pointEntities[toePolderIndex]; - Assert.AreEqual(1, dikeToePolderEntity.CharacteristicPointEntities.Count); - Assert.AreEqual((short)CharacteristicPointType.DikeToeAtPolder, dikeToePolderEntity.CharacteristicPointEntities.First().CharacteristicPointType); - - SurfaceLinePointEntity dikeToeRiverEntity = pointEntities[toeDikeIndex]; - Assert.AreEqual(1, dikeToeRiverEntity.CharacteristicPointEntities.Count); - Assert.AreEqual((short)CharacteristicPointType.DikeToeAtRiver, dikeToeRiverEntity.CharacteristicPointEntities.First().CharacteristicPointType); - - SurfaceLinePointEntity ditchDikeEntity = pointEntities[ditchDikeIndex]; - Assert.AreEqual(1, ditchDikeEntity.CharacteristicPointEntities.Count); - Assert.AreEqual((short)CharacteristicPointType.DitchDikeSide, ditchDikeEntity.CharacteristicPointEntities.First().CharacteristicPointType); - - SurfaceLinePointEntity ditchPolderEntity = pointEntities[ditchPolderIndex]; - Assert.AreEqual(1, ditchPolderEntity.CharacteristicPointEntities.Count); - Assert.AreEqual((short)CharacteristicPointType.DitchPolderSide, ditchPolderEntity.CharacteristicPointEntities.First().CharacteristicPointType); - Assert.AreEqual(0, entity.SurfaceLineEntityId); Assert.AreEqual(0, entity.FailureMechanismEntityId); Assert.IsNull(entity.FailureMechanismEntity); @@ -234,24 +232,13 @@ Assert.AreEqual(surfaceLine.ReferenceLineIntersectionWorldPoint.X, entity.ReferenceLineIntersectionX); Assert.AreEqual(surfaceLine.ReferenceLineIntersectionWorldPoint.Y, entity.ReferenceLineIntersectionY); - Assert.AreEqual(geometry.Length, entity.SurfaceLinePointEntities.Count); - SurfaceLinePointEntity[] pointEntities = entity.SurfaceLinePointEntities.ToArray(); - for (int i = 0; i < geometry.Length; i++) - { - SurfaceLinePointEntity pointEntity = pointEntities[i]; - Assert.AreEqual(i, pointEntity.Order); + byte[] expectedBinaryData = new Point3DBinaryConverter().ToBytes(geometry); + CollectionAssert.AreEqual(expectedBinaryData, entity.PointsData); - Point3D expectedMatchingGeometryPoint = geometry[i]; - Assert.AreEqual(expectedMatchingGeometryPoint.X, pointEntity.X); - Assert.AreEqual(expectedMatchingGeometryPoint.Y, pointEntity.Y); - Assert.AreEqual(expectedMatchingGeometryPoint.Z, pointEntity.Z); - } - - SurfaceLinePointEntity characteristicGeometryPointEntity = pointEntities[0]; - Assert.AreEqual(6, characteristicGeometryPointEntity.CharacteristicPointEntities.Count); - short[] characteristicPointTypeValues = characteristicGeometryPointEntity.CharacteristicPointEntities - .Select(cpe => cpe.CharacteristicPointType) - .ToArray(); + Assert.AreEqual(6, entity.CharacteristicPointEntities.Count); + short[] characteristicPointTypeValues = entity.CharacteristicPointEntities + .Select(cpe => cpe.Type) + .ToArray(); CollectionAssert.Contains(characteristicPointTypeValues, (short)CharacteristicPointType.DikeToeAtRiver); CollectionAssert.Contains(characteristicPointTypeValues, (short)CharacteristicPointType.DikeToeAtPolder); CollectionAssert.Contains(characteristicPointTypeValues, (short)CharacteristicPointType.DitchDikeSide); Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/Piping/StochasticSoilModelCreateExtensionsTest.cs =================================================================== diff -u -r23766b602d9b509a2ffc030f284e8d5e82325a3e -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/Piping/StochasticSoilModelCreateExtensionsTest.cs (.../StochasticSoilModelCreateExtensionsTest.cs) (revision 23766b602d9b509a2ffc030f284e8d5e82325a3e) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/Piping/StochasticSoilModelCreateExtensionsTest.cs (.../StochasticSoilModelCreateExtensionsTest.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -114,7 +114,7 @@ // Assert Assert.IsNotNull(entity); var expectedBinaryData = new Point2DBinaryConverter().ToBytes(stochasticSoilModel.Geometry); - CollectionAssert.AreEqual(expectedBinaryData, entity.SegmentPoints); + CollectionAssert.AreEqual(expectedBinaryData, entity.StochasticSoilModelSegmentPointData); } [Test] Fisheye: Tag 508d720230c5f63bce7f95bddc3b7a04808d267d refers to a dead (removed) revision in file `Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/Point2DCreateExtensionsTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 508d720230c5f63bce7f95bddc3b7a04808d267d refers to a dead (removed) revision in file `Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/Point3DCreateExtensionsTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/AssessmentSectionEntityReadExtensionsTest.cs =================================================================== diff -u -r23766b602d9b509a2ffc030f284e8d5e82325a3e -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/AssessmentSectionEntityReadExtensionsTest.cs (.../AssessmentSectionEntityReadExtensionsTest.cs) (revision 23766b602d9b509a2ffc030f284e8d5e82325a3e) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/AssessmentSectionEntityReadExtensionsTest.cs (.../AssessmentSectionEntityReadExtensionsTest.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -102,26 +102,21 @@ double firstY = random.NextDouble(); double secondX = random.NextDouble(); double secondY = random.NextDouble(); - entity.ReferenceLinePointEntities.Add(new ReferenceLinePointEntity + + var points = new[] { - Order = 2, X = firstX, Y = firstY - }); - entity.ReferenceLinePointEntities.Add(new ReferenceLinePointEntity - { - Order = 1, X = secondX, Y = secondY - }); + new Point2D(firstX, firstY), + new Point2D(secondX, secondY) + }; + entity.ReferenceLinePointData = new Point2DBinaryConverter().ToBytes(points); var collector = new ReadConversionCollector(); // Call var section = entity.Read(collector); // Assert - Assert.AreEqual(2, section.ReferenceLine.Points.Count()); - Assert.AreEqual(secondX, section.ReferenceLine.Points.ElementAt(0).X, 1e-6); - Assert.AreEqual(secondY, section.ReferenceLine.Points.ElementAt(0).Y, 1e-6); - Assert.AreEqual(firstX, section.ReferenceLine.Points.ElementAt(1).X, 1e-6); - Assert.AreEqual(firstY, section.ReferenceLine.Points.ElementAt(1).Y, 1e-6); + CollectionAssert.AreEqual(points, section.ReferenceLine.Points); } [Test] @@ -220,11 +215,11 @@ { new StochasticSoilModelEntity { - SegmentPoints = emptySegmentPointsData + StochasticSoilModelSegmentPointData = emptySegmentPointsData }, new StochasticSoilModelEntity { - SegmentPoints = emptySegmentPointsData + StochasticSoilModelSegmentPointData = emptySegmentPointsData } } }; @@ -250,6 +245,7 @@ var entity = CreateAssessmentSectionEntity(); var entityId = new Random(21).Next(1, 502); + var emptyPointsData = new Point3DBinaryConverter().ToBytes(new Point3D[0]); var failureMechanismEntity = new FailureMechanismEntity { FailureMechanismEntityId = entityId, @@ -261,8 +257,14 @@ IsRelevant = Convert.ToByte(isRelevant), SurfaceLineEntities = { - new SurfaceLineEntity(), - new SurfaceLineEntity() + new SurfaceLineEntity + { + PointsData = emptyPointsData + }, + new SurfaceLineEntity + { + PointsData = emptyPointsData + } } }; entity.FailureMechanismEntities.Add(failureMechanismEntity); @@ -545,25 +547,24 @@ private static FailureMechanismSectionEntity[] CreateFailureMechanismSectionEntities() { + var dummyPointData = new[] + { + new Point2D(0.0, 0.0) + }; + byte[] dummyPointBinaryData = new Point2DBinaryConverter().ToBytes(dummyPointData); return new[] { new FailureMechanismSectionEntity { FailureMechanismSectionEntityId = 1, Name = "", - FailureMechanismSectionPointEntities = - { - new FailureMechanismSectionPointEntity() - } + FailureMechanismSectionPointData = dummyPointBinaryData }, new FailureMechanismSectionEntity { FailureMechanismSectionEntityId = 2, Name = "", - FailureMechanismSectionPointEntities = - { - new FailureMechanismSectionPointEntity() - } + FailureMechanismSectionPointData = dummyPointBinaryData } }; } Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/FailureMechanismEntityReadExtensionsTest.cs =================================================================== diff -u -r23766b602d9b509a2ffc030f284e8d5e82325a3e -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/FailureMechanismEntityReadExtensionsTest.cs (.../FailureMechanismEntityReadExtensionsTest.cs) (revision 23766b602d9b509a2ffc030f284e8d5e82325a3e) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/FailureMechanismEntityReadExtensionsTest.cs (.../FailureMechanismEntityReadExtensionsTest.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -129,11 +129,11 @@ { new StochasticSoilModelEntity { - SegmentPoints = emptySegmentPointsData + StochasticSoilModelSegmentPointData = emptySegmentPointsData }, new StochasticSoilModelEntity { - SegmentPoints = emptySegmentPointsData + StochasticSoilModelSegmentPointData = emptySegmentPointsData } } }; @@ -151,6 +151,7 @@ public void ReadAsPipingFailureMechanism_WithSurfaceLines_ReturnsNewPipingFailureMechanismWithSurfaceLinesSet() { // Setup + byte[] emptyPointsData = new Point3DBinaryConverter().ToBytes(new Point3D[0]); var entity = new FailureMechanismEntity { CalculationGroupEntity = new CalculationGroupEntity @@ -159,8 +160,14 @@ }, SurfaceLineEntities = { - new SurfaceLineEntity(), - new SurfaceLineEntity() + new SurfaceLineEntity + { + PointsData = emptyPointsData + }, + new SurfaceLineEntity + { + PointsData = emptyPointsData + } } }; var collector = new ReadConversionCollector(); @@ -178,14 +185,7 @@ { // Setup var entityId = new Random(21).Next(1, 502); - var failureMechanismSectionEntity = new FailureMechanismSectionEntity - { - Name = "section", - FailureMechanismSectionPointEntities = - { - new FailureMechanismSectionPointEntity() - } - }; + FailureMechanismSectionEntity failureMechanismSectionEntity = CreateSimpleFailureMechanismSectionEntity(); var pipingSectionResultEntity = new PipingSectionResultEntity { PipingSectionResultEntityId = entityId, @@ -375,14 +375,7 @@ { // Setup var entityId = new Random(21).Next(1, 502); - var failureMechanismSectionEntity = new FailureMechanismSectionEntity - { - Name = "section", - FailureMechanismSectionPointEntities = - { - new FailureMechanismSectionPointEntity() - } - }; + FailureMechanismSectionEntity failureMechanismSectionEntity = CreateSimpleFailureMechanismSectionEntity(); var grassCoverErosionInwardsSectionResultEntity = new GrassCoverErosionInwardsSectionResultEntity { GrassCoverErosionInwardsSectionResultEntityId = entityId, @@ -523,14 +516,7 @@ FailureMechanismEntityId = entityId, FailureMechanismSectionEntities = { - new FailureMechanismSectionEntity - { - Name = "section", - FailureMechanismSectionPointEntities = - { - new FailureMechanismSectionPointEntity() - } - } + CreateSimpleFailureMechanismSectionEntity() } }; var collector = new ReadConversionCollector(); @@ -542,5 +528,20 @@ // Assert Assert.AreEqual(1, failureMechanism.Sections.Count()); } + + private static FailureMechanismSectionEntity CreateSimpleFailureMechanismSectionEntity() + { + var dummyPoints = new[] + { + new Point2D(0, 0) + }; + byte[] dymmyPointData = new Point2DBinaryConverter().ToBytes(dummyPoints); + var failureMechanismSectionEntity = new FailureMechanismSectionEntity + { + Name = "section", + FailureMechanismSectionPointData = dymmyPointData + }; + return failureMechanismSectionEntity; + } } } \ No newline at end of file Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/FailureMechanismSectionEntityReadExtensionsTest.cs =================================================================== diff -u -r0046acb203ae12c74743abc12f57e557d96f9c5a -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/FailureMechanismSectionEntityReadExtensionsTest.cs (.../FailureMechanismSectionEntityReadExtensionsTest.cs) (revision 0046acb203ae12c74743abc12f57e557d96f9c5a) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/FailureMechanismSectionEntityReadExtensionsTest.cs (.../FailureMechanismSectionEntityReadExtensionsTest.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -20,8 +20,13 @@ // All rights reserved. using System; + +using Application.Ringtoets.Storage.BinaryConverters; using Application.Ringtoets.Storage.DbContext; using Application.Ringtoets.Storage.Read; + +using Core.Common.Base.Geometry; + using NUnit.Framework; namespace Application.Ringtoets.Storage.Test.Read @@ -47,14 +52,16 @@ var random = new Random(21); var entityId = random.Next(1, 502); string name = "testName"; + var points = new[] + { + new Point2D(0, 0) + }; + byte[] pointData = new Point2DBinaryConverter().ToBytes(points); var entity = new FailureMechanismSectionEntity { FailureMechanismSectionEntityId = entityId, Name = name, - FailureMechanismSectionPointEntities = - { - new FailureMechanismSectionPointEntity() - } + FailureMechanismSectionPointData = pointData }; // Call Fisheye: Tag 508d720230c5f63bce7f95bddc3b7a04808d267d refers to a dead (removed) revision in file `Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/FailureMechanismSectionPointEntityReadExtensionsTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/Piping/PipingCalculationEntityReadExtensionsTest.cs =================================================================== diff -u -r23766b602d9b509a2ffc030f284e8d5e82325a3e -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/Piping/PipingCalculationEntityReadExtensionsTest.cs (.../PipingCalculationEntityReadExtensionsTest.cs) (revision 23766b602d9b509a2ffc030f284e8d5e82325a3e) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/Piping/PipingCalculationEntityReadExtensionsTest.cs (.../PipingCalculationEntityReadExtensionsTest.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -171,31 +171,16 @@ public void Read_EntityWithSurfaceLineNotYetInCollector_CalculationWithCreatedSurfaceLineAndRegisteredNewEntities() { // Setup - var pointEntity1 = new SurfaceLinePointEntity + var points = new[] { - Order = 0, - SurfaceLinePointEntityId = 1, - X = 1, - Y = 3, - Z = 4 + new Point3D(1, 3, 4), + new Point3D(7, 10, 11) }; - var pointEntity2 = new SurfaceLinePointEntity - { - Order = 1, - SurfaceLinePointEntityId = 2, - X = 7, - Y = 10, - Z = 11 - }; var surfaceLineEntity = new SurfaceLineEntity { SurfaceLineEntityId = 123, - SurfaceLinePointEntities = - { - pointEntity1, - pointEntity2 - } + PointsData = new Point3DBinaryConverter().ToBytes(points) }; var entity = new PipingCalculationEntity @@ -217,8 +202,7 @@ // Assert Assert.AreEqual(surfaceLineEntity.SurfaceLineEntityId, calculation.InputParameters.SurfaceLine.StorageId); Assert.IsTrue(collector.Contains(surfaceLineEntity)); - Assert.IsTrue(collector.Contains(pointEntity1)); - Assert.IsTrue(collector.Contains(pointEntity2)); + CollectionAssert.AreEqual(points, calculation.InputParameters.SurfaceLine.Points); } [Test] @@ -334,7 +318,7 @@ var stochasticSoilModelEntity = new StochasticSoilModelEntity { StochasticSoilModelEntityId = 75, - SegmentPoints = new Point2DBinaryConverter().ToBytes(new Point2D[0]), + StochasticSoilModelSegmentPointData = new Point2DBinaryConverter().ToBytes(new Point2D[0]), StochasticSoilProfileEntities = { stochasticSoilProfileEntity Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/Piping/StochasticSoilModelEntityReadExtensionsTest.cs =================================================================== diff -u -r23766b602d9b509a2ffc030f284e8d5e82325a3e -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/Piping/StochasticSoilModelEntityReadExtensionsTest.cs (.../StochasticSoilModelEntityReadExtensionsTest.cs) (revision 23766b602d9b509a2ffc030f284e8d5e82325a3e) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/Piping/StochasticSoilModelEntityReadExtensionsTest.cs (.../StochasticSoilModelEntityReadExtensionsTest.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -63,7 +63,7 @@ StochasticSoilModelEntityId = entityId, Name = testName, SegmentName = testSegmentName, - SegmentPoints = new Point2DBinaryConverter().ToBytes(new Point2D[0]) + StochasticSoilModelSegmentPointData = new Point2DBinaryConverter().ToBytes(new Point2D[0]) }; var collector = new ReadConversionCollector(); @@ -83,7 +83,7 @@ // Setup var entity = new StochasticSoilModelEntity { - SegmentPoints = new Point2DBinaryConverter().ToBytes(new Point2D[0]), + StochasticSoilModelSegmentPointData = new Point2DBinaryConverter().ToBytes(new Point2D[0]), StochasticSoilProfileEntities = { new StochasticSoilProfileEntity @@ -129,7 +129,7 @@ var entity = new StochasticSoilModelEntity { - SegmentPoints = new Point2DBinaryConverter().ToBytes(segmentPoints) + StochasticSoilModelSegmentPointData = new Point2DBinaryConverter().ToBytes(segmentPoints) }; var collector = new ReadConversionCollector(); @@ -146,7 +146,7 @@ // Setup var entity = new StochasticSoilModelEntity { - SegmentPoints = new Point2DBinaryConverter().ToBytes(new Point2D[0]) + StochasticSoilModelSegmentPointData = new Point2DBinaryConverter().ToBytes(new Point2D[0]) }; var collector = new ReadConversionCollector(); Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/Piping/SurfaceLineEntityReadExtensionsTest.cs =================================================================== diff -u -ra294987551b0b2d8a27b6e1bc6235b0e2351b6f4 -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/Piping/SurfaceLineEntityReadExtensionsTest.cs (.../SurfaceLineEntityReadExtensionsTest.cs) (revision a294987551b0b2d8a27b6e1bc6235b0e2351b6f4) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/Piping/SurfaceLineEntityReadExtensionsTest.cs (.../SurfaceLineEntityReadExtensionsTest.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -22,6 +22,7 @@ using System; using System.Linq; +using Application.Ringtoets.Storage.BinaryConverters; using Application.Ringtoets.Storage.DbContext; using Application.Ringtoets.Storage.Read; using Application.Ringtoets.Storage.Read.Piping; @@ -66,7 +67,8 @@ SurfaceLineEntityId = id, Name = name, ReferenceLineIntersectionX = intersectionX, - ReferenceLineIntersectionY = intersectionY + ReferenceLineIntersectionY = intersectionY, + PointsData = new Point3DBinaryConverter().ToBytes(new Point3D[0]) }; // Call @@ -99,48 +101,21 @@ const double intersectionX = 3.4; const double intersectionY = 7.5; - var point1Entity = new SurfaceLinePointEntity + var points = new[] { - X = 1.1, - Y = 2.2, - Z = 3.3, - Order = 0, - SurfaceLinePointEntityId = 1 + new Point3D(1.1, 2.2, 3.3), + new Point3D(4.4, 5.5, 6.6), + new Point3D(7.7, 8.8, 9.9) }; - var point2Entity = new SurfaceLinePointEntity - { - X = 4.4, - Y = 5.5, - Z = 6.6, - Order = 1, - SurfaceLinePointEntityId = 2 - }; - var point3Entity = new SurfaceLinePointEntity - { - X = 7.7, - Y = 8.8, - Z = 9.9, - Order = 2, - SurfaceLinePointEntityId = 3 - }; - var sourceCollection = new[] - { - point1Entity, - point2Entity, - point3Entity - }; var entity = new SurfaceLineEntity { SurfaceLineEntityId = id, Name = name, ReferenceLineIntersectionX = intersectionX, - ReferenceLineIntersectionY = intersectionY + ReferenceLineIntersectionY = intersectionY, + PointsData = new Point3DBinaryConverter().ToBytes(points) }; - foreach (SurfaceLinePointEntity pointEntity in sourceCollection) - { - entity.SurfaceLinePointEntities.Add(pointEntity); - } // Call RingtoetsPipingSurfaceLine surfaceLine = entity.Read(collector); @@ -151,19 +126,8 @@ Assert.AreEqual(intersectionX, surfaceLine.ReferenceLineIntersectionWorldPoint.X); Assert.AreEqual(intersectionY, surfaceLine.ReferenceLineIntersectionWorldPoint.Y); - Point3D[] geometry = surfaceLine.Points.ToArray(); - Assert.AreEqual(sourceCollection.Length, geometry.Length); - for (int i = 0; i < sourceCollection.Length; i++) - { - SurfaceLinePointEntity sourceEntity = sourceCollection[i]; - Point3D geometryPoint = geometry[i]; + CollectionAssert.AreEqual(points, surfaceLine.Points); - Assert.AreEqual(sourceEntity.X, geometryPoint.X); - Assert.AreEqual(sourceEntity.Y, geometryPoint.Y); - Assert.AreEqual(sourceEntity.Z, geometryPoint.Z); - Assert.AreEqual(sourceEntity.SurfaceLinePointEntityId, geometryPoint.StorageId); - } - Assert.IsNull(surfaceLine.BottomDitchDikeSide); Assert.IsNull(surfaceLine.BottomDitchPolderSide); Assert.IsNull(surfaceLine.DikeToeAtPolder); @@ -183,123 +147,32 @@ const double intersectionX = 3.4; const double intersectionY = 7.5; - var point1Entity = new SurfaceLinePointEntity + var points = new[] { - X = 1.1, - Y = 2.2, - Z = 3.3, - Order = 0, - SurfaceLinePointEntityId = 1 + new Point3D(1.1, 2.2, 3.3), + new Point3D(4.4, 5.5, 6.6), + new Point3D(7.7, 8.8, 9.9), + new Point3D(10.10, 11.11, 12.12), + new Point3D(13.13, 14.14, 15.15), + new Point3D(16.16, 17.17, 18.18), + new Point3D(19.19, 20.20, 21.21), + new Point3D(22.22, 23.23, 24.24), }; - var point2Entity = new SurfaceLinePointEntity - { - X = 4.4, - Y = 5.5, - Z = 6.6, - Order = 1, - SurfaceLinePointEntityId = 2 - }; - var point3Entity = new SurfaceLinePointEntity - { - X = 7.7, - Y = 8.8, - Z = 9.9, - Order = 2, - SurfaceLinePointEntityId = 3 - }; - var point4Entity = new SurfaceLinePointEntity - { - X = 10.10, - Y = 11.11, - Z = 12.12, - Order = 3, - SurfaceLinePointEntityId = 4 - }; - var point5Entity = new SurfaceLinePointEntity - { - X = 13.13, - Y = 14.14, - Z = 15.15, - Order = 4, - SurfaceLinePointEntityId = 5 - }; - var point6Entity = new SurfaceLinePointEntity - { - X = 16.16, - Y = 17.17, - Z = 18.18, - Order = 5, - SurfaceLinePointEntityId = 6 - }; - var point7Entity = new SurfaceLinePointEntity - { - X = 19.19, - Y = 20.20, - Z = 21.21, - Order = 6, - SurfaceLinePointEntityId = 7 - }; - var point8Entity = new SurfaceLinePointEntity - { - X = 22.22, - Y = 23.23, - Z = 24.24, - Order = 7, - SurfaceLinePointEntityId = 8 - }; - var sourceCollection = new[] - { - point1Entity, - point2Entity, - point3Entity, - point4Entity, - point5Entity, - point6Entity, - point7Entity, - point8Entity - }; var entity = new SurfaceLineEntity { SurfaceLineEntityId = id, Name = name, ReferenceLineIntersectionX = intersectionX, - ReferenceLineIntersectionY = intersectionY + ReferenceLineIntersectionY = intersectionY, + PointsData = new Point3DBinaryConverter().ToBytes(points) }; - foreach (SurfaceLinePointEntity pointEntity in sourceCollection) - { - entity.SurfaceLinePointEntities.Add(pointEntity); - } - point2Entity.CharacteristicPointEntities.Add(new CharacteristicPointEntity - { - CharacteristicPointType = (short)CharacteristicPointType.BottomDitchDikeSide, - SurfaceLinePointEntity = point2Entity - }); - point3Entity.CharacteristicPointEntities.Add(new CharacteristicPointEntity - { - CharacteristicPointType = (short)CharacteristicPointType.BottomDitchPolderSide, - SurfaceLinePointEntity = point3Entity - }); - point4Entity.CharacteristicPointEntities.Add(new CharacteristicPointEntity - { - CharacteristicPointType = (short)CharacteristicPointType.DikeToeAtPolder, - SurfaceLinePointEntity = point4Entity - }); - point5Entity.CharacteristicPointEntities.Add(new CharacteristicPointEntity - { - CharacteristicPointType = (short)CharacteristicPointType.DikeToeAtRiver, - SurfaceLinePointEntity = point5Entity - }); - point6Entity.CharacteristicPointEntities.Add(new CharacteristicPointEntity - { - CharacteristicPointType = (short)CharacteristicPointType.DitchDikeSide, - SurfaceLinePointEntity = point6Entity - }); - point7Entity.CharacteristicPointEntities.Add(new CharacteristicPointEntity - { - CharacteristicPointType = (short)CharacteristicPointType.DitchPolderSide, - SurfaceLinePointEntity = point7Entity - }); + entity.CharacteristicPointEntities.Add(CreateCharacteristicPointEntity(points[1], CharacteristicPointType.BottomDitchDikeSide)); + entity.CharacteristicPointEntities.Add(CreateCharacteristicPointEntity(points[2], CharacteristicPointType.BottomDitchPolderSide)); + entity.CharacteristicPointEntities.Add(CreateCharacteristicPointEntity(points[3], CharacteristicPointType.DikeToeAtPolder)); + entity.CharacteristicPointEntities.Add(CreateCharacteristicPointEntity(points[4], CharacteristicPointType.DikeToeAtRiver)); + entity.CharacteristicPointEntities.Add(CreateCharacteristicPointEntity(points[5], CharacteristicPointType.DitchDikeSide)); + entity.CharacteristicPointEntities.Add(CreateCharacteristicPointEntity(points[6], CharacteristicPointType.DitchPolderSide)); // Call RingtoetsPipingSurfaceLine surfaceLine = entity.Read(collector); @@ -310,25 +183,23 @@ Assert.AreEqual(intersectionX, surfaceLine.ReferenceLineIntersectionWorldPoint.X); Assert.AreEqual(intersectionY, surfaceLine.ReferenceLineIntersectionWorldPoint.Y); - Point3D[] geometry = surfaceLine.Points.ToArray(); - Assert.AreEqual(sourceCollection.Length, geometry.Length); - for (int i = 0; i < sourceCollection.Length; i++) - { - SurfaceLinePointEntity sourceEntity = sourceCollection[i]; - Point3D geometryPoint = geometry[i]; + CollectionAssert.AreEqual(points, surfaceLine.Points); - Assert.AreEqual(sourceEntity.X, geometryPoint.X); - Assert.AreEqual(sourceEntity.Y, geometryPoint.Y); - Assert.AreEqual(sourceEntity.Z, geometryPoint.Z); - Assert.AreEqual(sourceEntity.SurfaceLinePointEntityId, geometryPoint.StorageId); - } + Assert.AreSame(surfaceLine.Points[1], surfaceLine.BottomDitchDikeSide); + Assert.AreSame(surfaceLine.Points[2], surfaceLine.BottomDitchPolderSide); + Assert.AreSame(surfaceLine.Points[3], surfaceLine.DikeToeAtPolder); + Assert.AreSame(surfaceLine.Points[4], surfaceLine.DikeToeAtRiver); + Assert.AreSame(surfaceLine.Points[5], surfaceLine.DitchDikeSide); + Assert.AreSame(surfaceLine.Points[6], surfaceLine.DitchPolderSide); + } - Assert.AreSame(geometry[1], surfaceLine.BottomDitchDikeSide); - Assert.AreSame(geometry[2], surfaceLine.BottomDitchPolderSide); - Assert.AreSame(geometry[3], surfaceLine.DikeToeAtPolder); - Assert.AreSame(geometry[4], surfaceLine.DikeToeAtRiver); - Assert.AreSame(geometry[5], surfaceLine.DitchDikeSide); - Assert.AreSame(geometry[6], surfaceLine.DitchPolderSide); + private static CharacteristicPointEntity CreateCharacteristicPointEntity(Point3D point, CharacteristicPointType type) + { + return new CharacteristicPointEntity + { + Type = (short)type, + X = point.X, Y = point.Y, Z = point.Z + }; } [Test] @@ -342,68 +213,51 @@ const double intersectionX = 3.4; const double intersectionY = 7.5; - var surfaceLinePointEntity1 = new SurfaceLinePointEntity + const double x = 1.0; + const double y = 2.0; + const double z = 3.0; + var points = new[] { - X = 1.0, - Y = 2.0, - Z = 3.0, - Order = 0, - SurfaceLinePointEntityId = 1, + new Point3D(x, y, z), + new Point3D(5.0, 6.0, 7.0) + }; + + var entity = new SurfaceLineEntity + { + SurfaceLineEntityId = id, + Name = name, + ReferenceLineIntersectionX = intersectionX, + ReferenceLineIntersectionY = intersectionY, + PointsData = new Point3DBinaryConverter().ToBytes(points), CharacteristicPointEntities = { new CharacteristicPointEntity { - CharacteristicPointType = (short)CharacteristicPointType.BottomDitchDikeSide + X= x, Y = y, Z = z, Type = (short)CharacteristicPointType.BottomDitchDikeSide }, new CharacteristicPointEntity { - CharacteristicPointType = (short)CharacteristicPointType.BottomDitchPolderSide + X= x, Y = y, Z = z, Type = (short)CharacteristicPointType.BottomDitchPolderSide }, new CharacteristicPointEntity { - CharacteristicPointType = (short)CharacteristicPointType.DikeToeAtPolder + X= x, Y = y, Z = z, Type = (short)CharacteristicPointType.DikeToeAtPolder }, new CharacteristicPointEntity { - CharacteristicPointType = (short)CharacteristicPointType.DikeToeAtPolder + X= x, Y = y, Z = z, Type = (short)CharacteristicPointType.DikeToeAtRiver }, new CharacteristicPointEntity { - CharacteristicPointType = (short)CharacteristicPointType.DikeToeAtRiver + X= x, Y = y, Z = z, Type = (short)CharacteristicPointType.DitchDikeSide }, new CharacteristicPointEntity { - CharacteristicPointType = (short)CharacteristicPointType.DitchDikeSide - }, - new CharacteristicPointEntity - { - CharacteristicPointType = (short)CharacteristicPointType.DitchPolderSide + X= x, Y = y, Z = z, Type = (short)CharacteristicPointType.DitchPolderSide } } }; - foreach (CharacteristicPointEntity characteristicPointEntity in surfaceLinePointEntity1.CharacteristicPointEntities) - { - characteristicPointEntity.SurfaceLinePointEntity = surfaceLinePointEntity1; - } - var surfaceLinePointEntity2 = new SurfaceLinePointEntity - { - X = 5.0, - Y = 6.0, - Z = 7.0, - Order = 1, - SurfaceLinePointEntityId = 2 - }; - var entity = new SurfaceLineEntity - { - SurfaceLineEntityId = id, - Name = name, - ReferenceLineIntersectionX = intersectionX, - ReferenceLineIntersectionY = intersectionY - }; - entity.SurfaceLinePointEntities.Add(surfaceLinePointEntity1); - entity.SurfaceLinePointEntities.Add(surfaceLinePointEntity2); - // Call RingtoetsPipingSurfaceLine surfaceLine = entity.Read(collector); @@ -435,7 +289,8 @@ var entity = new SurfaceLineEntity { - SurfaceLineEntityId = id + SurfaceLineEntityId = id, + PointsData = new Point3DBinaryConverter().ToBytes(new Point3D[0]) }; // Call Fisheye: Tag 508d720230c5f63bce7f95bddc3b7a04808d267d refers to a dead (removed) revision in file `Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/Piping/SurfaceLinePointEntityReadExtensionsTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/ReadConversionCollectorTest.cs =================================================================== diff -u -r3664d59720d320c290ba63f3c1ddd85a57e50de0 -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/ReadConversionCollectorTest.cs (.../ReadConversionCollectorTest.cs) (revision 3664d59720d320c290ba63f3c1ddd85a57e50de0) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/ReadConversionCollectorTest.cs (.../ReadConversionCollectorTest.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -496,168 +496,6 @@ #endregion - #region SurfaceLinePointEntity: Read, Contains, Get - - [Test] - public void Contains_SurfaceLinePointsEntityIsNull_ThrowsArgumentNullException() - { - // Setup - var collector = new ReadConversionCollector(); - - // Call - TestDelegate call = () => collector.Contains((SurfaceLinePointEntity) null); - - // Assert - string paramName = Assert.Throws(call).ParamName; - Assert.AreEqual("entity", paramName); - } - - [Test] - public void Contains_SurfaceLinePointEntityAdded_ReturnsTrue() - { - // Setup - var entity = new SurfaceLinePointEntity(); - var model = new Point3D(1.1, 2.2, 3.3); - - var collector = new ReadConversionCollector(); - collector.Read(entity, model); - - // Call - var hasEntity = collector.Contains(entity); - - // Assert - Assert.IsTrue(hasEntity); - } - - [Test] - public void Contains_SurfaceLinePointEntityNotAdded_ReturnsFalse() - { - // Setup - var entity = new SurfaceLinePointEntity(); - - var collector = new ReadConversionCollector(); - - // Call - var hasEntity = collector.Contains(entity); - - // Assert - Assert.IsFalse(hasEntity); - } - - [Test] - public void Contains_OtherSurfaceLinePointEntityAdded_ReturnsFalse() - { - // Setup - var registeredEntity = new SurfaceLinePointEntity(); - var model = new Point3D(1.1, 2.2, 3.3); - - var collector = new ReadConversionCollector(); - collector.Read(registeredEntity, model); - - var unregisteredEntity = new SurfaceLinePointEntity(); - - // Call - var hasEntity = collector.Contains(unregisteredEntity); - - // Assert - Assert.IsFalse(hasEntity); - } - - [Test] - public void Get_SurfaceLinePointEntityIsNull_ThrowsArgumentNullException() - { - // Setup - var collector = new ReadConversionCollector(); - - // Call - TestDelegate call = () => collector.Get((SurfaceLinePointEntity) null); - - // Assert - string paramName = Assert.Throws(call).ParamName; - Assert.AreEqual("entity", paramName); - } - - [Test] - public void Get_SurfaceLinePointEntityAdded_ReturnsPoint3D() - { - // Setup - var entity = new SurfaceLinePointEntity(); - var model = new Point3D(1.1, 2.2, 3.3); - - var collector = new ReadConversionCollector(); - collector.Read(entity, model); - - // Call - Point3D retrievedGeometryPoint = collector.Get(entity); - - // Assert - Assert.AreSame(model, retrievedGeometryPoint); - } - - [Test] - public void Get_SurfaceLinePointEntityNotAdded_ThrowInvalidOperationException() - { - // Setup - var entity = new SurfaceLinePointEntity(); - - var collector = new ReadConversionCollector(); - - // Call - TestDelegate call = () => collector.Get(entity); - - // Assert - Assert.Throws(call); - } - - [Test] - public void Get_DifferentSurfaceLinePointEntityAdded_ThrowsInvalidOperationException() - { - // Setup - var registeredEntity = new SurfaceLinePointEntity(); - var model = new Point3D(1.1, 2.2, 3.3); - - var collector = new ReadConversionCollector(); - collector.Read(registeredEntity, model); - - var unregisteredEntity = new SurfaceLinePointEntity(); - - // Call - TestDelegate call = () => collector.Get(unregisteredEntity); - - // Assert - Assert.Throws(call); - } - - [Test] - public void Read_SurfaceLinePointEntityIsNull_ThrowsArgumentNullException() - { - // Setup - var collector = new ReadConversionCollector(); - - // Call - TestDelegate test = () => collector.Read(null, new Point3D(2.3, 4.4, 5.5)); - - // Assert - var paramName = Assert.Throws(test).ParamName; - Assert.AreEqual("entity", paramName); - } - - [Test] - public void Read_Point3DIsNull_ThrowsArgumentNullException() - { - // Setup - var collector = new ReadConversionCollector(); - - // Call - TestDelegate test = () => collector.Read(new SurfaceLinePointEntity(), null); - - // Assert - var paramName = Assert.Throws(test).ParamName; - Assert.AreEqual("model", paramName); - } - - #endregion - #region HydraulicLocationEntity: Read, Contains, Get [Test] Fisheye: Tag 508d720230c5f63bce7f95bddc3b7a04808d267d refers to a dead (removed) revision in file `Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/ReferenceLinePointEntityReadExtensionsTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/AssessmentSectionUpdateExtensionsTest.cs =================================================================== diff -u -r93f4c75ba2309bb82de7e2362bafca5aa516d545 -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/AssessmentSectionUpdateExtensionsTest.cs (.../AssessmentSectionUpdateExtensionsTest.cs) (revision 93f4c75ba2309bb82de7e2362bafca5aa516d545) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/AssessmentSectionUpdateExtensionsTest.cs (.../AssessmentSectionUpdateExtensionsTest.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -22,6 +22,8 @@ using System; using System.Data.Entity; using System.Linq; + +using Application.Ringtoets.Storage.BinaryConverters; using Application.Ringtoets.Storage.Create; using Application.Ringtoets.Storage.DbContext; using Application.Ringtoets.Storage.Exceptions; @@ -185,7 +187,7 @@ Assert.AreEqual(comments, entity.Comments); Assert.AreEqual(norm, entity.Norm); Assert.AreEqual((short) composition, entity.Composition); - Assert.IsEmpty(entity.ReferenceLinePointEntities); + Assert.IsNull(entity.ReferenceLinePointData); Assert.IsEmpty(entity.HydraulicLocationEntities); Assert.IsNull(entity.HydraulicDatabaseLocation); Assert.IsNull(entity.HydraulicDatabaseVersion); @@ -239,7 +241,8 @@ section.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert - Assert.AreEqual(1, entity.ReferenceLinePointEntities.Count); + byte[] expectedBinaryData = new Point2DBinaryConverter().ToBytes(referenceLine.Points); + CollectionAssert.AreEqual(expectedBinaryData, entity.ReferenceLinePointData); mocks.VerifyAll(); } @@ -261,17 +264,14 @@ var section = InitializeCreatedDikeAssessmentSection(); section.ReferenceLine = referenceLine; - var referenceLinePointEntity = new ReferenceLinePointEntity - { - X = 2, Y = 3 - }; + var binaryConverter = new Point2DBinaryConverter(); var entity = new AssessmentSectionEntity { AssessmentSectionEntityId = 1, - ReferenceLinePointEntities = + ReferenceLinePointData = binaryConverter.ToBytes(new[] { - referenceLinePointEntity - } + new Point2D(2, 3) + }) }; ringtoetsEntities.AssessmentSectionEntities.Add(entity); ringtoetsEntities.CalculationGroupEntities.Add(new CalculationGroupEntity @@ -292,15 +292,14 @@ GrassCoverErosionInwardsFailureMechanismMetaEntityId = section.GrassCoverErosionInwards.GeneralInput.StorageId, FailureMechanismEntityId = section.GrassCoverErosionInwards.StorageId }); - ringtoetsEntities.ReferenceLinePointEntities.Add(referenceLinePointEntity); FillWithFailureMechanismEntities(ringtoetsEntities.FailureMechanismEntities); // Call section.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert - Assert.AreEqual(0, ringtoetsEntities.ReferenceLinePointEntities.Count()); - Assert.AreEqual(1, entity.ReferenceLinePointEntities.Count(p => p.X == 1 && p.Y == 2)); + byte[] expectedBinaryData = binaryConverter.ToBytes(referenceLine.Points); + CollectionAssert.AreEqual(expectedBinaryData, entity.ReferenceLinePointData); mocks.VerifyAll(); } Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/ClosingStructure/ClosingStructureFailureMechanismUpdateExtensionsTest.cs =================================================================== diff -u -ra5714fc0488030773fff50dfc82041c6cb9edc2f -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/ClosingStructure/ClosingStructureFailureMechanismUpdateExtensionsTest.cs (.../ClosingStructureFailureMechanismUpdateExtensionsTest.cs) (revision a5714fc0488030773fff50dfc82041c6cb9edc2f) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/ClosingStructure/ClosingStructureFailureMechanismUpdateExtensionsTest.cs (.../ClosingStructureFailureMechanismUpdateExtensionsTest.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -22,6 +22,7 @@ using System; using System.Linq; +using Application.Ringtoets.Storage.BinaryConverters; using Application.Ringtoets.Storage.Create; using Application.Ringtoets.Storage.DbContext; using Application.Ringtoets.Storage.Exceptions; @@ -204,22 +205,25 @@ mocks.ReplayAll(); - var failureMechanism = new ClosingStructureFailureMechanism - { - StorageId = 1 - }; var testName = "testName"; - failureMechanism.AddSection(new FailureMechanismSection(testName, new[] + var failureMechanismSection = new FailureMechanismSection(testName, new[] { new Point2D(0, 0) }) { StorageId = 1 - }); + }; + var failureMechanism = new ClosingStructureFailureMechanism + { + StorageId = 1 + }; + failureMechanism.AddSection(failureMechanismSection); + var failureMechanismSectionEntity = new FailureMechanismSectionEntity { FailureMechanismSectionEntityId = 1, + FailureMechanismSectionPointData = new Point2DBinaryConverter().ToBytes(failureMechanismSection.Points) }; var failureMechanismEntity = new FailureMechanismEntity { Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/DuneErosion/DuneErosionFailureMechanismUpdateExtensionsTest.cs =================================================================== diff -u -ra5714fc0488030773fff50dfc82041c6cb9edc2f -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/DuneErosion/DuneErosionFailureMechanismUpdateExtensionsTest.cs (.../DuneErosionFailureMechanismUpdateExtensionsTest.cs) (revision a5714fc0488030773fff50dfc82041c6cb9edc2f) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/DuneErosion/DuneErosionFailureMechanismUpdateExtensionsTest.cs (.../DuneErosionFailureMechanismUpdateExtensionsTest.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -22,6 +22,7 @@ using System; using System.Linq; +using Application.Ringtoets.Storage.BinaryConverters; using Application.Ringtoets.Storage.Create; using Application.Ringtoets.Storage.DbContext; using Application.Ringtoets.Storage.Exceptions; @@ -204,22 +205,25 @@ mocks.ReplayAll(); - var failureMechanism = new DuneErosionFailureMechanism - { - StorageId = 1 - }; var testName = "testName"; - failureMechanism.AddSection(new FailureMechanismSection(testName, new[] + var failureMechanismSection = new FailureMechanismSection(testName, new[] { new Point2D(0, 0) }) { StorageId = 1 - }); + }; + var failureMechanism = new DuneErosionFailureMechanism + { + StorageId = 1 + }; + failureMechanism.AddSection(failureMechanismSection); + var failureMechanismSectionEntity = new FailureMechanismSectionEntity { FailureMechanismSectionEntityId = 1, + FailureMechanismSectionPointData = new Point2DBinaryConverter().ToBytes(failureMechanismSection.Points) }; var failureMechanismEntity = new FailureMechanismEntity { Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/FailureMechanismSectionUpdateExtensionsTest.cs =================================================================== diff -u -re0ef393f7069a18d7e160aceaf91f603dfc8c5ae -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/FailureMechanismSectionUpdateExtensionsTest.cs (.../FailureMechanismSectionUpdateExtensionsTest.cs) (revision e0ef393f7069a18d7e160aceaf91f603dfc8c5ae) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/FailureMechanismSectionUpdateExtensionsTest.cs (.../FailureMechanismSectionUpdateExtensionsTest.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -20,8 +20,8 @@ // All rights reserved. using System; -using System.Linq; +using Application.Ringtoets.Storage.BinaryConverters; using Application.Ringtoets.Storage.Create; using Application.Ringtoets.Storage.DbContext; using Application.Ringtoets.Storage.Exceptions; @@ -143,15 +143,17 @@ var entity = new FailureMechanismSectionEntity { - FailureMechanismSectionEntityId = 1 + FailureMechanismSectionEntityId = 1, + FailureMechanismSectionPointData = new Point2DBinaryConverter().ToBytes(points) }; ringtoetsEntities.FailureMechanismSectionEntities.Add(entity); // Call section.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert - Assert.AreEqual(1, entity.FailureMechanismSectionPointEntities.Count); + byte[] expectedBinaryData = new Point2DBinaryConverter().ToBytes(points); + CollectionAssert.AreEqual(expectedBinaryData, entity.FailureMechanismSectionPointData); mocks.VerifyAll(); } @@ -174,28 +176,20 @@ StorageId = 1 }; - var pointEntity = new FailureMechanismSectionPointEntity - { - X = 2, - Y = 3 - }; + var binaryConverter = new Point2DBinaryConverter(); var entity = new FailureMechanismSectionEntity { FailureMechanismSectionEntityId = 1, - FailureMechanismSectionPointEntities = - { - pointEntity - } + FailureMechanismSectionPointData = binaryConverter.ToBytes(new[]{new Point2D(2,3)}) }; ringtoetsEntities.FailureMechanismSectionEntities.Add(entity); - ringtoetsEntities.FailureMechanismSectionPointEntities.Add(pointEntity); // Call section.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert - Assert.AreEqual(0, ringtoetsEntities.ReferenceLinePointEntities.Count()); - Assert.AreEqual(1, entity.FailureMechanismSectionPointEntities.Count(p => p.X == 1 && p.Y == 2)); + byte[] expectedBinaryData = binaryConverter.ToBytes(points); + CollectionAssert.AreEqual(expectedBinaryData, entity.FailureMechanismSectionPointData); mocks.VerifyAll(); } Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/GrassCoverErosionInwards/GrassCoverErosionInwardsFailureMechanismUpdateExtensionsTest.cs =================================================================== diff -u -r6917c98a7820943d62df19669a6551bb76bbf851 -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/GrassCoverErosionInwards/GrassCoverErosionInwardsFailureMechanismUpdateExtensionsTest.cs (.../GrassCoverErosionInwardsFailureMechanismUpdateExtensionsTest.cs) (revision 6917c98a7820943d62df19669a6551bb76bbf851) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/GrassCoverErosionInwards/GrassCoverErosionInwardsFailureMechanismUpdateExtensionsTest.cs (.../GrassCoverErosionInwardsFailureMechanismUpdateExtensionsTest.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -22,6 +22,7 @@ using System; using System.Linq; +using Application.Ringtoets.Storage.BinaryConverters; using Application.Ringtoets.Storage.Create; using Application.Ringtoets.Storage.DbContext; using Application.Ringtoets.Storage.Exceptions; @@ -391,6 +392,15 @@ mocks.ReplayAll(); + var testName = "testName"; + var failureMechanismSection = new FailureMechanismSection(testName, new[] + { + new Point2D(0, 0) + }) + { + StorageId = 1 + }; + var failureMechanism = new GrassCoverErosionInwardsFailureMechanism { StorageId = 1, @@ -403,22 +413,16 @@ StorageId = 4968 } }; - var testName = "testName"; - failureMechanism.AddSection(new FailureMechanismSection(testName, new[] - { - new Point2D(0, 0) - }) - { - StorageId = 1 - }); + failureMechanism.AddSection(failureMechanismSection); var rootGroupEntity = new CalculationGroupEntity { CalculationGroupEntityId = failureMechanism.CalculationsGroup.StorageId }; var failureMechanismSectionEntity = new FailureMechanismSectionEntity { - FailureMechanismSectionEntityId = 1 + FailureMechanismSectionEntityId = 1, + FailureMechanismSectionPointData = new Point2DBinaryConverter().ToBytes(failureMechanismSection.Points) }; var failureMechanismEntity = new FailureMechanismEntity { Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/GrassCoverErosionOutwards/GrassCoverErosionOutwardsFailureMechanismUpdateExtensionsTest.cs =================================================================== diff -u -ra5714fc0488030773fff50dfc82041c6cb9edc2f -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/GrassCoverErosionOutwards/GrassCoverErosionOutwardsFailureMechanismUpdateExtensionsTest.cs (.../GrassCoverErosionOutwardsFailureMechanismUpdateExtensionsTest.cs) (revision a5714fc0488030773fff50dfc82041c6cb9edc2f) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/GrassCoverErosionOutwards/GrassCoverErosionOutwardsFailureMechanismUpdateExtensionsTest.cs (.../GrassCoverErosionOutwardsFailureMechanismUpdateExtensionsTest.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -22,6 +22,7 @@ using System; using System.Linq; +using Application.Ringtoets.Storage.BinaryConverters; using Application.Ringtoets.Storage.Create; using Application.Ringtoets.Storage.DbContext; using Application.Ringtoets.Storage.Exceptions; @@ -204,22 +205,25 @@ mocks.ReplayAll(); - var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism - { - StorageId = 1 - }; var testName = "testName"; - failureMechanism.AddSection(new FailureMechanismSection(testName, new[] + var failureMechanismSection = new FailureMechanismSection(testName, new[] { new Point2D(0, 0) }) { StorageId = 1 - }); + }; + var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism + { + StorageId = 1 + }; + failureMechanism.AddSection(failureMechanismSection); + var failureMechanismSectionEntity = new FailureMechanismSectionEntity { FailureMechanismSectionEntityId = 1, + FailureMechanismSectionPointData = new Point2DBinaryConverter().ToBytes(failureMechanismSection.Points) }; var failureMechanismEntity = new FailureMechanismEntity { Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/GrassCoverSlipOffInwards/GrassCoverSlipOffInwardsFailureMechanismUpdateExtensionsTest.cs =================================================================== diff -u -ra5714fc0488030773fff50dfc82041c6cb9edc2f -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/GrassCoverSlipOffInwards/GrassCoverSlipOffInwardsFailureMechanismUpdateExtensionsTest.cs (.../GrassCoverSlipOffInwardsFailureMechanismUpdateExtensionsTest.cs) (revision a5714fc0488030773fff50dfc82041c6cb9edc2f) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/GrassCoverSlipOffInwards/GrassCoverSlipOffInwardsFailureMechanismUpdateExtensionsTest.cs (.../GrassCoverSlipOffInwardsFailureMechanismUpdateExtensionsTest.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -22,6 +22,7 @@ using System; using System.Linq; +using Application.Ringtoets.Storage.BinaryConverters; using Application.Ringtoets.Storage.Create; using Application.Ringtoets.Storage.DbContext; using Application.Ringtoets.Storage.Exceptions; @@ -204,22 +205,25 @@ mocks.ReplayAll(); - var failureMechanism = new GrassCoverSlipOffInwardsFailureMechanism - { - StorageId = 1 - }; var testName = "testName"; - failureMechanism.AddSection(new FailureMechanismSection(testName, new[] + var failureMechanismSection = new FailureMechanismSection(testName, new[] { new Point2D(0, 0) }) { StorageId = 1 - }); + }; + var failureMechanism = new GrassCoverSlipOffInwardsFailureMechanism + { + StorageId = 1 + }; + failureMechanism.AddSection(failureMechanismSection); + var failureMechanismSectionEntity = new FailureMechanismSectionEntity { FailureMechanismSectionEntityId = 1, + FailureMechanismSectionPointData = new Point2DBinaryConverter().ToBytes(failureMechanismSection.Points) }; var failureMechanismEntity = new FailureMechanismEntity { Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/GrassCoverSlipOffOutwards/GrassCoverSlipOffOutwardsFailureMechanismUpdateExtensionsTest.cs =================================================================== diff -u -ra5714fc0488030773fff50dfc82041c6cb9edc2f -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/GrassCoverSlipOffOutwards/GrassCoverSlipOffOutwardsFailureMechanismUpdateExtensionsTest.cs (.../GrassCoverSlipOffOutwardsFailureMechanismUpdateExtensionsTest.cs) (revision a5714fc0488030773fff50dfc82041c6cb9edc2f) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/GrassCoverSlipOffOutwards/GrassCoverSlipOffOutwardsFailureMechanismUpdateExtensionsTest.cs (.../GrassCoverSlipOffOutwardsFailureMechanismUpdateExtensionsTest.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -22,6 +22,7 @@ using System; using System.Linq; +using Application.Ringtoets.Storage.BinaryConverters; using Application.Ringtoets.Storage.Create; using Application.Ringtoets.Storage.DbContext; using Application.Ringtoets.Storage.Exceptions; @@ -204,22 +205,25 @@ mocks.ReplayAll(); - var failureMechanism = new GrassCoverSlipOffOutwardsFailureMechanism - { - StorageId = 1 - }; var testName = "testName"; - failureMechanism.AddSection(new FailureMechanismSection(testName, new[] + var failureMechanismSection = new FailureMechanismSection(testName, new[] { new Point2D(0, 0) }) { StorageId = 1 - }); + }; + var failureMechanism = new GrassCoverSlipOffOutwardsFailureMechanism + { + StorageId = 1 + }; + failureMechanism.AddSection(failureMechanismSection); + var failureMechanismSectionEntity = new FailureMechanismSectionEntity { FailureMechanismSectionEntityId = 1, + FailureMechanismSectionPointData = new Point2DBinaryConverter().ToBytes(failureMechanismSection.Points) }; var failureMechanismEntity = new FailureMechanismEntity { Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/HeightStructures/HeightStructuresFailureMechanismUpdateExtensionsTest.cs =================================================================== diff -u -ra5714fc0488030773fff50dfc82041c6cb9edc2f -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/HeightStructures/HeightStructuresFailureMechanismUpdateExtensionsTest.cs (.../HeightStructuresFailureMechanismUpdateExtensionsTest.cs) (revision a5714fc0488030773fff50dfc82041c6cb9edc2f) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/HeightStructures/HeightStructuresFailureMechanismUpdateExtensionsTest.cs (.../HeightStructuresFailureMechanismUpdateExtensionsTest.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -22,6 +22,7 @@ using System; using System.Linq; +using Application.Ringtoets.Storage.BinaryConverters; using Application.Ringtoets.Storage.Create; using Application.Ringtoets.Storage.DbContext; using Application.Ringtoets.Storage.Exceptions; @@ -204,22 +205,25 @@ mocks.ReplayAll(); - var failureMechanism = new HeightStructuresFailureMechanism - { - StorageId = 1 - }; var testName = "testName"; - failureMechanism.AddSection(new FailureMechanismSection(testName, new[] + var failureMechanismSection = new FailureMechanismSection(testName, new[] { new Point2D(0, 0) }) { StorageId = 1 - }); + }; + var failureMechanism = new HeightStructuresFailureMechanism + { + StorageId = 1 + }; + failureMechanism.AddSection(failureMechanismSection); + var failureMechanismSectionEntity = new FailureMechanismSectionEntity { FailureMechanismSectionEntityId = 1, + FailureMechanismSectionPointData = new Point2DBinaryConverter().ToBytes(failureMechanismSection.Points) }; var failureMechanismEntity = new FailureMechanismEntity { Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/IFailureMechanismUpdateExtensionsTest.cs =================================================================== diff -u -r5b3736b5350315a520f72c90222af261ea651019 -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/IFailureMechanismUpdateExtensionsTest.cs (.../IFailureMechanismUpdateExtensionsTest.cs) (revision 5b3736b5350315a520f72c90222af261ea651019) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/IFailureMechanismUpdateExtensionsTest.cs (.../IFailureMechanismUpdateExtensionsTest.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -21,6 +21,8 @@ using System; using System.Linq; + +using Application.Ringtoets.Storage.BinaryConverters; using Application.Ringtoets.Storage.Create; using Application.Ringtoets.Storage.DbContext; using Application.Ringtoets.Storage.Exceptions; @@ -200,22 +202,25 @@ mocks.ReplayAll(); - var failureMechanism = new TestFailureMechanism() - { - StorageId = 1 - }; var testName = "testName"; - failureMechanism.AddSection(new FailureMechanismSection(testName, new[] + var failureMechanismSection = new FailureMechanismSection(testName, new[] { new Point2D(0, 0) }) { StorageId = 1 - }); + }; + var failureMechanism = new TestFailureMechanism + { + StorageId = 1 + }; + failureMechanism.AddSection(failureMechanismSection); + var failureMechanismSectionEntity = new FailureMechanismSectionEntity { FailureMechanismSectionEntityId = 1, + FailureMechanismSectionPointData = new Point2DBinaryConverter().ToBytes(failureMechanismSection.Points) }; var failureMechanismEntity = new FailureMechanismEntity { @@ -336,22 +341,25 @@ mocks.ReplayAll(); - var failureMechanism = new TestFailureMechanism - { - StorageId = 1 - }; var testName = "testName"; - failureMechanism.AddSection(new FailureMechanismSection(testName, new[] + var failureMechanismSection = new FailureMechanismSection(testName, new[] { new Point2D(0, 0) }) { StorageId = 1 - }); + }; + var failureMechanism = new TestFailureMechanism + { + StorageId = 1 + }; + failureMechanism.AddSection(failureMechanismSection); + var failureMechanismSectionEntity = new FailureMechanismSectionEntity { FailureMechanismSectionEntityId = 1, + FailureMechanismSectionPointData = new Point2DBinaryConverter().ToBytes(failureMechanismSection.Points) }; var failureMechanismEntity = new FailureMechanismEntity { Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/MacrostabilityInwards/MacrostabilityInwardsFailureMechanismUpdateExtensionsTest.cs =================================================================== diff -u -ra5714fc0488030773fff50dfc82041c6cb9edc2f -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/MacrostabilityInwards/MacrostabilityInwardsFailureMechanismUpdateExtensionsTest.cs (.../MacrostabilityInwardsFailureMechanismUpdateExtensionsTest.cs) (revision a5714fc0488030773fff50dfc82041c6cb9edc2f) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/MacrostabilityInwards/MacrostabilityInwardsFailureMechanismUpdateExtensionsTest.cs (.../MacrostabilityInwardsFailureMechanismUpdateExtensionsTest.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -22,6 +22,7 @@ using System; using System.Linq; +using Application.Ringtoets.Storage.BinaryConverters; using Application.Ringtoets.Storage.Create; using Application.Ringtoets.Storage.DbContext; using Application.Ringtoets.Storage.Exceptions; @@ -204,22 +205,25 @@ mocks.ReplayAll(); - var failureMechanism = new MacrostabilityInwardsFailureMechanism - { - StorageId = 1 - }; var testName = "testName"; - failureMechanism.AddSection(new FailureMechanismSection(testName, new[] + var failureMechanismSection = new FailureMechanismSection(testName, new[] { new Point2D(0, 0) }) { StorageId = 1 - }); + }; + var failureMechanism = new MacrostabilityInwardsFailureMechanism + { + StorageId = 1 + }; + failureMechanism.AddSection(failureMechanismSection); + var failureMechanismSectionEntity = new FailureMechanismSectionEntity { FailureMechanismSectionEntityId = 1, + FailureMechanismSectionPointData = new Point2DBinaryConverter().ToBytes(failureMechanismSection.Points) }; var failureMechanismEntity = new FailureMechanismEntity { Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/MacrostabilityOutwards/MacrostabilityOutwardsFailureMechanismUpdateExtensionsTest.cs =================================================================== diff -u -ra5714fc0488030773fff50dfc82041c6cb9edc2f -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/MacrostabilityOutwards/MacrostabilityOutwardsFailureMechanismUpdateExtensionsTest.cs (.../MacrostabilityOutwardsFailureMechanismUpdateExtensionsTest.cs) (revision a5714fc0488030773fff50dfc82041c6cb9edc2f) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/MacrostabilityOutwards/MacrostabilityOutwardsFailureMechanismUpdateExtensionsTest.cs (.../MacrostabilityOutwardsFailureMechanismUpdateExtensionsTest.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -22,6 +22,7 @@ using System; using System.Linq; +using Application.Ringtoets.Storage.BinaryConverters; using Application.Ringtoets.Storage.Create; using Application.Ringtoets.Storage.DbContext; using Application.Ringtoets.Storage.Exceptions; @@ -204,22 +205,25 @@ mocks.ReplayAll(); - var failureMechanism = new MacrostabilityOutwardsFailureMechanism - { - StorageId = 1 - }; var testName = "testName"; - failureMechanism.AddSection(new FailureMechanismSection(testName, new[] + var failureMechanismSection = new FailureMechanismSection(testName, new[] { new Point2D(0, 0) }) { StorageId = 1 - }); + }; + var failureMechanism = new MacrostabilityOutwardsFailureMechanism + { + StorageId = 1 + }; + failureMechanism.AddSection(failureMechanismSection); + var failureMechanismSectionEntity = new FailureMechanismSectionEntity { FailureMechanismSectionEntityId = 1, + FailureMechanismSectionPointData = new Point2DBinaryConverter().ToBytes(failureMechanismSection.Points) }; var failureMechanismEntity = new FailureMechanismEntity { Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/Microstability/MicrostabilityFailureMechanismUpdateExtensionsTest.cs =================================================================== diff -u -ra5714fc0488030773fff50dfc82041c6cb9edc2f -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/Microstability/MicrostabilityFailureMechanismUpdateExtensionsTest.cs (.../MicrostabilityFailureMechanismUpdateExtensionsTest.cs) (revision a5714fc0488030773fff50dfc82041c6cb9edc2f) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/Microstability/MicrostabilityFailureMechanismUpdateExtensionsTest.cs (.../MicrostabilityFailureMechanismUpdateExtensionsTest.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -22,6 +22,7 @@ using System; using System.Linq; +using Application.Ringtoets.Storage.BinaryConverters; using Application.Ringtoets.Storage.Create; using Application.Ringtoets.Storage.DbContext; using Application.Ringtoets.Storage.Exceptions; @@ -204,22 +205,25 @@ mocks.ReplayAll(); - var failureMechanism = new MicrostabilityFailureMechanism - { - StorageId = 1 - }; var testName = "testName"; - failureMechanism.AddSection(new FailureMechanismSection(testName, new[] + var failureMechanismSection = new FailureMechanismSection(testName, new[] { new Point2D(0, 0) }) { StorageId = 1 - }); + }; + var failureMechanism = new MicrostabilityFailureMechanism + { + StorageId = 1 + }; + failureMechanism.AddSection(failureMechanismSection); + var failureMechanismSectionEntity = new FailureMechanismSectionEntity { FailureMechanismSectionEntityId = 1, + FailureMechanismSectionPointData = new Point2DBinaryConverter().ToBytes(failureMechanismSection.Points) }; var failureMechanismEntity = new FailureMechanismEntity { Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/Piping/PipingFailureMechanismUpdateExtensionsTest.cs =================================================================== diff -u -rdd460a16f3fed1c1fc5abc2842ea57015f6f4a5c -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/Piping/PipingFailureMechanismUpdateExtensionsTest.cs (.../PipingFailureMechanismUpdateExtensionsTest.cs) (revision dd460a16f3fed1c1fc5abc2842ea57015f6f4a5c) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/Piping/PipingFailureMechanismUpdateExtensionsTest.cs (.../PipingFailureMechanismUpdateExtensionsTest.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -268,7 +268,7 @@ var stochasticSoilModelEntity = new StochasticSoilModelEntity { StochasticSoilModelEntityId = stochasticSoilModel.StorageId, - SegmentPoints = new Point2DBinaryConverter().ToBytes(new Point2D[0]) + StochasticSoilModelSegmentPointData = new Point2DBinaryConverter().ToBytes(new Point2D[0]) }; var rootCalculationGroupEntity = new CalculationGroupEntity { @@ -385,7 +385,8 @@ var surfaceLineEntity = new SurfaceLineEntity { - SurfaceLineEntityId = surfaceLine.StorageId + SurfaceLineEntityId = surfaceLine.StorageId, + PointsData = new Point3DBinaryConverter().ToBytes(surfaceLine.Points) }; var rootCalculationGroupEntity = new CalculationGroupEntity { @@ -506,6 +507,7 @@ var failureMechanismSectionEntity = new FailureMechanismSectionEntity { FailureMechanismSectionEntityId = failureMechanismSection.StorageId, + FailureMechanismSectionPointData = new Point2DBinaryConverter().ToBytes(failureMechanismSection.Points), PipingSectionResultEntities = { pipingSectionResultEntity Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/Piping/RingtoetsPipingSurfaceLineUpdateExtensionsTest.cs =================================================================== diff -u -ra294987551b0b2d8a27b6e1bc6235b0e2351b6f4 -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/Piping/RingtoetsPipingSurfaceLineUpdateExtensionsTest.cs (.../RingtoetsPipingSurfaceLineUpdateExtensionsTest.cs) (revision a294987551b0b2d8a27b6e1bc6235b0e2351b6f4) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/Piping/RingtoetsPipingSurfaceLineUpdateExtensionsTest.cs (.../RingtoetsPipingSurfaceLineUpdateExtensionsTest.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -22,6 +22,7 @@ using System; using System.Linq; +using Application.Ringtoets.Storage.BinaryConverters; using Application.Ringtoets.Storage.Create; using Application.Ringtoets.Storage.DbContext; using Application.Ringtoets.Storage.Exceptions; @@ -117,7 +118,8 @@ SurfaceLineEntityId = surfaceLine.StorageId, Name = "", ReferenceLineIntersectionX = 9876.5432, - ReferenceLineIntersectionY = 9182.8374 + ReferenceLineIntersectionY = 9182.8374, + PointsData = new Point3DBinaryConverter().ToBytes(new Point3D[0]) }; context.SurfaceLineEntities.Add(entity); @@ -131,8 +133,7 @@ Assert.AreEqual(surfaceLine.ReferenceLineIntersectionWorldPoint.X, entity.ReferenceLineIntersectionX); Assert.AreEqual(surfaceLine.ReferenceLineIntersectionWorldPoint.Y, entity.ReferenceLineIntersectionY); - CollectionAssert.IsEmpty(entity.SurfaceLinePointEntities); - CollectionAssert.IsEmpty(context.SurfaceLinePointEntities); + CollectionAssert.AreEqual(new Point3DBinaryConverter().ToBytes(new Point3D[0]), entity.PointsData); mocks.VerifyAll(); } @@ -146,18 +147,17 @@ RingtoetsPipingSurfaceLine surfaceLine = CreateSavedSurfaceLineWithGeometry(); + var binaryConverter = new Point3DBinaryConverter(); var entity = new SurfaceLineEntity { SurfaceLineEntityId = surfaceLine.StorageId, Name = "", ReferenceLineIntersectionX = 91.28, - ReferenceLineIntersectionY = 37.46 + ReferenceLineIntersectionY = 37.46, + PointsData = binaryConverter.ToBytes(new Point3D[0]) }; context.SurfaceLineEntities.Add(entity); - // Precondition - CollectionAssert.IsEmpty(context.SurfaceLinePointEntities); - var registry = new PersistenceRegistry(); // Call @@ -168,16 +168,7 @@ Assert.AreEqual(surfaceLine.ReferenceLineIntersectionWorldPoint.X, entity.ReferenceLineIntersectionX); Assert.AreEqual(surfaceLine.ReferenceLineIntersectionWorldPoint.Y, entity.ReferenceLineIntersectionY); - Assert.AreEqual(surfaceLine.Points.Length, entity.SurfaceLinePointEntities.Count); - for (int i = 0; i < surfaceLine.Points.Length; i++) - { - Point3D geometryPoint = surfaceLine.Points[i]; - SurfaceLinePointEntity pointEntity = entity.SurfaceLinePointEntities.ElementAt(i); - - Assert.AreEqual(geometryPoint.X, pointEntity.X); - Assert.AreEqual(geometryPoint.Y, pointEntity.Y); - Assert.AreEqual(geometryPoint.Z, pointEntity.Z); - } + CollectionAssert.AreEqual(binaryConverter.ToBytes(surfaceLine.Points), entity.PointsData); mocks.VerifyAll(); } @@ -191,38 +182,20 @@ RingtoetsPipingSurfaceLine surfaceLine = CreateSavedSurfaceLineWithGeometry(); - var pointEntity1 = new SurfaceLinePointEntity - { - SurfaceLinePointEntityId = 1, - Order = 0, - X = 1.0, - Y = 2.0, - Z = 3.0 - }; - var pointEntity2 = new SurfaceLinePointEntity - { - SurfaceLinePointEntityId = 2, - Order = 1, - X = 5.0, - Y = 2.0, - Z = 4.0 - }; - + var binaryConverter = new Point3DBinaryConverter(); var entity = new SurfaceLineEntity { SurfaceLineEntityId = surfaceLine.StorageId, Name = "", ReferenceLineIntersectionX = 91.28, ReferenceLineIntersectionY = 37.46, - SurfaceLinePointEntities = + PointsData = binaryConverter.ToBytes(new[] { - pointEntity1, - pointEntity2 - } + new Point3D(1.0, 2.0, 3.0), + new Point3D(5.0, 2.0, 4.0) + }) }; context.SurfaceLineEntities.Add(entity); - context.SurfaceLinePointEntities.Add(pointEntity1); - context.SurfaceLinePointEntities.Add(pointEntity2); var registry = new PersistenceRegistry(); @@ -234,16 +207,7 @@ Assert.AreEqual(surfaceLine.ReferenceLineIntersectionWorldPoint.X, entity.ReferenceLineIntersectionX); Assert.AreEqual(surfaceLine.ReferenceLineIntersectionWorldPoint.Y, entity.ReferenceLineIntersectionY); - Assert.AreEqual(surfaceLine.Points.Length, entity.SurfaceLinePointEntities.Count); - for (int i = 0; i < surfaceLine.Points.Length; i++) - { - Point3D geometryPoint = surfaceLine.Points[i]; - SurfaceLinePointEntity pointEntity = entity.SurfaceLinePointEntities.ElementAt(i); - - Assert.AreEqual(geometryPoint.X, pointEntity.X); - Assert.AreEqual(geometryPoint.Y, pointEntity.Y); - Assert.AreEqual(geometryPoint.Z, pointEntity.Z); - } + CollectionAssert.AreEqual(binaryConverter.ToBytes(surfaceLine.Points), entity.PointsData); mocks.VerifyAll(); } @@ -257,41 +221,20 @@ RingtoetsPipingSurfaceLine surfaceLine = CreateSavedSurfaceLineWithGeometry(); + byte[] pointsData = new Point3DBinaryConverter().ToBytes(surfaceLine.Points); var entity = new SurfaceLineEntity { - SurfaceLineEntityId = surfaceLine.StorageId + SurfaceLineEntityId = surfaceLine.StorageId, + PointsData = pointsData }; context.SurfaceLineEntities.Add(entity); - var createCollector = new PersistenceRegistry(); - for (int i = 0; i < surfaceLine.Points.Length; i++) - { - var geometryPoint = surfaceLine.Points[i]; - SurfaceLinePointEntity pointEntity = geometryPoint.CreateSurfaceLinePointEntity(createCollector, i); - - geometryPoint.StorageId = i + 1; - pointEntity.SurfaceLinePointEntityId = geometryPoint.StorageId; - - entity.SurfaceLinePointEntities.Add(pointEntity); - context.SurfaceLinePointEntities.Add(pointEntity); - } - var registry = new PersistenceRegistry(); // Call surfaceLine.Update(registry, context); // Assert - Assert.AreEqual(surfaceLine.Points.Length, entity.SurfaceLinePointEntities.Count); - for (int i = 0; i < surfaceLine.Points.Length; i++) - { - Point3D geometryPoint = surfaceLine.Points[i]; - SurfaceLinePointEntity pointEntity = entity.SurfaceLinePointEntities.ElementAt(i); - - Assert.AreEqual(geometryPoint.X, pointEntity.X); - Assert.AreEqual(geometryPoint.Y, pointEntity.Y); - Assert.AreEqual(geometryPoint.Z, pointEntity.Z); - Assert.AreEqual(geometryPoint.StorageId, pointEntity.SurfaceLinePointEntityId); - } + Assert.AreSame(pointsData, entity.PointsData); mocks.VerifyAll(); } @@ -307,7 +250,8 @@ var entity = new SurfaceLineEntity { - SurfaceLineEntityId = surfaceLine.StorageId + SurfaceLineEntityId = surfaceLine.StorageId, + PointsData = new Point3DBinaryConverter().ToBytes(new Point3D[0]) }; context.SurfaceLineEntities.Add(entity); @@ -317,73 +261,24 @@ surfaceLine.Update(registry, context); // Assert - Assert.AreEqual(surfaceLine.Points.Length, entity.SurfaceLinePointEntities.Count); + byte[] expectedBinaryData = new Point3DBinaryConverter().ToBytes(surfaceLine.Points); + CollectionAssert.AreEqual(expectedBinaryData, entity.PointsData); - int dikeToeRiverIndex = GetGeometryPointIndexForCharacteristicPoint(surfaceLine, surfaceLine.DikeToeAtRiver); - int dikeToePolderIndex = GetGeometryPointIndexForCharacteristicPoint(surfaceLine, surfaceLine.DikeToeAtPolder); - int ditchDikeSideIndex = GetGeometryPointIndexForCharacteristicPoint(surfaceLine, surfaceLine.DitchDikeSide); - int bottomDitchDikeSideIndex = GetGeometryPointIndexForCharacteristicPoint(surfaceLine, surfaceLine.BottomDitchDikeSide); - int buttomDitchPolderSideIndex = GetGeometryPointIndexForCharacteristicPoint(surfaceLine, surfaceLine.BottomDitchPolderSide); - int ditchPolderSide = GetGeometryPointIndexForCharacteristicPoint(surfaceLine, surfaceLine.DitchPolderSide); - - var surfaceLinePointEntities = entity.SurfaceLinePointEntities.OrderBy(pe => pe.Order).ToArray(); - for (int i = 0; i < surfaceLine.Points.Length; i++) + var characteristicPointAssociations = new[] { - Point3D geometryPoint = surfaceLine.Points[i]; - SurfaceLinePointEntity pointEntity = surfaceLinePointEntities[i]; - - Assert.AreEqual(geometryPoint.X, pointEntity.X); - Assert.AreEqual(geometryPoint.Y, pointEntity.Y); - Assert.AreEqual(geometryPoint.Z, pointEntity.Z); - - if (i == dikeToeRiverIndex) - { - Assert.AreEqual(surfaceLine.DikeToeAtRiver.X, pointEntity.X); - Assert.AreEqual(surfaceLine.DikeToeAtRiver.Y, pointEntity.Y); - Assert.AreEqual(surfaceLine.DikeToeAtRiver.Z, pointEntity.Z); - CollectionAssert.Contains(pointEntity.CharacteristicPointEntities.Select(cpe => cpe.CharacteristicPointType), - (short)CharacteristicPointType.DikeToeAtRiver); - } - if (i == dikeToePolderIndex) - { - Assert.AreEqual(surfaceLine.DikeToeAtPolder.X, pointEntity.X); - Assert.AreEqual(surfaceLine.DikeToeAtPolder.Y, pointEntity.Y); - Assert.AreEqual(surfaceLine.DikeToeAtPolder.Z, pointEntity.Z); - CollectionAssert.Contains(pointEntity.CharacteristicPointEntities.Select(cpe => cpe.CharacteristicPointType), - (short)CharacteristicPointType.DikeToeAtPolder); - } - if (i == ditchDikeSideIndex) - { - Assert.AreEqual(surfaceLine.DitchDikeSide.X, pointEntity.X); - Assert.AreEqual(surfaceLine.DitchDikeSide.Y, pointEntity.Y); - Assert.AreEqual(surfaceLine.DitchDikeSide.Z, pointEntity.Z); - CollectionAssert.Contains(pointEntity.CharacteristicPointEntities.Select(cpe => cpe.CharacteristicPointType), - (short)CharacteristicPointType.DitchDikeSide); - } - if (i == bottomDitchDikeSideIndex) - { - Assert.AreEqual(surfaceLine.BottomDitchDikeSide.X, pointEntity.X); - Assert.AreEqual(surfaceLine.BottomDitchDikeSide.Y, pointEntity.Y); - Assert.AreEqual(surfaceLine.BottomDitchDikeSide.Z, pointEntity.Z); - CollectionAssert.Contains(pointEntity.CharacteristicPointEntities.Select(cpe => cpe.CharacteristicPointType), - (short)CharacteristicPointType.BottomDitchDikeSide); - } - if (i == buttomDitchPolderSideIndex) - { - Assert.AreEqual(surfaceLine.BottomDitchPolderSide.X, pointEntity.X); - Assert.AreEqual(surfaceLine.BottomDitchPolderSide.Y, pointEntity.Y); - Assert.AreEqual(surfaceLine.BottomDitchPolderSide.Z, pointEntity.Z); - CollectionAssert.Contains(pointEntity.CharacteristicPointEntities.Select(cpe => cpe.CharacteristicPointType), - (short)CharacteristicPointType.BottomDitchPolderSide); - } - if (i == ditchPolderSide) - { - Assert.AreEqual(surfaceLine.DitchPolderSide.X, pointEntity.X); - Assert.AreEqual(surfaceLine.DitchPolderSide.Y, pointEntity.Y); - Assert.AreEqual(surfaceLine.DitchPolderSide.Z, pointEntity.Z); - CollectionAssert.Contains(pointEntity.CharacteristicPointEntities.Select(cpe => cpe.CharacteristicPointType), - (short)CharacteristicPointType.DitchPolderSide); - } + Tuple.Create(surfaceLine.BottomDitchDikeSide, CharacteristicPointType.BottomDitchDikeSide), + Tuple.Create(surfaceLine.BottomDitchPolderSide, CharacteristicPointType.BottomDitchPolderSide), + Tuple.Create(surfaceLine.DikeToeAtPolder, CharacteristicPointType.DikeToeAtPolder), + Tuple.Create(surfaceLine.DikeToeAtRiver, CharacteristicPointType.DikeToeAtRiver), + Tuple.Create(surfaceLine.DitchDikeSide, CharacteristicPointType.DitchDikeSide), + Tuple.Create(surfaceLine.DitchPolderSide, CharacteristicPointType.DitchPolderSide) + }; + foreach (Tuple characteristicPointAssociation in characteristicPointAssociations) + { + CharacteristicPointEntity characteristicPointEntity = entity.CharacteristicPointEntities.First(cpe => cpe.Type == (short)characteristicPointAssociation.Item2); + Assert.AreEqual(characteristicPointAssociation.Item1.X, characteristicPointEntity.X); + Assert.AreEqual(characteristicPointAssociation.Item1.Y, characteristicPointEntity.Y); + Assert.AreEqual(characteristicPointAssociation.Item1.Z, characteristicPointEntity.Z); } mocks.VerifyAll(); } @@ -400,7 +295,8 @@ var entity = new SurfaceLineEntity { - SurfaceLineEntityId = surfaceLine.StorageId + SurfaceLineEntityId = surfaceLine.StorageId, + PointsData = new Point3DBinaryConverter().ToBytes(new Point3D[0]) }; context.SurfaceLineEntities.Add(entity); @@ -410,8 +306,7 @@ surfaceLine.Update(registry, context); // Assert - CharacteristicPointEntity[] characteristicPointEntities = entity.SurfaceLinePointEntities - .SelectMany(slpe => slpe.CharacteristicPointEntities) + CharacteristicPointEntity[] characteristicPointEntities = entity.CharacteristicPointEntities .ToArray(); foreach (CharacteristicPointEntity characteristicPointEntity in characteristicPointEntities) { @@ -439,33 +334,23 @@ RingtoetsPipingSurfaceLine surfaceLine = CreateSavedSurfaceLineWithGeometry(); - int index = 0; - var surfaceLinePointEntities = surfaceLine.Points.Select(p => new SurfaceLinePointEntity - { - SurfaceLinePointEntityId = p.StorageId, - Order = index++, - X = p.X, - Y = p.Y, - Z = p.Z, - }).ToArray(); - var characteristicPointEntity = new CharacteristicPointEntity { CharacteristicPointEntityId = 1, - CharacteristicPointType = (short)type, - SurfaceLinePointEntity = surfaceLinePointEntities[0] + Type = (short)type, + X = surfaceLine.Points[0].X, + Y = surfaceLine.Points[0].Y, + Z = surfaceLine.Points[0].Z }; - surfaceLinePointEntities[0].CharacteristicPointEntities.Add(characteristicPointEntity); - var entity = new SurfaceLineEntity { SurfaceLineEntityId = surfaceLine.StorageId, + PointsData = new Point3DBinaryConverter().ToBytes(surfaceLine.Points), + CharacteristicPointEntities = + { + characteristicPointEntity + } }; - foreach (SurfaceLinePointEntity pointEntity in surfaceLinePointEntities) - { - entity.SurfaceLinePointEntities.Add(pointEntity); - context.SurfaceLinePointEntities.Add(pointEntity); - } context.SurfaceLineEntities.Add(entity); context.CharacteristicPointEntities.Add(characteristicPointEntity); @@ -476,7 +361,7 @@ surfaceLine.Update(registry, context); // Assert - Assert.IsNull(characteristicPointEntity.SurfaceLinePointEntity); + CollectionAssert.DoesNotContain(entity.CharacteristicPointEntities, characteristicPointEntity); mocks.VerifyAll(); } @@ -491,31 +376,17 @@ RingtoetsPipingSurfaceLine surfaceLine = CreateSavedSurfaceLineWithData(); - int index = 0; - var surfaceLinePointEntities = surfaceLine.Points.Select(p => new SurfaceLinePointEntity - { - SurfaceLinePointEntityId = p.StorageId, - Order = index++, - X = p.X, - Y = p.Y, - Z = p.Z, - }).ToArray(); + var originalGeometryPointMarkedCharacteristic = surfaceLine.Points[1]; + CharacteristicPointEntity[] characteristicPointEntities = CreateCharacteristicPointEntities(originalGeometryPointMarkedCharacteristic); - SurfaceLinePointEntity originalGeometryPointMarkedCharacteristic = surfaceLinePointEntities[1]; - var characteristicPointEntities = CreateCharacteristicPointEntities(originalGeometryPointMarkedCharacteristic); - var entity = new SurfaceLineEntity { - SurfaceLineEntityId = surfaceLine.StorageId + SurfaceLineEntityId = surfaceLine.StorageId, + PointsData = new Point3DBinaryConverter().ToBytes(surfaceLine.Points) }; - foreach (SurfaceLinePointEntity pointEntity in surfaceLinePointEntities) - { - entity.SurfaceLinePointEntities.Add(pointEntity); - context.SurfaceLinePointEntities.Add(pointEntity); - } foreach (CharacteristicPointEntity characteristicPointEntity in characteristicPointEntities) { - characteristicPointEntity.SurfaceLinePointEntity.CharacteristicPointEntities.Add(characteristicPointEntity); + entity.CharacteristicPointEntities.Add(characteristicPointEntity); context.CharacteristicPointEntities.Add(characteristicPointEntity); } context.SurfaceLineEntities.Add(entity); @@ -528,80 +399,75 @@ // Assert foreach (CharacteristicPointEntity characteristicPointEntity in characteristicPointEntities) { - Assert.AreNotEqual(originalGeometryPointMarkedCharacteristic, characteristicPointEntity.SurfaceLinePointEntity); + Assert.AreNotEqual(originalGeometryPointMarkedCharacteristic.X, characteristicPointEntity.X); + Assert.AreNotEqual(originalGeometryPointMarkedCharacteristic.Y, characteristicPointEntity.Y); + Assert.AreNotEqual(originalGeometryPointMarkedCharacteristic.Z, characteristicPointEntity.Z); } mocks.VerifyAll(); } - private CharacteristicPointEntity[] CreateCharacteristicPointEntities(SurfaceLinePointEntity pointEntity) + private CharacteristicPointEntity[] CreateCharacteristicPointEntities(Point3D point) { var characteristicPointEntities = new CharacteristicPointEntity[6]; characteristicPointEntities[0] = new CharacteristicPointEntity { CharacteristicPointEntityId = 1, - CharacteristicPointType = (short)CharacteristicPointType.DikeToeAtRiver, - SurfaceLinePointEntity = pointEntity + Type = (short)CharacteristicPointType.DikeToeAtRiver, + X = point.X, + Y = point.Y, + Z = point.Z }; characteristicPointEntities[1] = new CharacteristicPointEntity { CharacteristicPointEntityId = 2, - CharacteristicPointType = (short)CharacteristicPointType.DikeToeAtPolder, - SurfaceLinePointEntity = pointEntity + Type = (short)CharacteristicPointType.DikeToeAtPolder, + X = point.X, + Y = point.Y, + Z = point.Z }; characteristicPointEntities[2] = new CharacteristicPointEntity { CharacteristicPointEntityId = 3, - CharacteristicPointType = (short)CharacteristicPointType.DitchDikeSide, - SurfaceLinePointEntity = pointEntity + Type = (short)CharacteristicPointType.DitchDikeSide, + X = point.X, + Y = point.Y, + Z = point.Z }; characteristicPointEntities[3] = new CharacteristicPointEntity { CharacteristicPointEntityId = 4, - CharacteristicPointType = (short)CharacteristicPointType.BottomDitchDikeSide, - SurfaceLinePointEntity = pointEntity + Type = (short)CharacteristicPointType.BottomDitchDikeSide, + X = point.X, + Y = point.Y, + Z = point.Z }; characteristicPointEntities[4] = new CharacteristicPointEntity { CharacteristicPointEntityId = 5, - CharacteristicPointType = (short)CharacteristicPointType.BottomDitchPolderSide, - SurfaceLinePointEntity = pointEntity + Type = (short)CharacteristicPointType.BottomDitchPolderSide, + X = point.X, + Y = point.Y, + Z = point.Z }; characteristicPointEntities[5] = new CharacteristicPointEntity { CharacteristicPointEntityId = 6, - CharacteristicPointType = (short)CharacteristicPointType.DitchPolderSide, - SurfaceLinePointEntity = pointEntity + Type = (short)CharacteristicPointType.DitchPolderSide, + X = point.X, + Y = point.Y, + Z = point.Z }; return characteristicPointEntities; } - private static int GetGeometryPointIndexForCharacteristicPoint(RingtoetsPipingSurfaceLine surfaceLine, Point3D characteristicPoint) - { - int index = -1; - for (int i = 0; i < surfaceLine.Points.Length; i++) - { - if (surfaceLine.Points[i].Equals(characteristicPoint)) - { - return i; - } - } - return index; - } - private static RingtoetsPipingSurfaceLine CreateSavedSurfaceLineWithGeometry() { var geometryPoints = new[] { - new Point3D(1.1, 2.2, 3.3) - { - StorageId = 38472 - }, + new Point3D(1.1, 2.2, 3.3), new Point3D(4.4, 5.5, 6.6) - { - StorageId = 4095 - } }; var surfaceLine = new RingtoetsPipingSurfaceLine { @@ -617,38 +483,14 @@ { var geometryPoints = new[] { - new Point3D(1.1, 2.2, 3.3) - { - StorageId = 340985 - }, - new Point3D(4.4, 5.5, 6.6) - { - StorageId = 4058 - }, - new Point3D(7.7, 8.8, 9.9) - { - StorageId = 39485 - }, - new Point3D(10.10, 11.11, 12.12) - { - StorageId = 280347 - }, - new Point3D(13.13, 14.14, 15.15) - { - StorageId = 43059 - }, - new Point3D(16.16, 17.17, 18.18) - { - StorageId = 2390 - }, - new Point3D(19.19, 20.20, 21.21) - { - StorageId = 43 - }, + new Point3D(1.1, 2.2, 3.3), + new Point3D(4.4, 5.5, 6.6), + new Point3D(7.7, 8.8, 9.9), + new Point3D(10.10, 11.11, 12.12), + new Point3D(13.13, 14.14, 15.15), + new Point3D(16.16, 17.17, 18.18), + new Point3D(19.19, 20.20, 21.21), new Point3D(22.22, 23.23, 24.24) - { - StorageId = 325 - } }; var surfaceLine = new RingtoetsPipingSurfaceLine { Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/Piping/StochasticSoilModelUpdateExtensionsTest.cs =================================================================== diff -u -rdd460a16f3fed1c1fc5abc2842ea57015f6f4a5c -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/Piping/StochasticSoilModelUpdateExtensionsTest.cs (.../StochasticSoilModelUpdateExtensionsTest.cs) (revision dd460a16f3fed1c1fc5abc2842ea57015f6f4a5c) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/Piping/StochasticSoilModelUpdateExtensionsTest.cs (.../StochasticSoilModelUpdateExtensionsTest.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -153,7 +153,7 @@ StochasticSoilModelEntityId = 1, Name = string.Empty, SegmentName = string.Empty, - SegmentPoints = new Point2DBinaryConverter().ToBytes(new Point2D[0]) + StochasticSoilModelSegmentPointData = new Point2DBinaryConverter().ToBytes(new Point2D[0]) }; ringtoetsEntities.StochasticSoilModelEntities.Add(modelEntity); @@ -192,7 +192,7 @@ var soilModelEntity = new StochasticSoilModelEntity { StochasticSoilModelEntityId = 1, - SegmentPoints = new Point2DBinaryConverter().ToBytes(new Point2D[0]) + StochasticSoilModelSegmentPointData = new Point2DBinaryConverter().ToBytes(new Point2D[0]) }; ringtoetsEntities.StochasticSoilModelEntities.Add(soilModelEntity); @@ -239,7 +239,7 @@ { soilProfileEntity }, - SegmentPoints = new Point2DBinaryConverter().ToBytes(new Point2D[0]) + StochasticSoilModelSegmentPointData = new Point2DBinaryConverter().ToBytes(new Point2D[0]) }; ringtoetsEntities.StochasticSoilModelEntities.Add(soilModelEntity); @@ -281,7 +281,7 @@ var soilModelEntity = new StochasticSoilModelEntity { StochasticSoilModelEntityId = soilModelId, - SegmentPoints = originalSegmentPointsData + StochasticSoilModelSegmentPointData = originalSegmentPointsData }; context.StochasticSoilModelEntities.Add(soilModelEntity); @@ -291,7 +291,7 @@ soilModel.Update(registry, context); // Assert - CollectionAssert.AreEqual(point2DBinaryConverter.ToBytes(soilModel.Geometry), soilModelEntity.SegmentPoints); + CollectionAssert.AreEqual(point2DBinaryConverter.ToBytes(soilModel.Geometry), soilModelEntity.StochasticSoilModelSegmentPointData); mocks.VerifyAll(); } @@ -324,7 +324,7 @@ var soilModelEntity = new StochasticSoilModelEntity { StochasticSoilModelEntityId = soilModelId, - SegmentPoints = originalSegmentPointsData + StochasticSoilModelSegmentPointData = originalSegmentPointsData }; context.StochasticSoilModelEntities.Add(soilModelEntity); @@ -334,7 +334,7 @@ soilModel.Update(registry, context); // Assert - CollectionAssert.AreEqual(point2DBinaryConverter.ToBytes(soilModel.Geometry), soilModelEntity.SegmentPoints); + CollectionAssert.AreEqual(point2DBinaryConverter.ToBytes(soilModel.Geometry), soilModelEntity.StochasticSoilModelSegmentPointData); mocks.VerifyAll(); } @@ -362,7 +362,7 @@ var soilModelEntity = new StochasticSoilModelEntity { StochasticSoilModelEntityId = soilModelId, - SegmentPoints = originalSegmentPointData + StochasticSoilModelSegmentPointData = originalSegmentPointData }; context.StochasticSoilModelEntities.Add(soilModelEntity); @@ -372,7 +372,7 @@ soilModel.Update(registry, context); // Assert - CollectionAssert.AreEqual(originalSegmentPointData, soilModelEntity.SegmentPoints); + CollectionAssert.AreEqual(originalSegmentPointData, soilModelEntity.StochasticSoilModelSegmentPointData); mocks.VerifyAll(); } Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/PipingStructure/PipingStructureFailureMechanismUpdateExtensionsTest.cs =================================================================== diff -u -ra5714fc0488030773fff50dfc82041c6cb9edc2f -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/PipingStructure/PipingStructureFailureMechanismUpdateExtensionsTest.cs (.../PipingStructureFailureMechanismUpdateExtensionsTest.cs) (revision a5714fc0488030773fff50dfc82041c6cb9edc2f) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/PipingStructure/PipingStructureFailureMechanismUpdateExtensionsTest.cs (.../PipingStructureFailureMechanismUpdateExtensionsTest.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -22,6 +22,7 @@ using System; using System.Linq; +using Application.Ringtoets.Storage.BinaryConverters; using Application.Ringtoets.Storage.Create; using Application.Ringtoets.Storage.DbContext; using Application.Ringtoets.Storage.Exceptions; @@ -204,22 +205,25 @@ mocks.ReplayAll(); - var failureMechanism = new PipingStructureFailureMechanism - { - StorageId = 1 - }; var testName = "testName"; - failureMechanism.AddSection(new FailureMechanismSection(testName, new[] + var failureMechanismSection = new FailureMechanismSection(testName, new[] { new Point2D(0, 0) }) { StorageId = 1 - }); + }; + var failureMechanism = new PipingStructureFailureMechanism + { + StorageId = 1 + }; + failureMechanism.AddSection(failureMechanismSection); + var failureMechanismSectionEntity = new FailureMechanismSectionEntity { FailureMechanismSectionEntityId = 1, + FailureMechanismSectionPointData = new Point2DBinaryConverter().ToBytes(new Point2D[0]) }; var failureMechanismEntity = new FailureMechanismEntity { Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/StabilityStoneCover/StabilityStoneCoverFailureMechanismUpdateExtensionsTest.cs =================================================================== diff -u -ra5714fc0488030773fff50dfc82041c6cb9edc2f -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/StabilityStoneCover/StabilityStoneCoverFailureMechanismUpdateExtensionsTest.cs (.../StabilityStoneCoverFailureMechanismUpdateExtensionsTest.cs) (revision a5714fc0488030773fff50dfc82041c6cb9edc2f) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/StabilityStoneCover/StabilityStoneCoverFailureMechanismUpdateExtensionsTest.cs (.../StabilityStoneCoverFailureMechanismUpdateExtensionsTest.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -22,6 +22,7 @@ using System; using System.Linq; +using Application.Ringtoets.Storage.BinaryConverters; using Application.Ringtoets.Storage.Create; using Application.Ringtoets.Storage.DbContext; using Application.Ringtoets.Storage.Exceptions; @@ -204,22 +205,25 @@ mocks.ReplayAll(); - var failureMechanism = new StabilityStoneCoverFailureMechanism - { - StorageId = 1 - }; var testName = "testName"; - failureMechanism.AddSection(new FailureMechanismSection(testName, new[] + var failureMechanismSection = new FailureMechanismSection(testName, new[] { new Point2D(0, 0) }) { StorageId = 1 - }); + }; + var failureMechanism = new StabilityStoneCoverFailureMechanism + { + StorageId = 1 + }; + failureMechanism.AddSection(failureMechanismSection); + var failureMechanismSectionEntity = new FailureMechanismSectionEntity { FailureMechanismSectionEntityId = 1, + FailureMechanismSectionPointData = new Point2DBinaryConverter().ToBytes(failureMechanismSection.Points) }; var failureMechanismEntity = new FailureMechanismEntity { Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/StrengthStabilityLengthwiseConstruction/StrengthStabilityLengthwiseConstructionFailureMechanismUpdateExtensionsTest.cs =================================================================== diff -u -r08a7e5a78a7b9976fe8191b13af73738cb75d69d -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/StrengthStabilityLengthwiseConstruction/StrengthStabilityLengthwiseConstructionFailureMechanismUpdateExtensionsTest.cs (.../StrengthStabilityLengthwiseConstructionFailureMechanismUpdateExtensionsTest.cs) (revision 08a7e5a78a7b9976fe8191b13af73738cb75d69d) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/StrengthStabilityLengthwiseConstruction/StrengthStabilityLengthwiseConstructionFailureMechanismUpdateExtensionsTest.cs (.../StrengthStabilityLengthwiseConstructionFailureMechanismUpdateExtensionsTest.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -21,6 +21,8 @@ using System; using System.Linq; + +using Application.Ringtoets.Storage.BinaryConverters; using Application.Ringtoets.Storage.Create; using Application.Ringtoets.Storage.DbContext; using Application.Ringtoets.Storage.Exceptions; @@ -199,22 +201,25 @@ mocks.ReplayAll(); - var failureMechanism = new StrengthStabilityLengthwiseConstructionFailureMechanism - { - StorageId = 1 - }; var testName = "testName"; - failureMechanism.AddSection(new FailureMechanismSection(testName, new[] + var failureMechanismSection = new FailureMechanismSection(testName, new[] { new Point2D(0, 0) }) { StorageId = 1 - }); + }; + var failureMechanism = new StrengthStabilityLengthwiseConstructionFailureMechanism + { + StorageId = 1 + }; + failureMechanism.AddSection(failureMechanismSection); + var failureMechanismSectionEntity = new FailureMechanismSectionEntity { FailureMechanismSectionEntityId = 1, + FailureMechanismSectionPointData = new Point2DBinaryConverter().ToBytes(failureMechanismSection.Points) }; var failureMechanismEntity = new FailureMechanismEntity { Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/StrengthStabilityPointConstruction/StrengthStabilityPointConstructionFailureMechanismUpdateExtensionsTest.cs =================================================================== diff -u -r08a7e5a78a7b9976fe8191b13af73738cb75d69d -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/StrengthStabilityPointConstruction/StrengthStabilityPointConstructionFailureMechanismUpdateExtensionsTest.cs (.../StrengthStabilityPointConstructionFailureMechanismUpdateExtensionsTest.cs) (revision 08a7e5a78a7b9976fe8191b13af73738cb75d69d) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/StrengthStabilityPointConstruction/StrengthStabilityPointConstructionFailureMechanismUpdateExtensionsTest.cs (.../StrengthStabilityPointConstructionFailureMechanismUpdateExtensionsTest.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -21,6 +21,8 @@ using System; using System.Linq; + +using Application.Ringtoets.Storage.BinaryConverters; using Application.Ringtoets.Storage.Create; using Application.Ringtoets.Storage.DbContext; using Application.Ringtoets.Storage.Exceptions; @@ -199,22 +201,25 @@ mocks.ReplayAll(); - var failureMechanism = new StrengthStabilityPointConstructionFailureMechanism - { - StorageId = 1 - }; var testName = "testName"; - failureMechanism.AddSection(new FailureMechanismSection(testName, new[] + var failureMechanismSection = new FailureMechanismSection(testName, new[] { new Point2D(0, 0) }) { StorageId = 1 - }); + }; + var failureMechanism = new StrengthStabilityPointConstructionFailureMechanism + { + StorageId = 1 + }; + failureMechanism.AddSection(failureMechanismSection); + var failureMechanismSectionEntity = new FailureMechanismSectionEntity { FailureMechanismSectionEntityId = 1, + FailureMechanismSectionPointData = new Point2DBinaryConverter().ToBytes(failureMechanismSection.Points) }; var failureMechanismEntity = new FailureMechanismEntity { Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/TechnicalInnovation/TechnicalInnovationFailureMechanismUpdateExtensionsTest.cs =================================================================== diff -u -ra5714fc0488030773fff50dfc82041c6cb9edc2f -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/TechnicalInnovation/TechnicalInnovationFailureMechanismUpdateExtensionsTest.cs (.../TechnicalInnovationFailureMechanismUpdateExtensionsTest.cs) (revision a5714fc0488030773fff50dfc82041c6cb9edc2f) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/TechnicalInnovation/TechnicalInnovationFailureMechanismUpdateExtensionsTest.cs (.../TechnicalInnovationFailureMechanismUpdateExtensionsTest.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -22,6 +22,7 @@ using System; using System.Linq; +using Application.Ringtoets.Storage.BinaryConverters; using Application.Ringtoets.Storage.Create; using Application.Ringtoets.Storage.DbContext; using Application.Ringtoets.Storage.Exceptions; @@ -204,22 +205,25 @@ mocks.ReplayAll(); - var failureMechanism = new TechnicalInnovationFailureMechanism - { - StorageId = 1 - }; var testName = "testName"; - failureMechanism.AddSection(new FailureMechanismSection(testName, new[] + var failureMechanismSection = new FailureMechanismSection(testName, new[] { new Point2D(0, 0) }) { StorageId = 1 - }); + }; + var failureMechanism = new TechnicalInnovationFailureMechanism + { + StorageId = 1 + }; + failureMechanism.AddSection(failureMechanismSection); + var failureMechanismSectionEntity = new FailureMechanismSectionEntity { FailureMechanismSectionEntityId = 1, + FailureMechanismSectionPointData = new Point2DBinaryConverter().ToBytes(failureMechanismSection.Points) }; var failureMechanismEntity = new FailureMechanismEntity { Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/WaterPressureAsphaltCover/WaterPressureAsphaltCoverFailureMechanismUpdateExtensionsTest.cs =================================================================== diff -u -ra5714fc0488030773fff50dfc82041c6cb9edc2f -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/WaterPressureAsphaltCover/WaterPressureAsphaltCoverFailureMechanismUpdateExtensionsTest.cs (.../WaterPressureAsphaltCoverFailureMechanismUpdateExtensionsTest.cs) (revision a5714fc0488030773fff50dfc82041c6cb9edc2f) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/WaterPressureAsphaltCover/WaterPressureAsphaltCoverFailureMechanismUpdateExtensionsTest.cs (.../WaterPressureAsphaltCoverFailureMechanismUpdateExtensionsTest.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -22,6 +22,7 @@ using System; using System.Linq; +using Application.Ringtoets.Storage.BinaryConverters; using Application.Ringtoets.Storage.Create; using Application.Ringtoets.Storage.DbContext; using Application.Ringtoets.Storage.Exceptions; @@ -204,22 +205,25 @@ mocks.ReplayAll(); - var failureMechanism = new WaterPressureAsphaltCoverFailureMechanism - { - StorageId = 1 - }; var testName = "testName"; - failureMechanism.AddSection(new FailureMechanismSection(testName, new[] + var failureMechanismSection = new FailureMechanismSection(testName, new[] { new Point2D(0, 0) }) { StorageId = 1 - }); + }; + var failureMechanism = new WaterPressureAsphaltCoverFailureMechanism + { + StorageId = 1 + }; + failureMechanism.AddSection(failureMechanismSection); + var failureMechanismSectionEntity = new FailureMechanismSectionEntity { FailureMechanismSectionEntityId = 1, + FailureMechanismSectionPointData = new Point2DBinaryConverter().ToBytes(failureMechanismSection.Points) }; var failureMechanismEntity = new FailureMechanismEntity { Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/WaveImpactAsphaltCover/WaveImpactAsphaltCoverFailureMechanismUpdateExtensionsTest.cs =================================================================== diff -u -ra5714fc0488030773fff50dfc82041c6cb9edc2f -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/WaveImpactAsphaltCover/WaveImpactAsphaltCoverFailureMechanismUpdateExtensionsTest.cs (.../WaveImpactAsphaltCoverFailureMechanismUpdateExtensionsTest.cs) (revision a5714fc0488030773fff50dfc82041c6cb9edc2f) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/WaveImpactAsphaltCover/WaveImpactAsphaltCoverFailureMechanismUpdateExtensionsTest.cs (.../WaveImpactAsphaltCoverFailureMechanismUpdateExtensionsTest.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -22,6 +22,7 @@ using System; using System.Linq; +using Application.Ringtoets.Storage.BinaryConverters; using Application.Ringtoets.Storage.Create; using Application.Ringtoets.Storage.DbContext; using Application.Ringtoets.Storage.Exceptions; @@ -204,22 +205,25 @@ mocks.ReplayAll(); - var failureMechanism = new WaveImpactAsphaltCoverFailureMechanism - { - StorageId = 1 - }; var testName = "testName"; - failureMechanism.AddSection(new FailureMechanismSection(testName, new[] + var failureMechanismSection = new FailureMechanismSection(testName, new[] { new Point2D(0, 0) }) { StorageId = 1 - }); + }; + var failureMechanism = new WaveImpactAsphaltCoverFailureMechanism + { + StorageId = 1 + }; + failureMechanism.AddSection(failureMechanismSection); + var failureMechanismSectionEntity = new FailureMechanismSectionEntity { FailureMechanismSectionEntityId = 1, + FailureMechanismSectionPointData = new Point2DBinaryConverter().ToBytes(failureMechanismSection.Points) }; var failureMechanismEntity = new FailureMechanismEntity { Index: Application/Ringtoets/test/Application.Ringtoets.Storage.TestUtil/RingtoetsEntitiesHelper.cs =================================================================== diff -u -r23766b602d9b509a2ffc030f284e8d5e82325a3e -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/test/Application.Ringtoets.Storage.TestUtil/RingtoetsEntitiesHelper.cs (.../RingtoetsEntitiesHelper.cs) (revision 23766b602d9b509a2ffc030f284e8d5e82325a3e) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.TestUtil/RingtoetsEntitiesHelper.cs (.../RingtoetsEntitiesHelper.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -40,7 +40,6 @@ DbSet hydraylicLocationsSet = CreateEmptyTestDbSet(); DbSet failureMechanismsSet = CreateEmptyTestDbSet(); DbSet failureMechanismSectionsSet = CreateEmptyTestDbSet(); - DbSet failureMechanismSectionPointsSet = CreateEmptyTestDbSet(); DbSet pipingSectionResultsSet = CreateEmptyTestDbSet(); DbSet dikeProfileSet = CreateEmptyTestDbSet(); DbSet grassCoverErosionInwardsMetaSet = CreateEmptyTestDbSet(); @@ -64,7 +63,6 @@ DbSet stabilityStoneCoverSectionResultsSet = CreateEmptyTestDbSet(); DbSet strengthStabilityPointConstructionSectionResultsSet = CreateEmptyTestDbSet(); DbSet assessmentSectionsSet = CreateEmptyTestDbSet(); - DbSet referenceLinesSet = CreateEmptyTestDbSet(); DbSet calculationGroupsSet = CreateEmptyTestDbSet(); DbSet pipingCalculationsSet = CreateEmptyTestDbSet(); DbSet pipingCalculationsOutputsSet = CreateEmptyTestDbSet(); @@ -74,7 +72,6 @@ DbSet soilProfilesSet = CreateEmptyTestDbSet(); DbSet soilLayersSet = CreateEmptyTestDbSet(); DbSet surfaceLinesSet = CreateEmptyTestDbSet(); - DbSet surfaceLinePointsSet = CreateEmptyTestDbSet(); DbSet characteristicPointsSet = CreateEmptyTestDbSet(); DbSet failureMechanismMetaSet = CreateEmptyTestDbSet(); DbSet probabilisticOutputsSet = CreateEmptyTestDbSet(); @@ -84,7 +81,6 @@ ringtoetsEntities.Stub(r => r.HydraulicLocationEntities).Return(hydraylicLocationsSet); ringtoetsEntities.Stub(r => r.FailureMechanismEntities).Return(failureMechanismsSet); ringtoetsEntities.Stub(r => r.FailureMechanismSectionEntities).Return(failureMechanismSectionsSet); - ringtoetsEntities.Stub(r => r.FailureMechanismSectionPointEntities).Return(failureMechanismSectionPointsSet); ringtoetsEntities.Stub(r => r.PipingSectionResultEntities).Return(pipingSectionResultsSet); ringtoetsEntities.Stub(r => r.DikeProfileEntities).Return(dikeProfileSet); ringtoetsEntities.Stub(r => r.GrassCoverErosionInwardsFailureMechanismMetaEntities).Return(grassCoverErosionInwardsMetaSet); @@ -108,7 +104,6 @@ ringtoetsEntities.Stub(r => r.StabilityStoneCoverSectionResultEntities).Return(stabilityStoneCoverSectionResultsSet); ringtoetsEntities.Stub(r => r.StrengthStabilityPointConstructionSectionResultEntities).Return(strengthStabilityPointConstructionSectionResultsSet); ringtoetsEntities.Stub(r => r.AssessmentSectionEntities).Return(assessmentSectionsSet); - ringtoetsEntities.Stub(r => r.ReferenceLinePointEntities).Return(referenceLinesSet); ringtoetsEntities.Stub(r => r.CalculationGroupEntities).Return(calculationGroupsSet); ringtoetsEntities.Stub(r => r.PipingCalculationEntities).Return(pipingCalculationsSet); ringtoetsEntities.Stub(r => r.PipingCalculationOutputEntities).Return(pipingCalculationsOutputsSet); @@ -118,7 +113,6 @@ ringtoetsEntities.Stub(r => r.SoilProfileEntities).Return(soilProfilesSet); ringtoetsEntities.Stub(r => r.SoilLayerEntities).Return(soilLayersSet); ringtoetsEntities.Stub(r => r.SurfaceLineEntities).Return(surfaceLinesSet); - ringtoetsEntities.Stub(r => r.SurfaceLinePointEntities).Return(surfaceLinePointsSet); ringtoetsEntities.Stub(r => r.CharacteristicPointEntities).Return(characteristicPointsSet); ringtoetsEntities.Stub(r => r.PipingFailureMechanismMetaEntities).Return(failureMechanismMetaSet); ringtoetsEntities.Stub(r => r.ProbabilisticOutputEntities).Return(probabilisticOutputsSet); Index: Core/Common/src/Core.Common.Base/Geometry/Point3D.cs =================================================================== diff -u -r8a2d2653ceff765beecfcedab41a6be91df7d16e -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Core/Common/src/Core.Common.Base/Geometry/Point3D.cs (.../Point3D.cs) (revision 8a2d2653ceff765beecfcedab41a6be91df7d16e) +++ Core/Common/src/Core.Common.Base/Geometry/Point3D.cs (.../Point3D.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -21,14 +21,12 @@ using System; -using Core.Common.Base.Storage; - namespace Core.Common.Base.Geometry { /// /// Defines a mathematical, immutable point in 3D Euclidean space. /// - public sealed class Point3D : IStorable + public sealed class Point3D { /// /// Creates a new instance of . @@ -58,8 +56,6 @@ /// public double Z { get; private set; } - public long StorageId { get; set; } - public override bool Equals(object obj) { if (ReferenceEquals(null, obj)) Index: Core/Common/test/Core.Common.Base.Test/Geometry/Point3DTest.cs =================================================================== diff -u -r151bab16a7ebc1bffc0621ab56c6dc219db1e90f -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Core/Common/test/Core.Common.Base.Test/Geometry/Point3DTest.cs (.../Point3DTest.cs) (revision 151bab16a7ebc1bffc0621ab56c6dc219db1e90f) +++ Core/Common/test/Core.Common.Base.Test/Geometry/Point3DTest.cs (.../Point3DTest.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -43,8 +43,6 @@ var point = new Point3D(x, y, z); // Assert - Assert.IsInstanceOf(point); - Assert.AreEqual(1.1, point.X); Assert.AreEqual(2.2, point.Y); Assert.AreEqual(-1.1, point.Z);