public void AddCalculationsFromLocations_MultipleLocationsEmptyCalculationBase_ReturnsUniquelyNamedCalculationsWithCorrectInputSet(
            NormativeProbabilityType normativeProbabilityType,
            WaveConditionsInputWaterLevelType expectedWaveConditionsInputWaterLevelType)
        {
            // Setup
            const string name      = "name";
            var          locations = new[]
            {
                new HydraulicBoundaryLocation(1, name, 1, 1),
                new HydraulicBoundaryLocation(2, name, 2, 2)
            };
            var calculationBases = new List <ICalculationBase>();

            // Call
            GrassCoverErosionOutwardsWaveConditionsCalculationHelper.AddCalculationsFromLocations(locations, calculationBases, normativeProbabilityType);

            // Assert
            Assert.AreEqual(2, calculationBases.Count);
            var firstCalculation = (GrassCoverErosionOutwardsWaveConditionsCalculation)calculationBases.First();

            Assert.AreEqual(name, firstCalculation.Name);
            GrassCoverErosionOutwardsWaveConditionsInput firstCalculationInput = firstCalculation.InputParameters;

            Assert.AreEqual(locations[0], firstCalculationInput.HydraulicBoundaryLocation);
            Assert.AreEqual(expectedWaveConditionsInputWaterLevelType, firstCalculationInput.WaterLevelType);

            var secondCalculation = (GrassCoverErosionOutwardsWaveConditionsCalculation)calculationBases.ElementAt(1);

            Assert.AreEqual($"{name} (1)", secondCalculation.Name);
            GrassCoverErosionOutwardsWaveConditionsInput secondCalculationInput = secondCalculation.InputParameters;

            Assert.AreSame(locations[1], secondCalculationInput.HydraulicBoundaryLocation);
            Assert.AreEqual(expectedWaveConditionsInputWaterLevelType, secondCalculationInput.WaterLevelType);
        }
Exemple #2
0
 private static void GenerateGrassCoverErosionOutwardsWaveConditionsCalculations(IEnumerable <HydraulicBoundaryLocation> hydraulicBoundaryLocations,
                                                                                 List <ICalculationBase> calculationCollection,
                                                                                 NormativeProbabilityType normativeProbabilityType)
 {
     GrassCoverErosionOutwardsWaveConditionsCalculationHelper.AddCalculationsFromLocations(
         hydraulicBoundaryLocations,
         calculationCollection,
         normativeProbabilityType);
 }
        public void AddCalculationsFromLocations_EmptyCollections_ReturnsEmptyList()
        {
            // Setup
            var random = new Random(21);
            IEnumerable <HydraulicBoundaryLocation> locations = Enumerable.Empty <HydraulicBoundaryLocation>();
            var calculationBases = new List <ICalculationBase>();

            // Call
            GrassCoverErosionOutwardsWaveConditionsCalculationHelper.AddCalculationsFromLocations(locations, calculationBases, random.NextEnumValue <NormativeProbabilityType>());

            // Assert
            CollectionAssert.IsEmpty(calculationBases);
        }
        public void AddCalculationsFromLocations_CalculationsIsNull_ThrowsArgumentNullException()
        {
            // Setup
            var random = new Random(21);
            IEnumerable <HydraulicBoundaryLocation> locations = Enumerable.Empty <HydraulicBoundaryLocation>();

            // Call
            void Call() => GrassCoverErosionOutwardsWaveConditionsCalculationHelper.AddCalculationsFromLocations(locations, null, random.NextEnumValue <NormativeProbabilityType>());

            // Assert
            string paramName = Assert.Throws <ArgumentNullException>(Call).ParamName;

            Assert.AreEqual("calculations", paramName);
        }
        public void AddCalculationsFromLocations_LocationsIsNull_ThrowsArgumentNullException()
        {
            // Setup
            var random       = new Random(21);
            var calculations = new List <ICalculationBase>();

            // Call
            void Call() => GrassCoverErosionOutwardsWaveConditionsCalculationHelper.AddCalculationsFromLocations(null, calculations, random.NextEnumValue <NormativeProbabilityType>());

            // Assert
            string paramName = Assert.Throws <ArgumentNullException>(Call).ParamName;

            Assert.AreEqual("locations", paramName);
        }