Esempio n. 1
0
        public void CreateCalculationsFeatures_WithCalculations_ReturnsCollectionWithCalculations()
        {
            // Setup
            var calculationLocationA = new Point2D(1.2, 2.3);
            var calculationLocationB = new Point2D(2.7, 2.0);

            var hydraulicBoundaryLocationA = new HydraulicBoundaryLocation(1, string.Empty, 1.3, 2.3);
            var hydraulicBoundaryLocationB = new HydraulicBoundaryLocation(1, string.Empty, 7.7, 12.6);

            // Call
            IEnumerable <MapFeature> features = RiskeerMapDataFeaturesFactory.CreateCalculationFeatures(new[]
            {
                new MapCalculationData("calculationA", calculationLocationA, hydraulicBoundaryLocationA),
                new MapCalculationData("calculationB", calculationLocationB, hydraulicBoundaryLocationB)
            });

            // Assert
            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[]
            {
                calculationLocationA,
                hydraulicBoundaryLocationA.Location
            }, mapDataGeometryOne);
            CollectionElementsAlmostEquals(new[]
            {
                calculationLocationB,
                hydraulicBoundaryLocationB.Location
            }, mapDataGeometryTwo);
        }
Esempio n. 2
0
        public void CreateCalculationsFeatures_NullLocations_ReturnsEmptyCollection()
        {
            // Call
            IEnumerable <MapFeature> features = RiskeerMapDataFeaturesFactory.CreateCalculationFeatures(null);

            // Assert
            CollectionAssert.IsEmpty(features);
        }
Esempio n. 3
0
        /// <summary>
        /// Create calculation features based on the provided <paramref name="calculations"/>.
        /// </summary>
        /// <param name="calculations">The collection of <see cref="GrassCoverErosionOutwardsWaveConditionsCalculation"/>
        /// to create the calculation features for.</param>
        /// <returns>A collection of features or an empty collection when <paramref name="calculations"/>
        /// is <c>null</c> or empty.</returns>
        public static IEnumerable <MapFeature> CreateCalculationFeatures(IEnumerable <GrassCoverErosionOutwardsWaveConditionsCalculation> calculations)
        {
            if (calculations == null || !calculations.Any())
            {
                return(new MapFeature[0]);
            }

            IEnumerable <GrassCoverErosionOutwardsWaveConditionsCalculation> calculationsWithLocationAndHydraulicBoundaryLocation =
                calculations.Where(calculation =>
                                   calculation.InputParameters.ForeshoreProfile != null &&
                                   calculation.InputParameters.HydraulicBoundaryLocation != null);

            MapCalculationData[] calculationData =
                calculationsWithLocationAndHydraulicBoundaryLocation.Select(
                    calculation => new MapCalculationData(
                        calculation.Name,
                        calculation.InputParameters.ForeshoreProfile.WorldReferencePoint,
                        calculation.InputParameters.HydraulicBoundaryLocation)).ToArray();

            return(RiskeerMapDataFeaturesFactory.CreateCalculationFeatures(calculationData));
        }
        /// <summary>
        /// Create calculation features based on the provided <paramref name="calculationInputs"/>.
        /// </summary>
        /// <param name="calculationInputs">The collection of <see cref="WaveImpactAsphaltCoverWaveConditionsCalculation"/> to create the calculation features for.</param>
        /// <returns>A collection of features or an empty collection when <paramref name="calculationInputs"/> is <c>null</c> or empty.</returns>
        public static IEnumerable <MapFeature> CreateCalculationFeatures(IEnumerable <WaveImpactAsphaltCoverWaveConditionsCalculation> calculationInputs)
        {
            bool hasCalculations = calculationInputs != null && calculationInputs.Any();

            if (!hasCalculations)
            {
                return(new MapFeature[0]);
            }

            IEnumerable <WaveImpactAsphaltCoverWaveConditionsCalculation> calculationsWithLocationAndHydraulicBoundaryLocation =
                calculationInputs.Where(calculation =>
                                        calculation.InputParameters.ForeshoreProfile != null &&
                                        calculation.InputParameters.HydraulicBoundaryLocation != null);

            MapCalculationData[] calculationData =
                calculationsWithLocationAndHydraulicBoundaryLocation.Select(
                    calculation => new MapCalculationData(
                        calculation.Name,
                        calculation.InputParameters.ForeshoreProfile.WorldReferencePoint,
                        calculation.InputParameters.HydraulicBoundaryLocation)).ToArray();

            return(RiskeerMapDataFeaturesFactory.CreateCalculationFeatures(calculationData));
        }
        /// <summary>
        /// Create calculation features based on the provided <paramref name="calculations"/>.
        /// </summary>
        /// <param name="calculations">The collection of <see cref="MacroStabilityInwardsCalculationScenario"/> to create the calculation features for.</param>
        /// <returns>A collection of features or an empty collection when <paramref name="calculations"/> is <c>null</c> or empty.</returns>
        public static IEnumerable <MapFeature> CreateCalculationFeatures(IEnumerable <MacroStabilityInwardsCalculationScenario> calculations)
        {
            bool hasCalculations = calculations != null && calculations.Any();

            if (!hasCalculations)
            {
                return(new MapFeature[0]);
            }

            IEnumerable <MacroStabilityInwardsCalculationScenario> calculationsWithLocationAndHydraulicBoundaryLocation =
                calculations.Where(c =>
                                   c.InputParameters.SurfaceLine != null &&
                                   c.InputParameters.HydraulicBoundaryLocation != null);

            MapCalculationData[] calculationData =
                calculationsWithLocationAndHydraulicBoundaryLocation.Select(
                    calculation => new MapCalculationData(
                        calculation.Name,
                        calculation.InputParameters.SurfaceLine.ReferenceLineIntersectionWorldPoint,
                        calculation.InputParameters.HydraulicBoundaryLocation)).ToArray();

            return(RiskeerMapDataFeaturesFactory.CreateCalculationFeatures(calculationData));
        }