/// <summary> /// Reads the <see cref="HydraulicBoundaryDatabaseEntity"/> and uses the information to /// update a <see cref="HydraulicBoundaryDatabase"/>. /// </summary> /// <param name="entity">The <see cref="HydraulicBoundaryDatabaseEntity"/> to update the /// <see cref="HydraulicBoundaryDatabase"/>.</param> /// <param name="hydraulicBoundaryDatabase">The <see cref="HydraulicBoundaryDatabase"/> to update.</param> /// <exception cref="ArgumentNullException">Thrown when any parameter is <c>null</c>.</exception> internal static void Read(this HydraulicBoundaryDatabaseEntity entity, HydraulicBoundaryDatabase hydraulicBoundaryDatabase) { if (entity == null) { throw new ArgumentNullException(nameof(entity)); } if (hydraulicBoundaryDatabase == null) { throw new ArgumentNullException(nameof(hydraulicBoundaryDatabase)); } hydraulicBoundaryDatabase.FilePath = entity.FilePath; hydraulicBoundaryDatabase.Version = entity.Version; hydraulicBoundaryDatabase.HydraulicLocationConfigurationSettings.SetValues( entity.HydraulicLocationConfigurationSettingsFilePath, entity.HydraulicLocationConfigurationSettingsScenarioName, entity.HydraulicLocationConfigurationSettingsYear, entity.HydraulicLocationConfigurationSettingsScope, Convert.ToBoolean(entity.HydraulicLocationConfigurationSettingsUsePreprocessorClosure), entity.HydraulicLocationConfigurationSettingsSeaLevel, entity.HydraulicLocationConfigurationSettingsRiverDischarge, entity.HydraulicLocationConfigurationSettingsLakeLevel, entity.HydraulicLocationConfigurationSettingsWindDirection, entity.HydraulicLocationConfigurationSettingsWindSpeed, entity.HydraulicLocationConfigurationSettingsComment); }
public void Read_HydraulicBoundaryDatabaseNull_ThrowsArgumentNullException() { // Setup var entity = new HydraulicBoundaryDatabaseEntity(); // Call TestDelegate call = () => entity.Read(null); // Assert var exception = Assert.Throws <ArgumentNullException>(call); Assert.AreEqual("hydraulicBoundaryDatabase", exception.ParamName); }
public void Read_WithValidEntity_UpdatesHydraulicBoundaryDatabase() { // Setup var random = new Random(21); bool usePreprocessorClosure = random.NextBoolean(); var entity = new HydraulicBoundaryDatabaseEntity { FilePath = "hydraulicBoundaryDatabaseFilePath", Version = "hydraulicBoundaryDatabaseVersion", HydraulicLocationConfigurationSettingsFilePath = "hlcdFilePath", HydraulicLocationConfigurationSettingsUsePreprocessorClosure = Convert.ToByte(usePreprocessorClosure), HydraulicLocationConfigurationSettingsScenarioName = "ScenarioName", HydraulicLocationConfigurationSettingsYear = random.Next(), HydraulicLocationConfigurationSettingsScope = "Scope", HydraulicLocationConfigurationSettingsSeaLevel = "SeaLevel", HydraulicLocationConfigurationSettingsRiverDischarge = "RiverDischarge", HydraulicLocationConfigurationSettingsLakeLevel = "LakeLevel", HydraulicLocationConfigurationSettingsWindDirection = "WindDirection", HydraulicLocationConfigurationSettingsWindSpeed = "WindSpeed", HydraulicLocationConfigurationSettingsComment = "Comment" }; var hydraulicBoundaryDatabase = new HydraulicBoundaryDatabase(); // Call entity.Read(hydraulicBoundaryDatabase); // Assert Assert.AreEqual(entity.FilePath, hydraulicBoundaryDatabase.FilePath); Assert.AreEqual(entity.Version, hydraulicBoundaryDatabase.Version); HydraulicLocationConfigurationSettings settings = hydraulicBoundaryDatabase.HydraulicLocationConfigurationSettings; Assert.AreEqual(entity.HydraulicLocationConfigurationSettingsFilePath, settings.FilePath); Assert.AreEqual(entity.HydraulicLocationConfigurationSettingsScenarioName, settings.ScenarioName); Assert.AreEqual(entity.HydraulicLocationConfigurationSettingsYear, settings.Year); Assert.AreEqual(entity.HydraulicLocationConfigurationSettingsScope, settings.Scope); Assert.AreEqual(usePreprocessorClosure, settings.UsePreprocessorClosure); Assert.AreEqual(entity.HydraulicLocationConfigurationSettingsSeaLevel, settings.SeaLevel); Assert.AreEqual(entity.HydraulicLocationConfigurationSettingsRiverDischarge, settings.RiverDischarge); Assert.AreEqual(entity.HydraulicLocationConfigurationSettingsLakeLevel, settings.LakeLevel); Assert.AreEqual(entity.HydraulicLocationConfigurationSettingsWindDirection, settings.WindDirection); Assert.AreEqual(entity.HydraulicLocationConfigurationSettingsWindSpeed, settings.WindSpeed); Assert.AreEqual(entity.HydraulicLocationConfigurationSettingsComment, settings.Comment); }
private static void ReadHydraulicDatabase(this AssessmentSectionEntity entity, AssessmentSection assessmentSection, ReadConversionCollector collector) { HydraulicBoundaryDatabaseEntity hydraulicBoundaryDatabaseEntity = entity.HydraulicBoundaryDatabaseEntities.SingleOrDefault(); if (hydraulicBoundaryDatabaseEntity != null) { HydraulicBoundaryDatabase hydraulicBoundaryDatabase = assessmentSection.HydraulicBoundaryDatabase; hydraulicBoundaryDatabaseEntity.Read(hydraulicBoundaryDatabase); HydraulicBoundaryLocation[] readHydraulicBoundaryLocations = entity.HydraulicLocationEntities .OrderBy(hl => hl.Order) .Select(hle => hle.Read(collector)) .ToArray(); hydraulicBoundaryDatabase.Locations.AddRange(readHydraulicBoundaryLocations); assessmentSection.SetHydraulicBoundaryLocationCalculations(readHydraulicBoundaryLocations); entity.ReadHydraulicBoundaryLocationCalculations(assessmentSection, collector); } }
public void Create_ValidHydraulicBoundaryDatabase_ReturnsHydraulicBoundaryDatabaseEntity() { // Setup var random = new Random(21); var hydraulicBoundaryDatabase = new HydraulicBoundaryDatabase { FilePath = "hydraulicBoundaryDatabasefilePath", Version = "Version" }; hydraulicBoundaryDatabase.HydraulicLocationConfigurationSettings.SetValues("hlcdFilePath", "ScenarioName", random.Next(), "Scope", random.NextBoolean(), "SeaLevel", "RiverDischarge", "LakeLevel", "WindDirection", "WindSpeed", "Comment"); // Call HydraulicBoundaryDatabaseEntity entity = hydraulicBoundaryDatabase.Create(); // Assert TestHelper.AssertAreEqualButNotSame(hydraulicBoundaryDatabase.FilePath, entity.FilePath); TestHelper.AssertAreEqualButNotSame(hydraulicBoundaryDatabase.Version, entity.Version); HydraulicLocationConfigurationSettings settings = hydraulicBoundaryDatabase.HydraulicLocationConfigurationSettings; TestHelper.AssertAreEqualButNotSame(settings.FilePath, entity.HydraulicLocationConfigurationSettingsFilePath); Assert.AreEqual(Convert.ToByte(settings.UsePreprocessorClosure), entity.HydraulicLocationConfigurationSettingsUsePreprocessorClosure); TestHelper.AssertAreEqualButNotSame(settings.ScenarioName, entity.HydraulicLocationConfigurationSettingsScenarioName); TestHelper.AssertAreEqualButNotSame(settings.Year, entity.HydraulicLocationConfigurationSettingsYear); TestHelper.AssertAreEqualButNotSame(settings.Scope, entity.HydraulicLocationConfigurationSettingsScope); TestHelper.AssertAreEqualButNotSame(settings.SeaLevel, entity.HydraulicLocationConfigurationSettingsSeaLevel); TestHelper.AssertAreEqualButNotSame(settings.RiverDischarge, entity.HydraulicLocationConfigurationSettingsRiverDischarge); TestHelper.AssertAreEqualButNotSame(settings.LakeLevel, entity.HydraulicLocationConfigurationSettingsLakeLevel); TestHelper.AssertAreEqualButNotSame(settings.WindDirection, entity.HydraulicLocationConfigurationSettingsWindDirection); TestHelper.AssertAreEqualButNotSame(settings.WindSpeed, entity.HydraulicLocationConfigurationSettingsWindSpeed); TestHelper.AssertAreEqualButNotSame(settings.Comment, entity.HydraulicLocationConfigurationSettingsComment); }
public void Create_HydraulicBoundaryDatabaseLinked_SetsExpectedPropertiesToEntity() { // Setup var random = new Random(21); const string testFilePath = "path"; const string testVersion = "1"; var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike) { HydraulicBoundaryDatabase = { FilePath = testFilePath, Version = testVersion, Locations = { new HydraulicBoundaryLocation(-1, "name", 1, 2) } }, WaveHeightCalculationsForUserDefinedTargetProbabilities = { new HydraulicBoundaryLocationCalculationsForTargetProbability(random.NextDouble(0, 0.1)), new HydraulicBoundaryLocationCalculationsForTargetProbability(random.NextDouble(0, 0.1)), new HydraulicBoundaryLocationCalculationsForTargetProbability(random.NextDouble(0, 0.1)) }, WaterLevelCalculationsForUserDefinedTargetProbabilities = { new HydraulicBoundaryLocationCalculationsForTargetProbability(random.NextDouble(0, 0.1)), new HydraulicBoundaryLocationCalculationsForTargetProbability(random.NextDouble(0, 0.1)) } }; assessmentSection.SetHydraulicBoundaryLocationCalculations(assessmentSection.HydraulicBoundaryDatabase.Locations); SetHydraulicBoundaryLocationCalculationInputsOfAssessmentSection(assessmentSection); var registry = new PersistenceRegistry(); // Call AssessmentSectionEntity entity = assessmentSection.Create(registry); // Assert HydraulicBoundaryDatabaseEntity hydraulicBoundaryDatabaseEntity = entity.HydraulicBoundaryDatabaseEntities.Single(); HydraulicBoundaryDatabase hydraulicBoundaryDatabase = assessmentSection.HydraulicBoundaryDatabase; Assert.AreEqual(hydraulicBoundaryDatabase.FilePath, hydraulicBoundaryDatabaseEntity.FilePath); Assert.AreEqual(hydraulicBoundaryDatabase.Version, hydraulicBoundaryDatabaseEntity.Version); HydraulicLocationConfigurationSettings settings = hydraulicBoundaryDatabase.HydraulicLocationConfigurationSettings; Assert.AreEqual(settings.FilePath, hydraulicBoundaryDatabaseEntity.HydraulicLocationConfigurationSettingsFilePath); Assert.AreEqual(settings.ScenarioName, hydraulicBoundaryDatabaseEntity.HydraulicLocationConfigurationSettingsScenarioName); Assert.AreEqual(settings.Year, hydraulicBoundaryDatabaseEntity.HydraulicLocationConfigurationSettingsYear); Assert.AreEqual(settings.Scope, hydraulicBoundaryDatabaseEntity.HydraulicLocationConfigurationSettingsScope); Assert.AreEqual(settings.SeaLevel, hydraulicBoundaryDatabaseEntity.HydraulicLocationConfigurationSettingsSeaLevel); Assert.AreEqual(settings.RiverDischarge, hydraulicBoundaryDatabaseEntity.HydraulicLocationConfigurationSettingsRiverDischarge); Assert.AreEqual(settings.LakeLevel, hydraulicBoundaryDatabaseEntity.HydraulicLocationConfigurationSettingsLakeLevel); Assert.AreEqual(settings.WindDirection, hydraulicBoundaryDatabaseEntity.HydraulicLocationConfigurationSettingsWindDirection); Assert.AreEqual(settings.WindSpeed, hydraulicBoundaryDatabaseEntity.HydraulicLocationConfigurationSettingsWindSpeed); Assert.AreEqual(settings.Comment, hydraulicBoundaryDatabaseEntity.HydraulicLocationConfigurationSettingsComment); int expectedNrOfHydraulicBoundaryLocations = hydraulicBoundaryDatabase.Locations.Count; Assert.AreEqual(expectedNrOfHydraulicBoundaryLocations, entity.HydraulicLocationEntities.Count); AssertHydraulicLocationCalculationCollectionEntities(assessmentSection, entity); }