Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Read/MacroStabilityInwards/MacroStabilityInwardsSoilLayerTwoDEntityReadExtensions.cs =================================================================== diff -u -ra25ab906f08e5e263ebb35920acc3ee1bdd928df -r9b2bb9a809f4b42bd06b910dde1f6eb8e546356f --- Application/Ringtoets/src/Application.Ringtoets.Storage/Read/MacroStabilityInwards/MacroStabilityInwardsSoilLayerTwoDEntityReadExtensions.cs (.../MacroStabilityInwardsSoilLayerTwoDEntityReadExtensions.cs) (revision a25ab906f08e5e263ebb35920acc3ee1bdd928df) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Read/MacroStabilityInwards/MacroStabilityInwardsSoilLayerTwoDEntityReadExtensions.cs (.../MacroStabilityInwardsSoilLayerTwoDEntityReadExtensions.cs) (revision 9b2bb9a809f4b42bd06b910dde1f6eb8e546356f) @@ -54,7 +54,7 @@ return new MacroStabilityInwardsSoilLayer2D(outerRing, ReadData(entity), - ReadNestedLayers(entity).ToArray()); + ReadNestedLayers(entity)); } private static MacroStabilityInwardsSoilLayerData ReadData(MacroStabilityInwardsSoilLayerTwoDEntity entity) @@ -110,7 +110,8 @@ { return entity.MacroStabilityInwardsSoilLayerTwoDEntity1 .OrderBy(e => e.Order) - .Select(e => e.Read()); + .Select(e => e.Read()) + .ToArray(); } } } \ No newline at end of file Index: Core/Common/src/Core.Common.Base/Geometry/Point3DCollectionExtensions.cs =================================================================== diff -u -r00da0d2f72214f140bceff0eaae5f14172c587de -r9b2bb9a809f4b42bd06b910dde1f6eb8e546356f --- Core/Common/src/Core.Common.Base/Geometry/Point3DCollectionExtensions.cs (.../Point3DCollectionExtensions.cs) (revision 00da0d2f72214f140bceff0eaae5f14172c587de) +++ Core/Common/src/Core.Common.Base/Geometry/Point3DCollectionExtensions.cs (.../Point3DCollectionExtensions.cs) (revision 9b2bb9a809f4b42bd06b910dde1f6eb8e546356f) @@ -62,7 +62,7 @@ Point3D last = points.Last(); var firstPoint = new Point2D(first.X, first.Y); var lastPoint = new Point2D(last.X, last.Y); - return points.Select(p => p.ProjectIntoLocalCoordinates(firstPoint, lastPoint)); + return points.Select(p => p.ProjectIntoLocalCoordinates(firstPoint, lastPoint)).ToArray(); } /// Index: Core/Common/src/Core.Common.Geometry/AdvancedMath2D.cs =================================================================== diff -u -r133ab46a14ee9508c8dd5e4f82381da606076ae0 -r9b2bb9a809f4b42bd06b910dde1f6eb8e546356f --- Core/Common/src/Core.Common.Geometry/AdvancedMath2D.cs (.../AdvancedMath2D.cs) (revision 133ab46a14ee9508c8dd5e4f82381da606076ae0) +++ Core/Common/src/Core.Common.Geometry/AdvancedMath2D.cs (.../AdvancedMath2D.cs) (revision 9b2bb9a809f4b42bd06b910dde1f6eb8e546356f) @@ -103,7 +103,7 @@ /// A collection of with the transformed X coordinates. /// Thrown when or /// is null. - public static Point2D[] FromXToXY(double[] xCoordinates, Point2D referencePoint, double offset, double rotation) + public static IEnumerable FromXToXY(IEnumerable xCoordinates, Point2D referencePoint, double offset, double rotation) { if (xCoordinates == null) { Index: Core/Common/test/Core.Common.Geometry.Test/AdvancedMath2DTest.cs =================================================================== diff -u -r133ab46a14ee9508c8dd5e4f82381da606076ae0 -r9b2bb9a809f4b42bd06b910dde1f6eb8e546356f --- Core/Common/test/Core.Common.Geometry.Test/AdvancedMath2DTest.cs (.../AdvancedMath2DTest.cs) (revision 133ab46a14ee9508c8dd5e4f82381da606076ae0) +++ Core/Common/test/Core.Common.Geometry.Test/AdvancedMath2DTest.cs (.../AdvancedMath2DTest.cs) (revision 9b2bb9a809f4b42bd06b910dde1f6eb8e546356f) @@ -89,7 +89,7 @@ }; // Call - IEnumerable> intersections = AdvancedMath2D.PolygonIntersectionWithPolygon(polyA, polyB).ToArray(); + IEnumerable> intersections = AdvancedMath2D.PolygonIntersectionWithPolygon(polyA, polyB); // Assert Assert.AreEqual(1, intersections.Count()); @@ -111,7 +111,7 @@ }; // Call - IEnumerable> intersections = AdvancedMath2D.PolygonIntersectionWithPolygon(polyA, polyB).ToArray(); + IEnumerable> intersections = AdvancedMath2D.PolygonIntersectionWithPolygon(polyA, polyB); // Assert Assert.AreEqual(1, intersections.Count()); @@ -133,7 +133,7 @@ }; // Call - IEnumerable> intersections = AdvancedMath2D.PolygonIntersectionWithPolygon(polyA, polyB).ToArray(); + IEnumerable> intersections = AdvancedMath2D.PolygonIntersectionWithPolygon(polyA, polyB); // Assert Assert.AreEqual(new[] @@ -162,7 +162,7 @@ }; // Call - IEnumerable> intersections = AdvancedMath2D.PolygonIntersectionWithPolygon(polyA, polyB).ToArray(); + IEnumerable> intersections = AdvancedMath2D.PolygonIntersectionWithPolygon(polyA, polyB); // Assert Assert.AreEqual(new[] @@ -193,7 +193,7 @@ }; // Call - IEnumerable> intersections = AdvancedMath2D.PolygonIntersectionWithPolygon(polyA, polyB).ToArray(); + IEnumerable> intersections = AdvancedMath2D.PolygonIntersectionWithPolygon(polyA, polyB); // Assert Assert.AreEqual(2, intersections.Count()); @@ -233,7 +233,7 @@ }; // Call - IEnumerable> intersections = AdvancedMath2D.PolygonIntersectionWithPolygon(polyA, polyB).ToArray(); + IEnumerable> intersections = AdvancedMath2D.PolygonIntersectionWithPolygon(polyA, polyB); // Assert Assert.AreEqual(3, intersections.Count()); @@ -282,10 +282,10 @@ } [Test] - public void FromXToXY_NoPoints_ReturnsEmptyList() + public void FromXToXY_NoPoints_ReturnsEmptyCollection() { // Call - Point2D[] points = AdvancedMath2D.FromXToXY(new double[0], new Point2D(0, 0), 3, 2); + IEnumerable points = AdvancedMath2D.FromXToXY(new double[0], new Point2D(0, 0), 3, 2); // Assert CollectionAssert.IsEmpty(points); @@ -299,7 +299,7 @@ var referencePoint = new Point2D(0, 0); // Call - Point2D[] points = AdvancedMath2D.FromXToXY(xCoordinates, referencePoint, 0, 0); + IEnumerable points = AdvancedMath2D.FromXToXY(xCoordinates, referencePoint, 0, 0); // Assert CollectionElementsAlmostEquals(xCoordinates.Select(x => new Point2D(0, x)), points); @@ -314,7 +314,7 @@ int offset = new Random(21).Next(); // Call - Point2D[] points = AdvancedMath2D.FromXToXY(xCoordinates, referencePoint, offset, 0); + IEnumerable points = AdvancedMath2D.FromXToXY(xCoordinates, referencePoint, offset, 0); // Assert CollectionElementsAlmostEquals(xCoordinates.Select(x => new Point2D(0, x - offset)), points); @@ -328,7 +328,7 @@ var referencePoint = new Point2D(0, 0); // Call - Point2D[] points = AdvancedMath2D.FromXToXY(xCoordinates, referencePoint, 0, 180); + IEnumerable points = AdvancedMath2D.FromXToXY(xCoordinates, referencePoint, 0, 180); // Assert CollectionElementsAlmostEquals(xCoordinates.Select(x => new Point2D(0, -x)), points); @@ -343,7 +343,7 @@ var referencePoint = new Point2D(random.NextDouble(), random.NextDouble()); // Call - Point2D[] points = AdvancedMath2D.FromXToXY(xCoordinates, referencePoint, 0, 0); + IEnumerable points = AdvancedMath2D.FromXToXY(xCoordinates, referencePoint, 0, 0); // Assert CollectionElementsAlmostEquals(xCoordinates.Select(x => new Point2D(referencePoint.X, referencePoint.Y + x)), points); @@ -365,7 +365,7 @@ const double rotation = 45; // Call - Point2D[] points = AdvancedMath2D.FromXToXY(xCoordinates, referencePoint, offset, rotation); + IEnumerable points = AdvancedMath2D.FromXToXY(xCoordinates, referencePoint, offset, rotation); // Assert CollectionElementsAlmostEquals(new[] @@ -421,12 +421,12 @@ }; // Call - Point2D[] pointsOfPolygon = AdvancedMath2D.CompleteLineToPolygon(points, completingPointsLevel).ToArray(); + IEnumerable pointsOfPolygon = AdvancedMath2D.CompleteLineToPolygon(points, completingPointsLevel); // Assert Assert.AreEqual(points, pointsOfPolygon.Take(3)); - Assert.AreEqual(new Point2D(lastPointX, completingPointsLevel), pointsOfPolygon[3]); - Assert.AreEqual(new Point2D(firstPointX, completingPointsLevel), pointsOfPolygon[4]); + Assert.AreEqual(new Point2D(lastPointX, completingPointsLevel), pointsOfPolygon.ElementAt(3)); + Assert.AreEqual(new Point2D(firstPointX, completingPointsLevel), pointsOfPolygon.ElementAt(4)); } private static double[] ThreeRandomXCoordinates() @@ -440,13 +440,13 @@ }; } - private static void CollectionElementsAlmostEquals(IEnumerable expected, Point2D[] actual) + private static void CollectionElementsAlmostEquals(IEnumerable expected, IEnumerable actual) { - Assert.AreEqual(expected.Count(), actual.Length); + Assert.AreEqual(expected.Count(), actual.Count()); - for (var index = 0; index < actual.Length; index++) + for (var index = 0; index < actual.Count(); index++) { - Point2D actualPoint = actual[index]; + Point2D actualPoint = actual.ElementAt(index); Point2D expectedPoint = expected.ElementAt(index); const double delta = 1e-8; Index: Ringtoets/Common/src/Ringtoets.Common.Data/MechanismSurfaceLineBase.cs =================================================================== diff -u -r39e941a3f116d264000cd6f46a61f64674063933 -r9b2bb9a809f4b42bd06b910dde1f6eb8e546356f --- Ringtoets/Common/src/Ringtoets.Common.Data/MechanismSurfaceLineBase.cs (.../MechanismSurfaceLineBase.cs) (revision 39e941a3f116d264000cd6f46a61f64674063933) +++ Ringtoets/Common/src/Ringtoets.Common.Data/MechanismSurfaceLineBase.cs (.../MechanismSurfaceLineBase.cs) (revision 9b2bb9a809f4b42bd06b910dde1f6eb8e546356f) @@ -109,7 +109,7 @@ EndingWorldPoint = Points.Last(); } - LocalGeometry = new RoundedPoint2DCollection(numberOfDecimalPlaces, Points.ProjectToLZ().ToArray()); + LocalGeometry = new RoundedPoint2DCollection(numberOfDecimalPlaces, Points.ProjectToLZ()); } /// Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Factories/RingtoetsMapDataFeaturesFactory.cs =================================================================== diff -u -r497878dbca36645b49b3c18146e1948e2f4bf22d -r9b2bb9a809f4b42bd06b910dde1f6eb8e546356f --- Ringtoets/Common/src/Ringtoets.Common.Forms/Factories/RingtoetsMapDataFeaturesFactory.cs (.../RingtoetsMapDataFeaturesFactory.cs) (revision 497878dbca36645b49b3c18146e1948e2f4bf22d) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Factories/RingtoetsMapDataFeaturesFactory.cs (.../RingtoetsMapDataFeaturesFactory.cs) (revision 9b2bb9a809f4b42bd06b910dde1f6eb8e546356f) @@ -40,7 +40,7 @@ namespace Ringtoets.Common.Forms.Factories { /// - /// Factory for creating arrays of to use in + /// Factory for creating collections of to use in /// (created via ). /// public static class RingtoetsMapDataFeaturesFactory @@ -75,9 +75,9 @@ /// line features for. /// The id of the . /// The name of the . - /// An array of features or an empty array when + /// A collection of features or an empty collection when /// is null. - public static MapFeature[] CreateReferenceLineFeatures(ReferenceLine referenceLine, string id, string name) + public static IEnumerable CreateReferenceLineFeatures(ReferenceLine referenceLine, string id, string name) { if (referenceLine != null) { @@ -100,9 +100,9 @@ /// /// The /// to create the location features for. - /// An array of features or an empty array when + /// A collection of features or an empty collection when /// is null. - public static MapFeature[] CreateHydraulicBoundaryDatabaseFeatures(HydraulicBoundaryDatabase hydraulicBoundaryDatabase) + public static IEnumerable CreateHydraulicBoundaryDatabaseFeatures(HydraulicBoundaryDatabase hydraulicBoundaryDatabase) { return CreateHydraulicBoundaryLocationFeatures(hydraulicBoundaryDatabase?.Locations.ToArray() ?? new HydraulicBoundaryLocation[0], Resources.DesignWaterLevel_DisplayName, @@ -115,12 +115,12 @@ /// The locations to create the features for. /// The name of the design water level attribute. /// The name of the wave height attribute. - /// An array of features or an empty array when + /// A collection of features or an empty collection when /// is empty. /// Thrown when any input parameter is null. - public static MapFeature[] CreateHydraulicBoundaryLocationFeatures(HydraulicBoundaryLocation[] hydraulicBoundaryLocations, - string designWaterLevelAttributeName, - string waveHeightAttributeName) + public static IEnumerable CreateHydraulicBoundaryLocationFeatures(IEnumerable hydraulicBoundaryLocations, + string designWaterLevelAttributeName, + string waveHeightAttributeName) { if (hydraulicBoundaryLocations == null) { @@ -135,11 +135,11 @@ throw new ArgumentNullException(nameof(waveHeightAttributeName)); } - var features = new MapFeature[hydraulicBoundaryLocations.Length]; + var features = new MapFeature[hydraulicBoundaryLocations.Count()]; - for (var i = 0; i < hydraulicBoundaryLocations.Length; i++) + for (var i = 0; i < hydraulicBoundaryLocations.Count(); i++) { - HydraulicBoundaryLocation location = hydraulicBoundaryLocations[i]; + HydraulicBoundaryLocation location = hydraulicBoundaryLocations.ElementAt(i); MapFeature feature = CreateSinglePointMapFeature(location.Location); feature.MetaData[Resources.MetaData_ID] = location.Id; @@ -158,9 +158,9 @@ /// /// The collection of to create /// the section features for. - /// An array of features or an empty array when is + /// A collection of features or an empty collection when is /// null or empty. - public static MapFeature[] CreateFailureMechanismSectionFeatures(IEnumerable sections) + public static IEnumerable CreateFailureMechanismSectionFeatures(IEnumerable sections) { return sections?.Select(CreateFailureMechanismSectionMapFeature).ToArray() ?? new MapFeature[0]; } @@ -170,9 +170,9 @@ /// /// The collection of to create /// the section start point features for. - /// An array of features or an empty array when is + /// A collection of features or an empty collection when is /// null or empty. - public static MapFeature[] CreateFailureMechanismSectionStartPointFeatures(IEnumerable sections) + public static IEnumerable CreateFailureMechanismSectionStartPointFeatures(IEnumerable sections) { return sections != null && sections.Any() ? new[] @@ -187,14 +187,14 @@ /// /// The collection of to create /// the section end point features for. - /// An array of features or an empty array when is + /// A collection of features or an empty collection when is /// null or empty. - public static MapFeature[] CreateFailureMechanismSectionEndPointFeatures(IEnumerable sections) + public static IEnumerable CreateFailureMechanismSectionEndPointFeatures(IEnumerable sections) { return sections != null && sections.Any() ? new[] { - CreateSingleLineMapFeature(sections.Select(sl => sl.GetLast())) + CreateSingleLineMapFeature(sections.Select(sl => sl.GetLast()).ToArray()) } : new MapFeature[0]; } @@ -203,9 +203,9 @@ /// Create features for the geometry of the . /// /// The profiles to create features for. - /// An array of features or an empty array when is + /// A collection of features or an empty collection when is /// null or empty. - public static MapFeature[] CreateDikeProfilesFeatures(IEnumerable dikeProfiles) + public static IEnumerable CreateDikeProfilesFeatures(IEnumerable dikeProfiles) { if (dikeProfiles != null) { @@ -230,9 +230,9 @@ /// Create features for the geometry of the . /// /// The profiles to create features for. - /// An array of features or an empty array when + /// A collection of features or an empty collection when /// is null or empty. - public static MapFeature[] CreateForeshoreProfilesFeatures(IEnumerable foreshoreProfiles) + public static IEnumerable CreateForeshoreProfilesFeatures(IEnumerable foreshoreProfiles) { if (foreshoreProfiles != null) { @@ -258,9 +258,9 @@ /// Create features for the geometry of the . /// /// The profiles to create features for. - /// An array of features or an empty array when is + /// A collection of features or an empty collection when is /// null or empty. - public static MapFeature[] CreateStructuresFeatures(IEnumerable structures) + public static IEnumerable CreateStructuresFeatures(IEnumerable structures) { if (structures != null) { @@ -288,9 +288,9 @@ /// The type of the . /// The collection of to create the /// calculation features for. - /// An array of features or an empty array when is null + /// A collection of features or an empty collection when is null /// or empty. - public static MapFeature[] CreateStructureCalculationsFeatures( + public static IEnumerable CreateStructureCalculationsFeatures( IEnumerable> calculations) where TStructuresInput : StructuresInputBase, new() where TStructure : StructureBase @@ -311,17 +311,17 @@ /// /// The collection of to create the /// calculation features for. - /// An array of features or an empty array when is null + /// A collection of features or an empty collection when is null /// or empty. - public static MapFeature[] CreateCalculationFeatures(MapCalculationData[] calculationData) + public static IEnumerable CreateCalculationFeatures(IEnumerable calculationData) { if (calculationData != null && calculationData.Any()) { - var features = new MapFeature[calculationData.Length]; + var features = new MapFeature[calculationData.Count()]; - for (var i = 0; i < calculationData.Length; i++) + for (var i = 0; i < calculationData.Count(); i++) { - MapCalculationData calculationItem = calculationData[i]; + MapCalculationData calculationItem = calculationData.ElementAt(i); MapFeature feature = CreateSingleLineMapFeature(new[] { calculationItem.CalculationLocation, @@ -402,7 +402,7 @@ return feature; } - private static Point2D[] GetWorldPoints(DikeProfile dikeProfile) + private static IEnumerable GetWorldPoints(DikeProfile dikeProfile) { return AdvancedMath2D.FromXToXY( dikeProfile.DikeGeometry.Select(p => -p.Point.X).ToArray(), @@ -411,7 +411,7 @@ dikeProfile.Orientation); } - private static Point2D[] GetWorldPoints(ForeshoreProfile foreshoreProfile) + private static IEnumerable GetWorldPoints(ForeshoreProfile foreshoreProfile) { return AdvancedMath2D.FromXToXY( foreshoreProfile.Geometry.Select(p => -p.X).ToArray(), Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Factories/RingtoetsMapDataFeaturesFactoryTest.cs =================================================================== diff -u -rfe90a6d174a01975381e6cda55ed1f7f4e831a51 -r9b2bb9a809f4b42bd06b910dde1f6eb8e546356f --- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Factories/RingtoetsMapDataFeaturesFactoryTest.cs (.../RingtoetsMapDataFeaturesFactoryTest.cs) (revision fe90a6d174a01975381e6cda55ed1f7f4e831a51) +++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Factories/RingtoetsMapDataFeaturesFactoryTest.cs (.../RingtoetsMapDataFeaturesFactoryTest.cs) (revision 9b2bb9a809f4b42bd06b910dde1f6eb8e546356f) @@ -75,17 +75,17 @@ } [Test] - public void CreateReferenceLineFeatures_ReferenceLineNull_ReturnsEmptyFeaturesArray() + public void CreateReferenceLineFeatures_ReferenceLineNull_ReturnsEmptyFeaturesCollection() { // Call - MapFeature[] features = RingtoetsMapDataFeaturesFactory.CreateReferenceLineFeatures(null, string.Empty, string.Empty); + IEnumerable features = RingtoetsMapDataFeaturesFactory.CreateReferenceLineFeatures(null, string.Empty, string.Empty); // Assert CollectionAssert.IsEmpty(features); } [Test] - public void CreateReferenceLineFeatures_GivenReferenceLine_ReturnsReferenceLineFeaturesArray() + public void CreateReferenceLineFeatures_GivenReferenceLine_ReturnsReferenceLineFeaturesCollection() { // Setup const string id = "1"; @@ -100,10 +100,10 @@ referenceLine.SetGeometry(points); // Call - MapFeature[] features = RingtoetsMapDataFeaturesFactory.CreateReferenceLineFeatures(referenceLine, id, name); + IEnumerable features = RingtoetsMapDataFeaturesFactory.CreateReferenceLineFeatures(referenceLine, id, name); // Assert - MapFeature mapFeature = features[0]; + MapFeature mapFeature = features.First(); Assert.AreEqual(3, mapFeature.MetaData.Keys.Count); Assert.AreEqual(id, mapFeature.MetaData["ID"]); Assert.AreEqual(name, mapFeature.MetaData["Naam"]); @@ -114,17 +114,17 @@ } [Test] - public void CreateHydraulicBoundaryDatabaseFeatures_HydraulicBoundaryDatabaseNull_ReturnsEmptyFeaturesArray() + public void CreateHydraulicBoundaryDatabaseFeatures_HydraulicBoundaryDatabaseNull_ReturnsEmptyFeaturesCollection() { // Call - MapFeature[] features = RingtoetsMapDataFeaturesFactory.CreateHydraulicBoundaryDatabaseFeatures(null); + IEnumerable features = RingtoetsMapDataFeaturesFactory.CreateHydraulicBoundaryDatabaseFeatures(null); // Assert CollectionAssert.IsEmpty(features); } [Test] - public void CreateHydraulicBoundaryDatabaseFeatures_GivenHydraulicBoundaryDatabase_ReturnsLocationFeaturesArray() + public void CreateHydraulicBoundaryDatabaseFeatures_GivenHydraulicBoundaryDatabase_ReturnsLocationFeaturesCollection() { // Setup var points = new[] @@ -136,28 +136,28 @@ hydraulicBoundaryDatabase.Locations.AddRange(points.Select(p => new HydraulicBoundaryLocation(0, "", p.X, p.Y))); // Call - MapFeature[] features = RingtoetsMapDataFeaturesFactory.CreateHydraulicBoundaryDatabaseFeatures(hydraulicBoundaryDatabase); + IEnumerable features = RingtoetsMapDataFeaturesFactory.CreateHydraulicBoundaryDatabaseFeatures(hydraulicBoundaryDatabase); // Assert List hydraulicBoundaryLocations = hydraulicBoundaryDatabase.Locations; - Assert.AreEqual(hydraulicBoundaryLocations.Count, features.Length); + Assert.AreEqual(hydraulicBoundaryLocations.Count, features.Count()); for (var i = 0; i < hydraulicBoundaryLocations.Count; i++) { - Assert.AreEqual(4, features[i].MetaData.Keys.Count); - Assert.AreEqual(hydraulicBoundaryLocations[i].Id, features[i].MetaData["ID"]); - Assert.AreEqual(hydraulicBoundaryLocations[i].Name, features[i].MetaData["Naam"]); - Assert.AreEqual(hydraulicBoundaryLocations[i].DesignWaterLevel, features[i].MetaData["Toetspeil"]); - Assert.AreEqual(hydraulicBoundaryLocations[i].WaveHeight, features[i].MetaData["Golfhoogte"]); + Assert.AreEqual(4, features.ElementAt(i).MetaData.Keys.Count); + Assert.AreEqual(hydraulicBoundaryLocations[i].Id, features.ElementAt(i).MetaData["ID"]); + Assert.AreEqual(hydraulicBoundaryLocations[i].Name, features.ElementAt(i).MetaData["Naam"]); + Assert.AreEqual(hydraulicBoundaryLocations[i].DesignWaterLevel, features.ElementAt(i).MetaData["Toetspeil"]); + Assert.AreEqual(hydraulicBoundaryLocations[i].WaveHeight, features.ElementAt(i).MetaData["Golfhoogte"]); } AssertEqualFeatureCollections(points, features); } [Test] - public void CreateHydraulicBoundaryLocationFeatures_HydraulicBoundaryLocationsArrayEmpty_ReturnsEmptyFeaturesArray() + public void CreateHydraulicBoundaryLocationFeatures_HydraulicBoundaryLocationsArrayEmpty_ReturnsEmptyFeaturesCollection() { // Call - MapFeature[] features = RingtoetsMapDataFeaturesFactory.CreateHydraulicBoundaryLocationFeatures( + IEnumerable features = RingtoetsMapDataFeaturesFactory.CreateHydraulicBoundaryLocationFeatures( new HydraulicBoundaryLocation[0], string.Empty, string.Empty); // Assert @@ -201,7 +201,7 @@ } [Test] - public void CreateHydraulicBoundaryLocationFeatures_GivenHydraulicBoundaryLocations_ReturnsLocationFeaturesArray() + public void CreateHydraulicBoundaryLocationFeatures_GivenHydraulicBoundaryLocations_ReturnsLocationFeaturesCollection() { // Setup const string designWaterLevelAttributeName = "Toetspeil"; @@ -216,48 +216,48 @@ hydraulicBoundaryDatabase.Locations.AddRange(points.Select(p => new HydraulicBoundaryLocation(0, "", p.X, p.Y))); // Call - MapFeature[] features = RingtoetsMapDataFeaturesFactory.CreateHydraulicBoundaryLocationFeatures(hydraulicBoundaryDatabase.Locations.ToArray(), - designWaterLevelAttributeName, - waveheightAttributeName); + IEnumerable features = RingtoetsMapDataFeaturesFactory.CreateHydraulicBoundaryLocationFeatures(hydraulicBoundaryDatabase.Locations.ToArray(), + designWaterLevelAttributeName, + waveheightAttributeName); // Assert List hydraulicBoundaryLocations = hydraulicBoundaryDatabase.Locations; - Assert.AreEqual(hydraulicBoundaryLocations.Count, features.Length); + Assert.AreEqual(hydraulicBoundaryLocations.Count, features.Count()); for (var i = 0; i < hydraulicBoundaryLocations.Count; i++) { - Assert.AreEqual(4, features[i].MetaData.Keys.Count); - Assert.AreEqual(hydraulicBoundaryLocations[i].Id, features[i].MetaData["ID"]); - Assert.AreEqual(hydraulicBoundaryLocations[i].Name, features[i].MetaData["Naam"]); - Assert.AreEqual(hydraulicBoundaryLocations[i].DesignWaterLevel, features[i].MetaData[designWaterLevelAttributeName]); - Assert.AreEqual(hydraulicBoundaryLocations[i].WaveHeight, features[i].MetaData[waveheightAttributeName]); + Assert.AreEqual(4, features.ElementAt(i).MetaData.Keys.Count); + Assert.AreEqual(hydraulicBoundaryLocations[i].Id, features.ElementAt(i).MetaData["ID"]); + Assert.AreEqual(hydraulicBoundaryLocations[i].Name, features.ElementAt(i).MetaData["Naam"]); + Assert.AreEqual(hydraulicBoundaryLocations[i].DesignWaterLevel, features.ElementAt(i).MetaData[designWaterLevelAttributeName]); + Assert.AreEqual(hydraulicBoundaryLocations[i].WaveHeight, features.ElementAt(i).MetaData[waveheightAttributeName]); } AssertEqualFeatureCollections(points, features); } [Test] - public void CreateFailureMechanismSectionFeatures_SectionsNull_ReturnsEmptyFeaturesArray() + public void CreateFailureMechanismSectionFeatures_SectionsNull_ReturnsEmptyFeaturesCollection() { // Call - MapFeature[] features = RingtoetsMapDataFeaturesFactory.CreateFailureMechanismSectionFeatures(null); + IEnumerable features = RingtoetsMapDataFeaturesFactory.CreateFailureMechanismSectionFeatures(null); // Assert CollectionAssert.IsEmpty(features); } [Test] - public void CreateFailureMechanismSectionFeatures_NoSections_ReturnsEmptyFeaturesArray() + public void CreateFailureMechanismSectionFeatures_NoSections_ReturnsEmptyFeaturesCollection() { // Call - MapFeature[] features = RingtoetsMapDataFeaturesFactory.CreateFailureMechanismSectionFeatures( + IEnumerable features = RingtoetsMapDataFeaturesFactory.CreateFailureMechanismSectionFeatures( Enumerable.Empty()); // Assert CollectionAssert.IsEmpty(features); } [Test] - public void CreateFailureMechanismSectionFeatures_GivenSections_ReturnsSectionFeaturesArray() + public void CreateFailureMechanismSectionFeatures_GivenSections_ReturnsSectionFeaturesCollection() { // Setup const string sectionName1 = "section 1"; @@ -281,45 +281,45 @@ }; // Call - MapFeature[] features = RingtoetsMapDataFeaturesFactory.CreateFailureMechanismSectionFeatures(sections); + IEnumerable features = RingtoetsMapDataFeaturesFactory.CreateFailureMechanismSectionFeatures(sections); // Assert - Assert.AreEqual(2, features.Length); - for (var i = 0; i < features.Length; i++) + Assert.AreEqual(2, features.Count()); + for (var i = 0; i < features.Count(); i++) { - Assert.AreEqual(1, features[i].MapGeometries.Count()); - Assert.AreEqual(2, features[i].MetaData.Keys.Count); + Assert.AreEqual(1, features.ElementAt(i).MapGeometries.Count()); + Assert.AreEqual(2, features.ElementAt(i).MetaData.Keys.Count); - Assert.AreEqual(sections[i].Name, features[i].MetaData["Naam"]); + Assert.AreEqual(sections[i].Name, features.ElementAt(i).MetaData["Naam"]); var expectedLength = new RoundedDouble(2, Math2D.Length(sections[i].Points)); - Assert.AreEqual(expectedLength, (RoundedDouble) features[i].MetaData["Lengte"], expectedLength.GetAccuracy()); + Assert.AreEqual(expectedLength, (RoundedDouble) features.ElementAt(i).MetaData["Lengte"], expectedLength.GetAccuracy()); - AssertEqualPointCollections(sections[i].Points, features[i].MapGeometries.First()); + AssertEqualPointCollections(sections[i].Points, features.ElementAt(i).MapGeometries.First()); } } [Test] - public void CreateFailureMechanismSectionStartPointFeatures_SectionsNull_ReturnsEmptyFeaturesArray() + public void CreateFailureMechanismSectionStartPointFeatures_SectionsNull_ReturnsEmptyFeaturesCollection() { // Call - MapFeature[] features = RingtoetsMapDataFeaturesFactory.CreateFailureMechanismSectionStartPointFeatures(null); + IEnumerable features = RingtoetsMapDataFeaturesFactory.CreateFailureMechanismSectionStartPointFeatures(null); // Assert CollectionAssert.IsEmpty(features); } [Test] - public void CreateFailureMechanismSectionStartPointFeatures_NoSections_ReturnsEmptyFeaturesArray() + public void CreateFailureMechanismSectionStartPointFeatures_NoSections_ReturnsEmptyFeaturesCollection() { // Call - MapFeature[] features = RingtoetsMapDataFeaturesFactory.CreateFailureMechanismSectionStartPointFeatures(Enumerable.Empty()); + IEnumerable features = RingtoetsMapDataFeaturesFactory.CreateFailureMechanismSectionStartPointFeatures(Enumerable.Empty()); // Assert CollectionAssert.IsEmpty(features); } [Test] - public void CreateFailureMechanismSectionStartPointFeatures_GivenSections_ReturnsSectionBeginPointFeaturesArray() + public void CreateFailureMechanismSectionStartPointFeatures_GivenSections_ReturnsSectionBeginPointFeaturesCollection() { // Setup var pointsOne = new[] @@ -339,40 +339,40 @@ }; // Call - MapFeature[] features = RingtoetsMapDataFeaturesFactory.CreateFailureMechanismSectionStartPointFeatures(sections); + IEnumerable features = RingtoetsMapDataFeaturesFactory.CreateFailureMechanismSectionStartPointFeatures(sections); // Assert - Assert.AreEqual(1, features.Length); - Assert.AreEqual(1, features[0].MapGeometries.Count()); + Assert.AreEqual(1, features.Count()); + Assert.AreEqual(1, features.First().MapGeometries.Count()); AssertEqualPointCollections(new[] { pointsOne[0], pointsTwo[0] - }, features[0].MapGeometries.ElementAt(0)); + }, features.First().MapGeometries.ElementAt(0)); } [Test] - public void CreateFailureMechanismSectionEndPointFeatures_SectionsNull_ReturnsEmptyFeaturesArray() + public void CreateFailureMechanismSectionEndPointFeatures_SectionsNull_ReturnsEmptyFeaturesCollection() { // Call - MapFeature[] features = RingtoetsMapDataFeaturesFactory.CreateFailureMechanismSectionEndPointFeatures(null); + IEnumerable features = RingtoetsMapDataFeaturesFactory.CreateFailureMechanismSectionEndPointFeatures(null); // Assert CollectionAssert.IsEmpty(features); } [Test] - public void CreateFailureMechanismSectionEndPointFeatures_NoSections_ReturnsEmptyFeaturesArray() + public void CreateFailureMechanismSectionEndPointFeatures_NoSections_ReturnsEmptyFeaturesCollection() { // Call - MapFeature[] features = RingtoetsMapDataFeaturesFactory.CreateFailureMechanismSectionEndPointFeatures(Enumerable.Empty()); + IEnumerable features = RingtoetsMapDataFeaturesFactory.CreateFailureMechanismSectionEndPointFeatures(Enumerable.Empty()); // Assert CollectionAssert.IsEmpty(features); } [Test] - public void CreateFailureMechanismSectionEndPointFeatures_GivenSections_ReturnsSectionEndPointFeaturesArray() + public void CreateFailureMechanismSectionEndPointFeatures_GivenSections_ReturnsSectionEndPointFeaturesCollection() { // Setup var pointsOne = new[] @@ -392,23 +392,23 @@ }; // Call - MapFeature[] features = RingtoetsMapDataFeaturesFactory.CreateFailureMechanismSectionEndPointFeatures(sections); + IEnumerable features = RingtoetsMapDataFeaturesFactory.CreateFailureMechanismSectionEndPointFeatures(sections); // Assert - Assert.AreEqual(1, features.Length); - Assert.AreEqual(1, features[0].MapGeometries.Count()); + Assert.AreEqual(1, features.Count()); + Assert.AreEqual(1, features.First().MapGeometries.Count()); AssertEqualPointCollections(new[] { pointsOne[1], pointsTwo[1] - }, features[0].MapGeometries.ElementAt(0)); + }, features.First().MapGeometries.ElementAt(0)); } [Test] public void CreateStructuresFeatures_NullStructures_ReturnsEmptyCollection() { // Call - MapFeature[] features = RingtoetsMapDataFeaturesFactory.CreateStructuresFeatures(null); + IEnumerable features = RingtoetsMapDataFeaturesFactory.CreateStructuresFeatures(null); // Assert CollectionAssert.IsEmpty(features); @@ -421,7 +421,7 @@ IEnumerable structures = Enumerable.Empty(); // Call - MapFeature[] features = RingtoetsMapDataFeaturesFactory.CreateStructuresFeatures(structures); + IEnumerable features = RingtoetsMapDataFeaturesFactory.CreateStructuresFeatures(structures); // Assert CollectionAssert.IsEmpty(features); @@ -441,31 +441,31 @@ }; // Call - MapFeature[] features = RingtoetsMapDataFeaturesFactory.CreateStructuresFeatures(structures); + IEnumerable features = RingtoetsMapDataFeaturesFactory.CreateStructuresFeatures(structures); // Assert - Assert.AreEqual(2, features.Length); - Assert.AreEqual(1, features[0].MapGeometries.Count()); - Assert.AreEqual(1, features[1].MapGeometries.Count()); - Point2D[] mapDataGeometryOne = features[0].MapGeometries.ElementAt(0).PointCollections.First().ToArray(); - Point2D[] mapDataGeometryTwo = features[1].MapGeometries.ElementAt(0).PointCollections.First().ToArray(); + Assert.AreEqual(2, features.Count()); + Assert.AreEqual(1, features.First().MapGeometries.Count()); + Assert.AreEqual(1, features.ElementAt(1).MapGeometries.Count()); + Point2D[] mapDataGeometryOne = features.First().MapGeometries.ElementAt(0).PointCollections.First().ToArray(); + Point2D[] mapDataGeometryTwo = features.ElementAt(1).MapGeometries.ElementAt(0).PointCollections.First().ToArray(); Assert.AreEqual(1, mapDataGeometryOne.Length); Assert.AreEqual(1, mapDataGeometryTwo.Length); Assert.AreEqual(structure1.Location, mapDataGeometryOne[0]); Assert.AreEqual(structure2.Location, mapDataGeometryTwo[0]); const int expectedNumberOfMetaDataOptions = 1; - Assert.AreEqual(expectedNumberOfMetaDataOptions, features[0].MetaData.Count); - Assert.AreEqual(expectedNumberOfMetaDataOptions, features[1].MetaData.Count); - Assert.AreEqual(structure1.Name, features[0].MetaData["Naam"]); - Assert.AreEqual(structure2.Name, features[1].MetaData["Naam"]); + Assert.AreEqual(expectedNumberOfMetaDataOptions, features.First().MetaData.Count); + Assert.AreEqual(expectedNumberOfMetaDataOptions, features.ElementAt(1).MetaData.Count); + Assert.AreEqual(structure1.Name, features.First().MetaData["Naam"]); + Assert.AreEqual(structure2.Name, features.ElementAt(1).MetaData["Naam"]); } [Test] public void CreateStructureCalculationsFeatures_NullLocations_ReturnsEmptyCollection() { // Call - MapFeature[] features = RingtoetsMapDataFeaturesFactory.CreateStructureCalculationsFeatures< + IEnumerable features = RingtoetsMapDataFeaturesFactory.CreateStructureCalculationsFeatures< SimpleStructuresInput, StructureBase>(null); // Assert @@ -476,7 +476,7 @@ public void CreateStructureCalculationsFeatures_EmptyLocations_ReturnsEmptyCollection() { // Call - MapFeature[] features = RingtoetsMapDataFeaturesFactory.CreateStructureCalculationsFeatures + IEnumerable features = RingtoetsMapDataFeaturesFactory.CreateStructureCalculationsFeatures (Enumerable.Empty()); // Assert @@ -512,19 +512,19 @@ }; // Call - MapFeature[] features = RingtoetsMapDataFeaturesFactory.CreateStructureCalculationsFeatures + IEnumerable features = RingtoetsMapDataFeaturesFactory.CreateStructureCalculationsFeatures (new[] { simpleStructuresCalculationA, simpleStructuresCalculationB }); // Assert - Assert.AreEqual(2, features.Length); - Assert.AreEqual(1, features[0].MapGeometries.Count()); - Assert.AreEqual(1, features[1].MapGeometries.Count()); - Point2D[] mapDataGeometryOne = features[0].MapGeometries.ElementAt(0).PointCollections.First().ToArray(); - Point2D[] mapDataGeometryTwo = features[1].MapGeometries.ElementAt(0).PointCollections.First().ToArray(); + Assert.AreEqual(2, features.Count()); + Assert.AreEqual(1, features.First().MapGeometries.Count()); + Assert.AreEqual(1, features.ElementAt(1).MapGeometries.Count()); + Point2D[] mapDataGeometryOne = features.First().MapGeometries.ElementAt(0).PointCollections.First().ToArray(); + Point2D[] mapDataGeometryTwo = features.ElementAt(1).MapGeometries.ElementAt(0).PointCollections.First().ToArray(); CollectionElementsAlmostEquals(new[] { @@ -542,7 +542,7 @@ public void CreateCalculationsFeatures_NullLocations_ReturnsEmptyCollection() { // Call - MapFeature[] features = RingtoetsMapDataFeaturesFactory.CreateCalculationFeatures(null); + IEnumerable features = RingtoetsMapDataFeaturesFactory.CreateCalculationFeatures(null); // Assert CollectionAssert.IsEmpty(features); @@ -552,7 +552,7 @@ public void CreateCalculationsFeatures_EmptyLocations_ReturnsEmptyCollection() { // Call - MapFeature[] features = RingtoetsMapDataFeaturesFactory.CreateCalculationFeatures( + IEnumerable features = RingtoetsMapDataFeaturesFactory.CreateCalculationFeatures( new MapCalculationData[0]); // Assert @@ -570,18 +570,18 @@ var hydraulicBoundaryLocationB = new HydraulicBoundaryLocation(1, string.Empty, 7.7, 12.6); // Call - MapFeature[] features = RingtoetsMapDataFeaturesFactory.CreateCalculationFeatures(new[] + IEnumerable features = RingtoetsMapDataFeaturesFactory.CreateCalculationFeatures(new[] { new MapCalculationData("calculationA", calculationLocationA, hydraulicBoundaryLocationA), new MapCalculationData("calculationB", calculationLocationB, hydraulicBoundaryLocationB) }); // Assert - Assert.AreEqual(2, features.Length); - Assert.AreEqual(1, features[0].MapGeometries.Count()); - Assert.AreEqual(1, features[1].MapGeometries.Count()); - Point2D[] mapDataGeometryOne = features[0].MapGeometries.ElementAt(0).PointCollections.First().ToArray(); - Point2D[] mapDataGeometryTwo = features[1].MapGeometries.ElementAt(0).PointCollections.First().ToArray(); + Assert.AreEqual(2, features.Count()); + Assert.AreEqual(1, features.First().MapGeometries.Count()); + Assert.AreEqual(1, features.ElementAt(1).MapGeometries.Count()); + Point2D[] mapDataGeometryOne = features.First().MapGeometries.ElementAt(0).PointCollections.First().ToArray(); + Point2D[] mapDataGeometryTwo = features.ElementAt(1).MapGeometries.ElementAt(0).PointCollections.First().ToArray(); CollectionElementsAlmostEquals(new[] { @@ -599,7 +599,7 @@ public void CreateDikeProfilesFeatures_NullDikeProfiles_ReturnsEmptyCollection() { // Call - MapFeature[] features = RingtoetsMapDataFeaturesFactory.CreateDikeProfilesFeatures(null); + IEnumerable features = RingtoetsMapDataFeaturesFactory.CreateDikeProfilesFeatures(null); // Assert CollectionAssert.IsEmpty(features); @@ -609,7 +609,7 @@ public void CreateDikeProfilesFeatures_EmptyDikeProfiles_ReturnsEmptyCollection() { // Call - MapFeature[] features = RingtoetsMapDataFeaturesFactory.CreateDikeProfilesFeatures( + IEnumerable features = RingtoetsMapDataFeaturesFactory.CreateDikeProfilesFeatures( Enumerable.Empty()); // Assert @@ -661,14 +661,14 @@ }; // Call - MapFeature[] features = RingtoetsMapDataFeaturesFactory.CreateDikeProfilesFeatures(dikeProfiles); + IEnumerable features = RingtoetsMapDataFeaturesFactory.CreateDikeProfilesFeatures(dikeProfiles); // Assert - Assert.AreEqual(2, features.Length); - Assert.AreEqual(1, features[0].MapGeometries.Count()); - Assert.AreEqual(1, features[1].MapGeometries.Count()); - Point2D[] mapDataDikeGeometryOne = features[0].MapGeometries.ElementAt(0).PointCollections.First().ToArray(); - Point2D[] mapDataDikeGeometryTwo = features[1].MapGeometries.ElementAt(0).PointCollections.First().ToArray(); + Assert.AreEqual(2, features.Count()); + Assert.AreEqual(1, features.First().MapGeometries.Count()); + Assert.AreEqual(1, features.ElementAt(1).MapGeometries.Count()); + Point2D[] mapDataDikeGeometryOne = features.First().MapGeometries.ElementAt(0).PointCollections.First().ToArray(); + Point2D[] mapDataDikeGeometryTwo = features.ElementAt(1).MapGeometries.ElementAt(0).PointCollections.First().ToArray(); CollectionElementsAlmostEquals(new[] { @@ -684,17 +684,17 @@ }, mapDataDikeGeometryTwo); const int expectedNumberOfMetaDataOptions = 1; - Assert.AreEqual(expectedNumberOfMetaDataOptions, features[0].MetaData.Count); - Assert.AreEqual(expectedNumberOfMetaDataOptions, features[1].MetaData.Count); - Assert.AreEqual(dikeProfiles[0].Name, features[0].MetaData["Naam"]); - Assert.AreEqual(dikeProfiles[1].Name, features[1].MetaData["Naam"]); + Assert.AreEqual(expectedNumberOfMetaDataOptions, features.First().MetaData.Count); + Assert.AreEqual(expectedNumberOfMetaDataOptions, features.ElementAt(1).MetaData.Count); + Assert.AreEqual(dikeProfiles[0].Name, features.First().MetaData["Naam"]); + Assert.AreEqual(dikeProfiles[1].Name, features.ElementAt(1).MetaData["Naam"]); } [Test] public void CreateForeshoreProfilesFeatures_NullForeshoreProfiles_ReturnsEmptyCollection() { // Call - MapFeature[] features = RingtoetsMapDataFeaturesFactory.CreateForeshoreProfilesFeatures(null); + IEnumerable features = RingtoetsMapDataFeaturesFactory.CreateForeshoreProfilesFeatures(null); // Assert CollectionAssert.IsEmpty(features); @@ -704,7 +704,7 @@ public void CreateForeshoreProfilesFeatures_EmptyForeshoreProfiles_ReturnsEmptyCollection() { // Call - MapFeature[] features = RingtoetsMapDataFeaturesFactory.CreateForeshoreProfilesFeatures( + IEnumerable features = RingtoetsMapDataFeaturesFactory.CreateForeshoreProfilesFeatures( Enumerable.Empty()); // Assert @@ -754,14 +754,14 @@ }; // Call - MapFeature[] features = RingtoetsMapDataFeaturesFactory.CreateForeshoreProfilesFeatures(foreshoreProfiles); + IEnumerable features = RingtoetsMapDataFeaturesFactory.CreateForeshoreProfilesFeatures(foreshoreProfiles); // Assert - Assert.AreEqual(2, features.Length); - Assert.AreEqual(1, features[0].MapGeometries.Count()); - Assert.AreEqual(1, features[1].MapGeometries.Count()); - Point2D[] mapDataGeometryOne = features[0].MapGeometries.ElementAt(0).PointCollections.First().ToArray(); - Point2D[] mapDataGeometryTwo = features[1].MapGeometries.ElementAt(0).PointCollections.First().ToArray(); + Assert.AreEqual(2, features.Count()); + Assert.AreEqual(1, features.First().MapGeometries.Count()); + Assert.AreEqual(1, features.ElementAt(1).MapGeometries.Count()); + Point2D[] mapDataGeometryOne = features.First().MapGeometries.ElementAt(0).PointCollections.First().ToArray(); + Point2D[] mapDataGeometryTwo = features.ElementAt(1).MapGeometries.ElementAt(0).PointCollections.First().ToArray(); CollectionElementsAlmostEquals(new[] { @@ -777,10 +777,10 @@ }, mapDataGeometryTwo); const int expectedNumberOfMetaDataOptions = 1; - Assert.AreEqual(expectedNumberOfMetaDataOptions, features[0].MetaData.Count); - Assert.AreEqual(expectedNumberOfMetaDataOptions, features[1].MetaData.Count); - Assert.AreEqual(foreshoreProfiles[0].Name, features[0].MetaData["Naam"]); - Assert.AreEqual(foreshoreProfiles[2].Name, features[1].MetaData["Naam"]); + Assert.AreEqual(expectedNumberOfMetaDataOptions, features.First().MetaData.Count); + Assert.AreEqual(expectedNumberOfMetaDataOptions, features.ElementAt(1).MetaData.Count); + Assert.AreEqual(foreshoreProfiles[0].Name, features.First().MetaData["Naam"]); + Assert.AreEqual(foreshoreProfiles[2].Name, features.ElementAt(1).MetaData["Naam"]); } [Test] @@ -812,15 +812,15 @@ Assert.AreSame(point, geometryPointCollections.First().First()); } - private static void AssertEqualFeatureCollections(Point2D[] points, MapFeature[] features) + private static void AssertEqualFeatureCollections(Point2D[] points, IEnumerable features) { - Assert.AreEqual(points.Length, features.Length); + Assert.AreEqual(points.Length, features.Count()); for (var i = 0; i < points.Length; i++) { CollectionAssert.AreEqual(new[] { points[i] - }, features[i].MapGeometries.First().PointCollections.First()); + }, features.ElementAt(i).MapGeometries.First().PointCollections.First()); } } Index: Ringtoets/Common/test/Ringtoets.Common.Forms.TestUtil/MapDataTestHelper.cs =================================================================== diff -u -r66964d0c53eb0d904f7ada3e3bbc1e9604e241e7 -r9b2bb9a809f4b42bd06b910dde1f6eb8e546356f --- Ringtoets/Common/test/Ringtoets.Common.Forms.TestUtil/MapDataTestHelper.cs (.../MapDataTestHelper.cs) (revision 66964d0c53eb0d904f7ada3e3bbc1e9604e241e7) +++ Ringtoets/Common/test/Ringtoets.Common.Forms.TestUtil/MapDataTestHelper.cs (.../MapDataTestHelper.cs) (revision 9b2bb9a809f4b42bd06b910dde1f6eb8e546356f) @@ -207,7 +207,7 @@ for (var i = 0; i < foreshoreProfileArray.Length; i++) { - Point2D[] expectedGeometry = GetWorldPoints(foreshoreProfileArray[i]); + IEnumerable expectedGeometry = GetWorldPoints(foreshoreProfileArray[i]); MapGeometry profileDataA = foreshoreProfilesData.Features.ElementAt(i).MapGeometries.First(); CollectionAssert.AreEquivalent(expectedGeometry, profileDataA.PointCollections.First()); } @@ -290,7 +290,7 @@ structuresData.Features.SelectMany(f => f.MapGeometries.First().PointCollections.First())); } - private static Point2D[] GetWorldPoints(ForeshoreProfile foreshoreProfile) + private static IEnumerable GetWorldPoints(ForeshoreProfile foreshoreProfile) { return AdvancedMath2D.FromXToXY( foreshoreProfile.Geometry.Select(p => -p.X).ToArray(), Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/Factories/GrassCoverErosionInwardsMapDataFeatureFactory.cs =================================================================== diff -u -r12dbf9394aec78889af2c835f9d37237603e8af9 -r9b2bb9a809f4b42bd06b910dde1f6eb8e546356f --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/Factories/GrassCoverErosionInwardsMapDataFeatureFactory.cs (.../GrassCoverErosionInwardsMapDataFeatureFactory.cs) (revision 12dbf9394aec78889af2c835f9d37237603e8af9) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/Factories/GrassCoverErosionInwardsMapDataFeatureFactory.cs (.../GrassCoverErosionInwardsMapDataFeatureFactory.cs) (revision 9b2bb9a809f4b42bd06b910dde1f6eb8e546356f) @@ -30,16 +30,16 @@ namespace Ringtoets.GrassCoverErosionInwards.Forms.Factories { /// - /// Factory for creating arrays of to use in . + /// Factory for creating collections of to use in . /// internal static class GrassCoverErosionInwardsMapDataFeaturesFactory { /// /// Create calculation features based on the provided . /// /// The collection of to create the calculation features for. - /// An array of features or an empty array when is null or empty. - public static MapFeature[] CreateCalculationFeatures(IEnumerable calculations) + /// A collection of features or an empty collection when is null or empty. + public static IEnumerable CreateCalculationFeatures(IEnumerable calculations) { bool hasCalculations = calculations != null && calculations.Any(); Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/Factories/GrassCoverErosionInwardsMapDataFeaturesFactoryTest.cs =================================================================== diff -u -r8900f570b33f0de1a512fc5b2509771e1201672c -r9b2bb9a809f4b42bd06b910dde1f6eb8e546356f --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/Factories/GrassCoverErosionInwardsMapDataFeaturesFactoryTest.cs (.../GrassCoverErosionInwardsMapDataFeaturesFactoryTest.cs) (revision 8900f570b33f0de1a512fc5b2509771e1201672c) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/Factories/GrassCoverErosionInwardsMapDataFeaturesFactoryTest.cs (.../GrassCoverErosionInwardsMapDataFeaturesFactoryTest.cs) (revision 9b2bb9a809f4b42bd06b910dde1f6eb8e546356f) @@ -36,27 +36,27 @@ public class GrassCoverErosionInwardsMapDataFeaturesFactoryTest { [Test] - public void CreateCalculationFeatures_CalculationsNull_ReturnsEmptyFeaturesArray() + public void CreateCalculationFeatures_CalculationsNull_ReturnsEmptyFeaturesCollection() { // Call - MapFeature[] features = GrassCoverErosionInwardsMapDataFeaturesFactory.CreateCalculationFeatures(null); + IEnumerable features = GrassCoverErosionInwardsMapDataFeaturesFactory.CreateCalculationFeatures(null); // Assert CollectionAssert.IsEmpty(features); } [Test] - public void CreateCalculationFeatures_NoCalculations_ReturnsEmptyFeaturesArray() + public void CreateCalculationFeatures_NoCalculations_ReturnsEmptyFeaturesCollection() { // Call - MapFeature[] features = GrassCoverErosionInwardsMapDataFeaturesFactory.CreateCalculationFeatures(Enumerable.Empty()); + IEnumerable features = GrassCoverErosionInwardsMapDataFeaturesFactory.CreateCalculationFeatures(Enumerable.Empty()); // Assert CollectionAssert.IsEmpty(features); } [Test] - public void CreateCalculationFeatures_GivenCalculations_ReturnsCalculationFeaturesArray() + public void CreateCalculationFeatures_GivenCalculations_ReturnsCalculationFeaturesCollection() { // Setup var calculationA = new GrassCoverErosionInwardsCalculation(); @@ -69,26 +69,26 @@ calculationB.InputParameters.HydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, string.Empty, 2.2, 3.8); // Call - MapFeature[] features = GrassCoverErosionInwardsMapDataFeaturesFactory.CreateCalculationFeatures(new[] + IEnumerable features = GrassCoverErosionInwardsMapDataFeaturesFactory.CreateCalculationFeatures(new[] { calculationA, calculationB }); // Assert - Assert.AreEqual(2, features.Length); - Assert.AreEqual(1, features[0].MapGeometries.Count()); - Assert.AreEqual(1, features[1].MapGeometries.Count()); + Assert.AreEqual(2, features.Count()); + Assert.AreEqual(1, features.ElementAt(0).MapGeometries.Count()); + Assert.AreEqual(1, features.ElementAt(1).MapGeometries.Count()); AssertEqualPointCollections(new[] { new Point2D(1.0, 3.0), new Point2D(5.0, 4.0) - }, features[0].MapGeometries.ElementAt(0)); + }, features.ElementAt(0).MapGeometries.ElementAt(0)); AssertEqualPointCollections(new[] { new Point2D(1.0, 4.0), new Point2D(2.2, 3.8) - }, features[1].MapGeometries.ElementAt(0)); + }, features.ElementAt(1).MapGeometries.ElementAt(0)); } private static void AssertEqualPointCollections(IEnumerable points, MapGeometry geometry) Index: Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Forms/Factories/GrassCoverErosionOutwardsMapDataFeaturesFactory.cs =================================================================== diff -u -r12dbf9394aec78889af2c835f9d37237603e8af9 -r9b2bb9a809f4b42bd06b910dde1f6eb8e546356f --- Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Forms/Factories/GrassCoverErosionOutwardsMapDataFeaturesFactory.cs (.../GrassCoverErosionOutwardsMapDataFeaturesFactory.cs) (revision 12dbf9394aec78889af2c835f9d37237603e8af9) +++ Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Forms/Factories/GrassCoverErosionOutwardsMapDataFeaturesFactory.cs (.../GrassCoverErosionOutwardsMapDataFeaturesFactory.cs) (revision 9b2bb9a809f4b42bd06b910dde1f6eb8e546356f) @@ -32,16 +32,16 @@ namespace Ringtoets.GrassCoverErosionOutwards.Forms.Factories { /// - /// Factory for creating arrays of to use in . + /// Factory for creating collections of to use in . /// internal static class GrassCoverErosionOutwardsMapDataFeaturesFactory { /// /// Create calculation features based on the provided . /// /// The collection of to create the calculation features for. - /// An array of features or an empty array when is null or empty. - public static MapFeature[] CreateCalculationFeatures(IEnumerable calculationInputs) + /// A collection of features or an empty collection when is null or empty. + public static IEnumerable CreateCalculationFeatures(IEnumerable calculationInputs) { bool hasCalculations = calculationInputs != null && calculationInputs.Any(); @@ -70,9 +70,9 @@ /// /// The array of /// to create the location features for. - /// An array of features or an empty array when + /// A collection of features or an empty collection when /// is null or empty. - public static MapFeature[] CreateHydraulicBoundaryLocationFeatures(HydraulicBoundaryLocation[] hydraulicBoundaryLocations) + public static IEnumerable CreateHydraulicBoundaryLocationFeatures(HydraulicBoundaryLocation[] hydraulicBoundaryLocations) { return RingtoetsMapDataFeaturesFactory.CreateHydraulicBoundaryLocationFeatures(hydraulicBoundaryLocations ?? new HydraulicBoundaryLocation[0], Resources.DesignWaterLevel_DisplayName, Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Forms.Test/Factories/GrassCoverErosionOutwardsMapDataFeaturesFactoryTest.cs =================================================================== diff -u -r4b8ab1201eba50035392ce074fa1cc5da25ff4a7 -r9b2bb9a809f4b42bd06b910dde1f6eb8e546356f --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Forms.Test/Factories/GrassCoverErosionOutwardsMapDataFeaturesFactoryTest.cs (.../GrassCoverErosionOutwardsMapDataFeaturesFactoryTest.cs) (revision 4b8ab1201eba50035392ce074fa1cc5da25ff4a7) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Forms.Test/Factories/GrassCoverErosionOutwardsMapDataFeaturesFactoryTest.cs (.../GrassCoverErosionOutwardsMapDataFeaturesFactoryTest.cs) (revision 9b2bb9a809f4b42bd06b910dde1f6eb8e546356f) @@ -36,28 +36,28 @@ public class GrassCoverErosionOutwardsMapDataFeaturesFactoryTest { [Test] - public void CreateCalculationFeatures_CalculationsNull_ReturnsEmptyFeaturesArray() + public void CreateCalculationFeatures_CalculationsNull_ReturnsEmptyFeaturesCollection() { // Call - MapFeature[] features = GrassCoverErosionOutwardsMapDataFeaturesFactory.CreateCalculationFeatures(null); + IEnumerable features = GrassCoverErosionOutwardsMapDataFeaturesFactory.CreateCalculationFeatures(null); // Assert CollectionAssert.IsEmpty(features); } [Test] - public void CreateCalculationFeatures_NoCalculations_ReturnsEmptyFeaturesArray() + public void CreateCalculationFeatures_NoCalculations_ReturnsEmptyFeaturesCollection() { // Call - MapFeature[] features = GrassCoverErosionOutwardsMapDataFeaturesFactory.CreateCalculationFeatures( + IEnumerable features = GrassCoverErosionOutwardsMapDataFeaturesFactory.CreateCalculationFeatures( Enumerable.Empty()); // Assert CollectionAssert.IsEmpty(features); } [Test] - public void CreateCalculationFeatures_GivenCalculations_ReturnsCalculationFeaturesArray() + public void CreateCalculationFeatures_GivenCalculations_ReturnsCalculationFeaturesCollection() { // Setup var calculationA = new GrassCoverErosionOutwardsWaveConditionsCalculation(); @@ -70,40 +70,40 @@ calculationB.InputParameters.HydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, string.Empty, 2.2, 3.8); // Call - MapFeature[] features = GrassCoverErosionOutwardsMapDataFeaturesFactory.CreateCalculationFeatures(new[] + IEnumerable features = GrassCoverErosionOutwardsMapDataFeaturesFactory.CreateCalculationFeatures(new[] { calculationA, calculationB }); // Assert - Assert.AreEqual(2, features.Length); - Assert.AreEqual(1, features[0].MapGeometries.Count()); - Assert.AreEqual(1, features[1].MapGeometries.Count()); + Assert.AreEqual(2, features.Count()); + Assert.AreEqual(1, features.ElementAt(0).MapGeometries.Count()); + Assert.AreEqual(1, features.ElementAt(1).MapGeometries.Count()); AssertEqualPointCollections(new[] { new Point2D(1.0, 3.0), new Point2D(5.0, 4.0) - }, features[0].MapGeometries.ElementAt(0)); + }, features.ElementAt(0).MapGeometries.ElementAt(0)); AssertEqualPointCollections(new[] { new Point2D(1.0, 4.0), new Point2D(2.2, 3.8) - }, features[1].MapGeometries.ElementAt(0)); + }, features.ElementAt(1).MapGeometries.ElementAt(0)); } [Test] - public void CreateHydraulicBoundaryLocationsFeatures_HydraulicBoundaryLocationsNull_ReturnsEmptyFeaturesArray() + public void CreateHydraulicBoundaryLocationsFeatures_HydraulicBoundaryLocationsNull_ReturnsEmptyFeaturesCollection() { // Call - MapFeature[] features = GrassCoverErosionOutwardsMapDataFeaturesFactory.CreateHydraulicBoundaryLocationFeatures(null); + IEnumerable features = GrassCoverErosionOutwardsMapDataFeaturesFactory.CreateHydraulicBoundaryLocationFeatures(null); // Assert CollectionAssert.IsEmpty(features); } [Test] - public void CreateHydraulicBoundaryLocationFeatures_GivenHydraulicBoundaryLocations_ReturnsLocationFeaturesArray() + public void CreateHydraulicBoundaryLocationFeatures_GivenHydraulicBoundaryLocations_ReturnsLocationFeaturesCollection() { // Setup var points = new[] @@ -114,17 +114,17 @@ HydraulicBoundaryLocation[] hydraulicBoundaryLocations = points.Select(p => new HydraulicBoundaryLocation(0, "", p.X, p.Y)).ToArray(); // Call - MapFeature[] features = GrassCoverErosionOutwardsMapDataFeaturesFactory.CreateHydraulicBoundaryLocationFeatures(hydraulicBoundaryLocations); + IEnumerable features = GrassCoverErosionOutwardsMapDataFeaturesFactory.CreateHydraulicBoundaryLocationFeatures(hydraulicBoundaryLocations); // Assert - Assert.AreEqual(hydraulicBoundaryLocations.Length, features.Length); + Assert.AreEqual(hydraulicBoundaryLocations.Length, features.Count()); for (var i = 0; i < hydraulicBoundaryLocations.Length; i++) { - Assert.AreEqual(4, features[i].MetaData.Keys.Count); - Assert.AreEqual(hydraulicBoundaryLocations[i].Id, features[i].MetaData["ID"]); - Assert.AreEqual(hydraulicBoundaryLocations[i].Name, features[i].MetaData["Naam"]); - Assert.AreEqual(hydraulicBoundaryLocations[i].DesignWaterLevel, features[i].MetaData["Waterstand bij doorsnede-eis"]); - Assert.AreEqual(hydraulicBoundaryLocations[i].WaveHeight, features[i].MetaData["Golfhoogte bij doorsnede-eis"]); + Assert.AreEqual(4, features.ElementAt(i).MetaData.Keys.Count); + Assert.AreEqual(hydraulicBoundaryLocations.ElementAt(i).Id, features.ElementAt(i).MetaData["ID"]); + Assert.AreEqual(hydraulicBoundaryLocations.ElementAt(i).Name, features.ElementAt(i).MetaData["Naam"]); + Assert.AreEqual(hydraulicBoundaryLocations.ElementAt(i).DesignWaterLevel, features.ElementAt(i).MetaData["Waterstand bij doorsnede-eis"]); + Assert.AreEqual(hydraulicBoundaryLocations.ElementAt(i).WaveHeight, features.ElementAt(i).MetaData["Golfhoogte bij doorsnede-eis"]); } AssertEqualFeatureCollections(points, features); @@ -135,15 +135,15 @@ CollectionAssert.AreEqual(points.Select(p => new Point2D(p)), geometry.PointCollections.First()); } - private static void AssertEqualFeatureCollections(Point2D[] points, MapFeature[] features) + private static void AssertEqualFeatureCollections(IEnumerable points, IEnumerable features) { - Assert.AreEqual(points.Length, features.Length); - for (var i = 0; i < points.Length; i++) + Assert.AreEqual(points.Count(), features.Count()); + for (var i = 0; i < points.Count(); i++) { CollectionAssert.AreEqual(new[] { - points[i] - }, features[i].MapGeometries.First().PointCollections.First()); + points.ElementAt(i) + }, features.ElementAt(i).MapGeometries.First().PointCollections.First()); } } } Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Forms/Factories/MacroStabilityInwardsMapDataFeaturesFactory.cs =================================================================== diff -u -r6e44755ad66cbee11527e420dbeb6efc63a6cfdc -r9b2bb9a809f4b42bd06b910dde1f6eb8e546356f --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Forms/Factories/MacroStabilityInwardsMapDataFeaturesFactory.cs (.../MacroStabilityInwardsMapDataFeaturesFactory.cs) (revision 6e44755ad66cbee11527e420dbeb6efc63a6cfdc) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Forms/Factories/MacroStabilityInwardsMapDataFeaturesFactory.cs (.../MacroStabilityInwardsMapDataFeaturesFactory.cs) (revision 9b2bb9a809f4b42bd06b910dde1f6eb8e546356f) @@ -34,7 +34,7 @@ namespace Ringtoets.MacroStabilityInwards.Forms.Factories { /// - /// Factory for creating arrays of to use in + /// Factory for creating collections of to use in /// (created via ). /// internal static class MacroStabilityInwardsMapDataFeaturesFactory @@ -43,16 +43,16 @@ /// Create surface line features based on the provided . /// /// The collection of to create the surface line features for. - /// An array of features or an empty array when is null or empty. - public static MapFeature[] CreateSurfaceLineFeatures(MacroStabilityInwardsSurfaceLine[] surfaceLines) + /// A collection of features or an empty collection when is null or empty. + public static IEnumerable CreateSurfaceLineFeatures(IEnumerable surfaceLines) { if (surfaceLines != null && surfaceLines.Any()) { - var features = new MapFeature[surfaceLines.Length]; + var features = new MapFeature[surfaceLines.Count()]; - for (var i = 0; i < surfaceLines.Length; i++) + for (var i = 0; i < surfaceLines.Count(); i++) { - MacroStabilityInwardsSurfaceLine surfaceLine = surfaceLines[i]; + MacroStabilityInwardsSurfaceLine surfaceLine = surfaceLines.ElementAt(i); MapFeature feature = RingtoetsMapDataFeaturesFactory.CreateSingleLineMapFeature(GetWorldPoints(surfaceLine)); feature.MetaData[RingtoetsCommonFormsResources.MetaData_Name] = surfaceLine.Name; @@ -70,16 +70,16 @@ /// Create stochastic soil model features based on the provided . /// /// The collection of to create the stochastic soil model features for. - /// An array of features or an empty array when is null or empty. - public static MapFeature[] CreateStochasticSoilModelFeatures(MacroStabilityInwardsStochasticSoilModel[] stochasticSoilModels) + /// A collection of features or an empty collection when is null or empty. + public static IEnumerable CreateStochasticSoilModelFeatures(IEnumerable stochasticSoilModels) { if (stochasticSoilModels != null && stochasticSoilModels.Any()) { - var features = new MapFeature[stochasticSoilModels.Length]; + var features = new MapFeature[stochasticSoilModels.Count()]; - for (var i = 0; i < stochasticSoilModels.Length; i++) + for (var i = 0; i < stochasticSoilModels.Count(); i++) { - MacroStabilityInwardsStochasticSoilModel stochasticSoilModel = stochasticSoilModels[i]; + MacroStabilityInwardsStochasticSoilModel stochasticSoilModel = stochasticSoilModels.ElementAt(i); MapFeature feature = RingtoetsMapDataFeaturesFactory.CreateSingleLineMapFeature(GetWorldPoints(stochasticSoilModel)); feature.MetaData[RingtoetsCommonFormsResources.MetaData_Name] = stochasticSoilModel.Name; @@ -97,8 +97,8 @@ /// Create calculation features based on the provided . /// /// The collection of to create the calculation features for. - /// An array of features or an empty array when is null or empty. - public static MapFeature[] CreateCalculationFeatures(IEnumerable calculations) + /// A collection of features or an empty collection when is null or empty. + public static IEnumerable CreateCalculationFeatures(IEnumerable calculations) { bool hasCalculations = calculations != null && calculations.Any(); @@ -124,12 +124,12 @@ private static IEnumerable GetWorldPoints(MacroStabilityInwardsSurfaceLine surfaceLine) { - return surfaceLine.Points.Select(p => new Point2D(p.X, p.Y)); + return surfaceLine.Points.Select(p => new Point2D(p.X, p.Y)).ToArray(); } private static IEnumerable GetWorldPoints(MacroStabilityInwardsStochasticSoilModel stochasticSoilModel) { - return stochasticSoilModel.Geometry.Select(p => new Point2D(p)); + return stochasticSoilModel.Geometry.Select(p => new Point2D(p)).ToArray(); } } } \ No newline at end of file Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Forms.Test/Factories/MacroStabilityInwardsMapDataFeaturesFactoryTest.cs =================================================================== diff -u -rb13759ad077f9e2b4104de000b5bdeafa9abe358 -r9b2bb9a809f4b42bd06b910dde1f6eb8e546356f --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Forms.Test/Factories/MacroStabilityInwardsMapDataFeaturesFactoryTest.cs (.../MacroStabilityInwardsMapDataFeaturesFactoryTest.cs) (revision b13759ad077f9e2b4104de000b5bdeafa9abe358) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Forms.Test/Factories/MacroStabilityInwardsMapDataFeaturesFactoryTest.cs (.../MacroStabilityInwardsMapDataFeaturesFactoryTest.cs) (revision 9b2bb9a809f4b42bd06b910dde1f6eb8e546356f) @@ -38,27 +38,27 @@ public class MacroStabilityInwardsMapDataFeaturesFactoryTest { [Test] - public void CreateSurfaceLineFeatures_SurfaceLinesNull_ReturnsEmptyFeaturesArray() + public void CreateSurfaceLineFeatures_SurfaceLinesNull_ReturnsEmptyFeaturesCollection() { // Call - MapFeature[] features = MacroStabilityInwardsMapDataFeaturesFactory.CreateSurfaceLineFeatures(null); + IEnumerable features = MacroStabilityInwardsMapDataFeaturesFactory.CreateSurfaceLineFeatures(null); // Assert CollectionAssert.IsEmpty(features); } [Test] - public void CreateSurfaceLineFeatures_NoSurfaceLines_ReturnsEmptyFeaturesArray() + public void CreateSurfaceLineFeatures_NoSurfaceLines_ReturnsEmptyFeaturesCollection() { // Call - MapFeature[] features = MacroStabilityInwardsMapDataFeaturesFactory.CreateSurfaceLineFeatures(new MacroStabilityInwardsSurfaceLine[0]); + IEnumerable features = MacroStabilityInwardsMapDataFeaturesFactory.CreateSurfaceLineFeatures(new MacroStabilityInwardsSurfaceLine[0]); // Assert CollectionAssert.IsEmpty(features); } [Test] - public void CreateSurfaceLineFeatures_GivenSurfaceLines_ReturnsSurfaceLineFeaturesArray() + public void CreateSurfaceLineFeatures_GivenSurfaceLines_ReturnsSurfaceLineFeaturesCollection() { // Setup var pointsOne = new[] @@ -80,42 +80,42 @@ surfaceLines[1].SetGeometry(pointsTwo); // Call - MapFeature[] features = MacroStabilityInwardsMapDataFeaturesFactory.CreateSurfaceLineFeatures(surfaceLines); + IEnumerable features = MacroStabilityInwardsMapDataFeaturesFactory.CreateSurfaceLineFeatures(surfaceLines); // Assert - Assert.AreEqual(surfaceLines.Length, features.Length); + Assert.AreEqual(surfaceLines.Length, features.Count()); - for (var i = 0; i < features.Length; i++) + for (var i = 0; i < features.Count(); i++) { - Assert.AreEqual(1, features[i].MapGeometries.Count()); - AssertEqualPointCollections(surfaceLines[i].Points, features[i].MapGeometries.First()); - Assert.AreEqual(1, features[i].MetaData.Keys.Count); - Assert.AreEqual(surfaceLines[i].Name, features[i].MetaData["Naam"]); + Assert.AreEqual(1, features.ElementAt(i).MapGeometries.Count()); + AssertEqualPointCollections(surfaceLines[i].Points, features.ElementAt(i).MapGeometries.First()); + Assert.AreEqual(1, features.ElementAt(i).MetaData.Keys.Count); + Assert.AreEqual(surfaceLines[i].Name, features.ElementAt(i).MetaData["Naam"]); } } [Test] - public void CreateStochasticSoilModelFeatures_StochasticSoilModelsNull_ReturnsEmptyFeaturesArray() + public void CreateStochasticSoilModelFeatures_StochasticSoilModelsNull_ReturnsEmptyFeaturesCollection() { // Call - MapFeature[] features = MacroStabilityInwardsMapDataFeaturesFactory.CreateStochasticSoilModelFeatures(null); + IEnumerable features = MacroStabilityInwardsMapDataFeaturesFactory.CreateStochasticSoilModelFeatures(null); // Assert CollectionAssert.IsEmpty(features); } [Test] - public void CreateStochasticSoilModelFeatures_NoStochasticSoilModels_ReturnsEmptyFeaturesArray() + public void CreateStochasticSoilModelFeatures_NoStochasticSoilModels_ReturnsEmptyFeaturesCollection() { // Call - MapFeature[] features = MacroStabilityInwardsMapDataFeaturesFactory.CreateStochasticSoilModelFeatures(new MacroStabilityInwardsStochasticSoilModel[0]); + IEnumerable features = MacroStabilityInwardsMapDataFeaturesFactory.CreateStochasticSoilModelFeatures(new MacroStabilityInwardsStochasticSoilModel[0]); // Assert CollectionAssert.IsEmpty(features); } [Test] - public void CreateStochasticSoilModelFeatures_GivenStochasticSoilModels_ReturnsStochasticSoilModelFeaturesArray() + public void CreateStochasticSoilModelFeatures_GivenStochasticSoilModels_ReturnsStochasticSoilModelFeaturesCollection() { // Setup var pointsOne = new[] @@ -135,42 +135,42 @@ }; // Call - MapFeature[] features = MacroStabilityInwardsMapDataFeaturesFactory.CreateStochasticSoilModelFeatures(stochasticSoilModels); + IEnumerable features = MacroStabilityInwardsMapDataFeaturesFactory.CreateStochasticSoilModelFeatures(stochasticSoilModels); // Assert - Assert.AreEqual(stochasticSoilModels.Length, features.Length); + Assert.AreEqual(stochasticSoilModels.Length, features.Count()); - for (var i = 0; i < features.Length; i++) + for (var i = 0; i < features.Count(); i++) { - Assert.AreEqual(1, features[i].MapGeometries.Count()); - AssertEqualPointCollections(stochasticSoilModels[i].Geometry, features[i].MapGeometries.First()); - Assert.AreEqual(1, features[i].MetaData.Keys.Count); - Assert.AreEqual(stochasticSoilModels[i].Name, features[i].MetaData["Naam"]); + Assert.AreEqual(1, features.ElementAt(i).MapGeometries.Count()); + AssertEqualPointCollections(stochasticSoilModels[i].Geometry, features.ElementAt(i).MapGeometries.First()); + Assert.AreEqual(1, features.ElementAt(i).MetaData.Keys.Count); + Assert.AreEqual(stochasticSoilModels[i].Name, features.ElementAt(i).MetaData["Naam"]); } } [Test] - public void CreateCalculationFeatures_CalculationsNull_ReturnsEmptyFeaturesArray() + public void CreateCalculationFeatures_CalculationsNull_ReturnsEmptyFeaturesCollection() { // Call - MapFeature[] features = MacroStabilityInwardsMapDataFeaturesFactory.CreateCalculationFeatures(null); + IEnumerable features = MacroStabilityInwardsMapDataFeaturesFactory.CreateCalculationFeatures(null); // Assert CollectionAssert.IsEmpty(features); } [Test] - public void CreateCalculationFeatures_NoCalculations_ReturnsEmptyFeaturesArray() + public void CreateCalculationFeatures_NoCalculations_ReturnsEmptyFeaturesCollection() { // Call - MapFeature[] features = MacroStabilityInwardsMapDataFeaturesFactory.CreateCalculationFeatures(Enumerable.Empty()); + IEnumerable features = MacroStabilityInwardsMapDataFeaturesFactory.CreateCalculationFeatures(Enumerable.Empty()); // Assert CollectionAssert.IsEmpty(features); } [Test] - public void CreateCalculationFeatures_GivenCalculations_ReturnsCalculationFeaturesArray() + public void CreateCalculationFeatures_GivenCalculations_ReturnsCalculationFeaturesCollection() { // Setup MacroStabilityInwardsCalculationScenario calculationA = MacroStabilityInwardsCalculationScenarioFactory.CreateMacroStabilityInwardsCalculationScenarioWithValidInput(); @@ -183,26 +183,26 @@ calculationB.InputParameters.HydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, string.Empty, 2.2, 3.8); // Call - MapFeature[] features = MacroStabilityInwardsMapDataFeaturesFactory.CreateCalculationFeatures(new[] + IEnumerable features = MacroStabilityInwardsMapDataFeaturesFactory.CreateCalculationFeatures(new[] { calculationA, calculationB }); // Assert - Assert.AreEqual(2, features.Length); - Assert.AreEqual(1, features[0].MapGeometries.Count()); - Assert.AreEqual(1, features[1].MapGeometries.Count()); + Assert.AreEqual(2, features.Count()); + Assert.AreEqual(1, features.ElementAt(0).MapGeometries.Count()); + Assert.AreEqual(1, features.ElementAt(1).MapGeometries.Count()); AssertEqualPointCollections(new[] { new Point2D(1.0, 3.0), new Point2D(5.0, 4.0) - }, features[0].MapGeometries.ElementAt(0)); + }, features.ElementAt(0).MapGeometries.ElementAt(0)); AssertEqualPointCollections(new[] { new Point2D(1.0, 4.0), new Point2D(2.2, 3.8) - }, features[1].MapGeometries.ElementAt(0)); + }, features.ElementAt(1).MapGeometries.ElementAt(0)); } private static void AssertEqualPointCollections(IEnumerable points, MapGeometry geometry) Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/Factories/PipingMapDataFeaturesFactory.cs =================================================================== diff -u -rd04fe66045d6183879fd4e70bab196d127039350 -r9b2bb9a809f4b42bd06b910dde1f6eb8e546356f --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/Factories/PipingMapDataFeaturesFactory.cs (.../PipingMapDataFeaturesFactory.cs) (revision d04fe66045d6183879fd4e70bab196d127039350) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/Factories/PipingMapDataFeaturesFactory.cs (.../PipingMapDataFeaturesFactory.cs) (revision 9b2bb9a809f4b42bd06b910dde1f6eb8e546356f) @@ -34,7 +34,7 @@ namespace Ringtoets.Piping.Forms.Factories { /// - /// Factory for creating arrays of to use in + /// Factory for creating collections of to use in /// (created via ). /// internal static class PipingMapDataFeaturesFactory @@ -43,16 +43,16 @@ /// Create surface line features based on the provided . /// /// The collection of to create the surface line features for. - /// An array of features or an empty array when is null or empty. - public static MapFeature[] CreateSurfaceLineFeatures(PipingSurfaceLine[] surfaceLines) + /// A collection of features or an empty collection when is null or empty. + public static MapFeature[] CreateSurfaceLineFeatures(IEnumerable surfaceLines) { if (surfaceLines != null && surfaceLines.Any()) { - var features = new MapFeature[surfaceLines.Length]; + var features = new MapFeature[surfaceLines.Count()]; - for (var i = 0; i < surfaceLines.Length; i++) + for (var i = 0; i < surfaceLines.Count(); i++) { - PipingSurfaceLine surfaceLine = surfaceLines[i]; + PipingSurfaceLine surfaceLine = surfaceLines.ElementAt(i); MapFeature feature = RingtoetsMapDataFeaturesFactory.CreateSingleLineMapFeature(GetWorldPoints(surfaceLine)); feature.MetaData[RingtoetsCommonFormsResources.MetaData_Name] = surfaceLine.Name; @@ -70,16 +70,16 @@ /// Create stochastic soil model features based on the provided . /// /// The collection of to create the stochastic soil model features for. - /// An array of features or an empty array when is null or empty. - public static MapFeature[] CreateStochasticSoilModelFeatures(PipingStochasticSoilModel[] stochasticSoilModels) + /// A collection of features or an empty collection when is null or empty. + public static IEnumerable CreateStochasticSoilModelFeatures(IEnumerable stochasticSoilModels) { if (stochasticSoilModels != null && stochasticSoilModels.Any()) { - var features = new MapFeature[stochasticSoilModels.Length]; + var features = new MapFeature[stochasticSoilModels.Count()]; - for (var i = 0; i < stochasticSoilModels.Length; i++) + for (var i = 0; i < stochasticSoilModels.Count(); i++) { - PipingStochasticSoilModel stochasticSoilModel = stochasticSoilModels[i]; + PipingStochasticSoilModel stochasticSoilModel = stochasticSoilModels.ElementAt(i); MapFeature feature = RingtoetsMapDataFeaturesFactory.CreateSingleLineMapFeature(GetWorldPoints(stochasticSoilModel)); feature.MetaData[RingtoetsCommonFormsResources.MetaData_Name] = stochasticSoilModel.Name; @@ -97,8 +97,8 @@ /// Create calculation features based on the provided . /// /// The collection of to create the calculation features for. - /// An array of features or an empty array when is null or empty. - public static MapFeature[] CreateCalculationFeatures(IEnumerable calculations) + /// A collection of features or an empty collection when is null or empty. + public static IEnumerable CreateCalculationFeatures(IEnumerable calculations) { bool hasCalculations = calculations != null && calculations.Any(); @@ -107,9 +107,9 @@ return new MapFeature[0]; } - IEnumerable calculationsWithLocationAndHydraulicBoundaryLocation = calculations.Where(c => - c.InputParameters.SurfaceLine != null && - c.InputParameters.HydraulicBoundaryLocation != null); + IEnumerable calculationsWithLocationAndHydraulicBoundaryLocation = calculations.Where( + c => c.InputParameters.SurfaceLine != null && + c.InputParameters.HydraulicBoundaryLocation != null); MapCalculationData[] calculationData = calculationsWithLocationAndHydraulicBoundaryLocation.Select( @@ -123,12 +123,12 @@ private static IEnumerable GetWorldPoints(PipingSurfaceLine surfaceLine) { - return surfaceLine.Points.Select(p => new Point2D(p.X, p.Y)); + return surfaceLine.Points.Select(p => new Point2D(p.X, p.Y)).ToArray(); } private static IEnumerable GetWorldPoints(PipingStochasticSoilModel stochasticSoilModel) { - return stochasticSoilModel.Geometry.Select(p => new Point2D(p)); + return stochasticSoilModel.Geometry.Select(p => new Point2D(p)).ToArray(); } } } \ No newline at end of file Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Factories/PipingMapDataFeaturesFactoryTest.cs =================================================================== diff -u -r57bc6a475f6cdd57b1a0ebf70cdf533014afd1ff -r9b2bb9a809f4b42bd06b910dde1f6eb8e546356f --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Factories/PipingMapDataFeaturesFactoryTest.cs (.../PipingMapDataFeaturesFactoryTest.cs) (revision 57bc6a475f6cdd57b1a0ebf70cdf533014afd1ff) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Factories/PipingMapDataFeaturesFactoryTest.cs (.../PipingMapDataFeaturesFactoryTest.cs) (revision 9b2bb9a809f4b42bd06b910dde1f6eb8e546356f) @@ -38,27 +38,27 @@ public class PipingMapDataFeaturesFactoryTest { [Test] - public void CreateSurfaceLineFeatures_SurfaceLinesNull_ReturnsEmptyFeaturesArray() + public void CreateSurfaceLineFeatures_SurfaceLinesNull_ReturnsEmptyFeaturesCollection() { // Call - MapFeature[] features = PipingMapDataFeaturesFactory.CreateSurfaceLineFeatures(null); + IEnumerable features = PipingMapDataFeaturesFactory.CreateSurfaceLineFeatures(null); // Assert CollectionAssert.IsEmpty(features); } [Test] - public void CreateSurfaceLineFeatures_NoSurfaceLines_ReturnsEmptyFeaturesArray() + public void CreateSurfaceLineFeatures_NoSurfaceLines_ReturnsEmptyFeaturesCollection() { // Call - MapFeature[] features = PipingMapDataFeaturesFactory.CreateSurfaceLineFeatures(new PipingSurfaceLine[0]); + IEnumerable features = PipingMapDataFeaturesFactory.CreateSurfaceLineFeatures(new PipingSurfaceLine[0]); // Assert CollectionAssert.IsEmpty(features); } [Test] - public void CreateSurfaceLineFeatures_GivenSurfaceLines_ReturnsSurfaceLineFeaturesArray() + public void CreateSurfaceLineFeatures_GivenSurfaceLines_ReturnsSurfaceLineFeaturesCollection() { // Setup var pointsOne = new[] @@ -80,42 +80,42 @@ surfaceLines[1].SetGeometry(pointsTwo); // Call - MapFeature[] features = PipingMapDataFeaturesFactory.CreateSurfaceLineFeatures(surfaceLines); + IEnumerable features = PipingMapDataFeaturesFactory.CreateSurfaceLineFeatures(surfaceLines); // Assert - Assert.AreEqual(surfaceLines.Length, features.Length); + Assert.AreEqual(surfaceLines.Length, features.Count()); - for (var i = 0; i < features.Length; i++) + for (var i = 0; i < features.Count(); i++) { - Assert.AreEqual(1, features[i].MapGeometries.Count()); - AssertEqualPointCollections(surfaceLines[i].Points, features[i].MapGeometries.First()); - Assert.AreEqual(1, features[i].MetaData.Keys.Count); - Assert.AreEqual(surfaceLines[i].Name, features[i].MetaData["Naam"]); + Assert.AreEqual(1, features.ElementAt(i).MapGeometries.Count()); + AssertEqualPointCollections(surfaceLines[i].Points, features.ElementAt(i).MapGeometries.First()); + Assert.AreEqual(1, features.ElementAt(i).MetaData.Keys.Count); + Assert.AreEqual(surfaceLines[i].Name, features.ElementAt(i).MetaData["Naam"]); } } [Test] - public void CreateStochasticSoilModelFeatures_StochasticSoilModelsNull_ReturnsEmptyFeaturesArray() + public void CreateStochasticSoilModelFeatures_StochasticSoilModelsNull_ReturnsEmptyFeaturesCollection() { // Call - MapFeature[] features = PipingMapDataFeaturesFactory.CreateStochasticSoilModelFeatures(null); + IEnumerable features = PipingMapDataFeaturesFactory.CreateStochasticSoilModelFeatures(null); // Assert CollectionAssert.IsEmpty(features); } [Test] - public void CreateStochasticSoilModelFeatures_NoStochasticSoilModels_ReturnsEmptyFeaturesArray() + public void CreateStochasticSoilModelFeatures_NoStochasticSoilModels_ReturnsEmptyFeaturesCollection() { // Call - MapFeature[] features = PipingMapDataFeaturesFactory.CreateStochasticSoilModelFeatures(new PipingStochasticSoilModel[0]); + IEnumerable features = PipingMapDataFeaturesFactory.CreateStochasticSoilModelFeatures(new PipingStochasticSoilModel[0]); // Assert CollectionAssert.IsEmpty(features); } [Test] - public void CreateStochasticSoilModelFeatures_GivenStochasticSoilModels_ReturnsStochasticSoilModelFeaturesArray() + public void CreateStochasticSoilModelFeatures_GivenStochasticSoilModels_ReturnsStochasticSoilModelFeaturesCollection() { // Setup var pointsOne = new[] @@ -135,42 +135,42 @@ }; // Call - MapFeature[] features = PipingMapDataFeaturesFactory.CreateStochasticSoilModelFeatures(stochasticSoilModels); + IEnumerable features = PipingMapDataFeaturesFactory.CreateStochasticSoilModelFeatures(stochasticSoilModels); // Assert - Assert.AreEqual(stochasticSoilModels.Length, features.Length); + Assert.AreEqual(stochasticSoilModels.Length, features.Count()); - for (var i = 0; i < features.Length; i++) + for (var i = 0; i < features.Count(); i++) { - Assert.AreEqual(1, features[i].MapGeometries.Count()); - AssertEqualPointCollections(stochasticSoilModels[i].Geometry, features[i].MapGeometries.First()); - Assert.AreEqual(1, features[i].MetaData.Keys.Count); - Assert.AreEqual(stochasticSoilModels[i].Name, features[i].MetaData["Naam"]); + Assert.AreEqual(1, features.ElementAt(i).MapGeometries.Count()); + AssertEqualPointCollections(stochasticSoilModels[i].Geometry, features.ElementAt(i).MapGeometries.First()); + Assert.AreEqual(1, features.ElementAt(i).MetaData.Keys.Count); + Assert.AreEqual(stochasticSoilModels[i].Name, features.ElementAt(i).MetaData["Naam"]); } } [Test] - public void CreateCalculationFeatures_CalculationsNull_ReturnsEmptyFeaturesArray() + public void CreateCalculationFeatures_CalculationsNull_ReturnsEmptyFeaturesCollection() { // Call - MapFeature[] features = PipingMapDataFeaturesFactory.CreateCalculationFeatures(null); + IEnumerable features = PipingMapDataFeaturesFactory.CreateCalculationFeatures(null); // Assert CollectionAssert.IsEmpty(features); } [Test] - public void CreateCalculationFeatures_NoCalculations_ReturnsEmptyFeaturesArray() + public void CreateCalculationFeatures_NoCalculations_ReturnsEmptyFeaturesCollection() { // Call - MapFeature[] features = PipingMapDataFeaturesFactory.CreateCalculationFeatures(Enumerable.Empty()); + IEnumerable features = PipingMapDataFeaturesFactory.CreateCalculationFeatures(Enumerable.Empty()); // Assert CollectionAssert.IsEmpty(features); } [Test] - public void CreateCalculationFeatures_GivenCalculations_ReturnsCalculationFeaturesArray() + public void CreateCalculationFeatures_GivenCalculations_ReturnsCalculationFeaturesCollection() { // Setup PipingCalculationScenario calculationA = PipingCalculationScenarioFactory.CreatePipingCalculationScenarioWithValidInput(); @@ -183,26 +183,26 @@ calculationB.InputParameters.HydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, string.Empty, 2.2, 3.8); // Call - MapFeature[] features = PipingMapDataFeaturesFactory.CreateCalculationFeatures(new[] + IEnumerable features = PipingMapDataFeaturesFactory.CreateCalculationFeatures(new[] { calculationA, calculationB }); // Assert - Assert.AreEqual(2, features.Length); - Assert.AreEqual(1, features[0].MapGeometries.Count()); - Assert.AreEqual(1, features[1].MapGeometries.Count()); + Assert.AreEqual(2, features.Count()); + Assert.AreEqual(1, features.ElementAt(0).MapGeometries.Count()); + Assert.AreEqual(1, features.ElementAt(1).MapGeometries.Count()); AssertEqualPointCollections(new[] { new Point2D(1.0, 3.0), new Point2D(5.0, 4.0) - }, features[0].MapGeometries.ElementAt(0)); + }, features.ElementAt(0).MapGeometries.ElementAt(0)); AssertEqualPointCollections(new[] { new Point2D(1.0, 4.0), new Point2D(2.2, 3.8) - }, features[1].MapGeometries.ElementAt(0)); + }, features.ElementAt(1).MapGeometries.ElementAt(0)); } private static void AssertEqualPointCollections(IEnumerable points, MapGeometry geometry) Index: Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Forms/Factories/StabilityStoneCoverMapDataFeaturesFactory.cs =================================================================== diff -u -r12dbf9394aec78889af2c835f9d37237603e8af9 -r9b2bb9a809f4b42bd06b910dde1f6eb8e546356f --- Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Forms/Factories/StabilityStoneCoverMapDataFeaturesFactory.cs (.../StabilityStoneCoverMapDataFeaturesFactory.cs) (revision 12dbf9394aec78889af2c835f9d37237603e8af9) +++ Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Forms/Factories/StabilityStoneCoverMapDataFeaturesFactory.cs (.../StabilityStoneCoverMapDataFeaturesFactory.cs) (revision 9b2bb9a809f4b42bd06b910dde1f6eb8e546356f) @@ -30,16 +30,16 @@ namespace Ringtoets.StabilityStoneCover.Forms.Factories { /// - /// Factory for creating arrays of to use in . + /// Factory for creating collections of to use in . /// internal static class StabilityStoneCoverMapDataFeaturesFactory { /// /// Create calculation features based on the provided . /// /// The collection of to create the calculation features for. - /// An array of features or an empty array when is null or empty. - public static MapFeature[] CreateCalculationFeatures(IEnumerable calculationInputs) + /// A collection of features or an empty collection when is null or empty. + public static IEnumerable CreateCalculationFeatures(IEnumerable calculationInputs) { bool hasCalculations = calculationInputs != null && calculationInputs.Any(); Index: Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Forms.Test/Factories/StabilityStoneCoverMapDataFeaturesFactoryTest.cs =================================================================== diff -u -r4b8ab1201eba50035392ce074fa1cc5da25ff4a7 -r9b2bb9a809f4b42bd06b910dde1f6eb8e546356f --- Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Forms.Test/Factories/StabilityStoneCoverMapDataFeaturesFactoryTest.cs (.../StabilityStoneCoverMapDataFeaturesFactoryTest.cs) (revision 4b8ab1201eba50035392ce074fa1cc5da25ff4a7) +++ Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Forms.Test/Factories/StabilityStoneCoverMapDataFeaturesFactoryTest.cs (.../StabilityStoneCoverMapDataFeaturesFactoryTest.cs) (revision 9b2bb9a809f4b42bd06b910dde1f6eb8e546356f) @@ -36,27 +36,27 @@ public class StabilityStoneCoverMapDataFeaturesFactoryTest { [Test] - public void CreateCalculationFeatures_CalculationsNull_ReturnsEmptyFeaturesArray() + public void CreateCalculationFeatures_CalculationsNull_ReturnsEmptyFeaturesCollection() { // Call - MapFeature[] features = StabilityStoneCoverMapDataFeaturesFactory.CreateCalculationFeatures(null); + IEnumerable features = StabilityStoneCoverMapDataFeaturesFactory.CreateCalculationFeatures(null); // Assert CollectionAssert.IsEmpty(features); } [Test] - public void CreateCalculationFeatures_NoCalculations_ReturnsEmptyFeaturesArray() + public void CreateCalculationFeatures_NoCalculations_ReturnsEmptyFeaturesCollection() { // Call - MapFeature[] features = StabilityStoneCoverMapDataFeaturesFactory.CreateCalculationFeatures(Enumerable.Empty()); + IEnumerable features = StabilityStoneCoverMapDataFeaturesFactory.CreateCalculationFeatures(Enumerable.Empty()); // Assert CollectionAssert.IsEmpty(features); } [Test] - public void CreateCalculationFeatures_GivenCalculations_ReturnsCalculationFeaturesArray() + public void CreateCalculationFeatures_GivenCalculations_ReturnsCalculationFeaturesCollection() { // Setup var calculationA = new StabilityStoneCoverWaveConditionsCalculation(); @@ -69,26 +69,26 @@ calculationB.InputParameters.HydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, string.Empty, 2.2, 3.8); // Call - MapFeature[] features = StabilityStoneCoverMapDataFeaturesFactory.CreateCalculationFeatures(new[] + IEnumerable features = StabilityStoneCoverMapDataFeaturesFactory.CreateCalculationFeatures(new[] { calculationA, calculationB }); // Assert - Assert.AreEqual(2, features.Length); - Assert.AreEqual(1, features[0].MapGeometries.Count()); - Assert.AreEqual(1, features[1].MapGeometries.Count()); + Assert.AreEqual(2, features.Count()); + Assert.AreEqual(1, features.ElementAt(0).MapGeometries.Count()); + Assert.AreEqual(1, features.ElementAt(1).MapGeometries.Count()); AssertEqualPointCollections(new[] { new Point2D(1.0, 3.0), new Point2D(5.0, 4.0) - }, features[0].MapGeometries.ElementAt(0)); + }, features.ElementAt(0).MapGeometries.ElementAt(0)); AssertEqualPointCollections(new[] { new Point2D(1.0, 4.0), new Point2D(2.2, 3.8) - }, features[1].MapGeometries.ElementAt(0)); + }, features.ElementAt(1).MapGeometries.ElementAt(0)); } private static void AssertEqualPointCollections(IEnumerable points, MapGeometry geometry) Index: Ringtoets/WaveImpactAsphaltCover/src/Ringtoets.WaveImpactAsphaltCover.Forms/Factories/WaveImpactAsphaltCoverMapDataFeaturesFactory.cs =================================================================== diff -u -r12dbf9394aec78889af2c835f9d37237603e8af9 -r9b2bb9a809f4b42bd06b910dde1f6eb8e546356f --- Ringtoets/WaveImpactAsphaltCover/src/Ringtoets.WaveImpactAsphaltCover.Forms/Factories/WaveImpactAsphaltCoverMapDataFeaturesFactory.cs (.../WaveImpactAsphaltCoverMapDataFeaturesFactory.cs) (revision 12dbf9394aec78889af2c835f9d37237603e8af9) +++ Ringtoets/WaveImpactAsphaltCover/src/Ringtoets.WaveImpactAsphaltCover.Forms/Factories/WaveImpactAsphaltCoverMapDataFeaturesFactory.cs (.../WaveImpactAsphaltCoverMapDataFeaturesFactory.cs) (revision 9b2bb9a809f4b42bd06b910dde1f6eb8e546356f) @@ -30,16 +30,16 @@ namespace Ringtoets.WaveImpactAsphaltCover.Forms.Factories { /// - /// Factory for creating arrays of to use in . + /// Factory for creating collections of to use in . /// internal static class WaveImpactAsphaltCoverMapDataFeaturesFactory { /// /// Create calculation features based on the provided . /// /// The collection of to create the calculation features for. - /// An array of features or an empty array when is null or empty. - public static MapFeature[] CreateCalculationFeatures(IEnumerable calculationInputs) + /// A collection of features or an empty collection when is null or empty. + public static IEnumerable CreateCalculationFeatures(IEnumerable calculationInputs) { bool hasCalculations = calculationInputs != null && calculationInputs.Any(); Index: Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Forms.Test/Factories/WaveImpactAsphaltCoverMapDataFeaturesFactoryTest.cs =================================================================== diff -u -r4b8ab1201eba50035392ce074fa1cc5da25ff4a7 -r9b2bb9a809f4b42bd06b910dde1f6eb8e546356f --- Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Forms.Test/Factories/WaveImpactAsphaltCoverMapDataFeaturesFactoryTest.cs (.../WaveImpactAsphaltCoverMapDataFeaturesFactoryTest.cs) (revision 4b8ab1201eba50035392ce074fa1cc5da25ff4a7) +++ Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Forms.Test/Factories/WaveImpactAsphaltCoverMapDataFeaturesFactoryTest.cs (.../WaveImpactAsphaltCoverMapDataFeaturesFactoryTest.cs) (revision 9b2bb9a809f4b42bd06b910dde1f6eb8e546356f) @@ -36,27 +36,27 @@ public class WaveImpactAsphaltCoverMapDataFeaturesFactoryTest { [Test] - public void CreateCalculationFeatures_CalculationsNull_ReturnsEmptyFeaturesArray() + public void CreateCalculationFeatures_CalculationsNull_ReturnsEmptyFeaturesCollection() { // Call - MapFeature[] features = WaveImpactAsphaltCoverMapDataFeaturesFactory.CreateCalculationFeatures(null); + IEnumerable features = WaveImpactAsphaltCoverMapDataFeaturesFactory.CreateCalculationFeatures(null); // Assert CollectionAssert.IsEmpty(features); } [Test] - public void CreateCalculationFeatures_NoCalculations_ReturnsEmptyFeaturesArray() + public void CreateCalculationFeatures_NoCalculations_ReturnsEmptyFeaturesCollection() { // Call - MapFeature[] features = WaveImpactAsphaltCoverMapDataFeaturesFactory.CreateCalculationFeatures(Enumerable.Empty()); + IEnumerable features = WaveImpactAsphaltCoverMapDataFeaturesFactory.CreateCalculationFeatures(Enumerable.Empty()); // Assert CollectionAssert.IsEmpty(features); } [Test] - public void CreateCalculationFeatures_GivenCalculations_ReturnsCalculationFeaturesArray() + public void CreateCalculationFeatures_GivenCalculations_ReturnsCalculationFeaturesCollection() { // Setup var calculationA = new WaveImpactAsphaltCoverWaveConditionsCalculation(); @@ -69,26 +69,26 @@ calculationB.InputParameters.HydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, string.Empty, 2.2, 3.8); // Call - MapFeature[] features = WaveImpactAsphaltCoverMapDataFeaturesFactory.CreateCalculationFeatures(new[] + IEnumerable features = WaveImpactAsphaltCoverMapDataFeaturesFactory.CreateCalculationFeatures(new[] { calculationA, calculationB }); // Assert - Assert.AreEqual(2, features.Length); - Assert.AreEqual(1, features[0].MapGeometries.Count()); - Assert.AreEqual(1, features[1].MapGeometries.Count()); + Assert.AreEqual(2, features.Count()); + Assert.AreEqual(1, features.ElementAt(0).MapGeometries.Count()); + Assert.AreEqual(1, features.ElementAt(1).MapGeometries.Count()); AssertEqualPointCollections(new[] { new Point2D(1.0, 3.0), new Point2D(5.0, 4.0) - }, features[0].MapGeometries.ElementAt(0)); + }, features.ElementAt(0).MapGeometries.ElementAt(0)); AssertEqualPointCollections(new[] { new Point2D(1.0, 4.0), new Point2D(2.2, 3.8) - }, features[1].MapGeometries.ElementAt(0)); + }, features.ElementAt(1).MapGeometries.ElementAt(0)); } private static void AssertEqualPointCollections(IEnumerable points, MapGeometry geometry)