// Copyright (C) Stichting Deltares 2017. All rights reserved. // // This file is part of Ringtoets. // // Ringtoets is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . // // All names, logos, and references to "Deltares" are registered trademarks of // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. using System; using System.Collections.Generic; using System.IO; using System.Reflection; using Core.Common.TestUtil; using NUnit.Framework; using Ringtoets.HydraRing.Calculation.Data; using Ringtoets.HydraRing.Calculation.Data.Input.Hydraulics; using Ringtoets.HydraRing.Calculation.Data.Input.Overtopping; using Ringtoets.HydraRing.Calculation.Data.Input.Structures; using Ringtoets.HydraRing.Calculation.Data.Input.WaveConditions; using Ringtoets.HydraRing.Calculation.Data.Settings; using Ringtoets.HydraRing.Calculation.Services; namespace Ringtoets.HydraRing.Calculation.Test.Integration { [TestFixture] public class HydraRingConfigurationServiceIntegrationTest { private static readonly string hydraRingDirectory = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), @"HydraRing"); [Test] public void WriteDatabaseCreationScript_HydraRingConfigurationWithAssessmentLevelCalculationInput_WritesExpectedCreationScript([Values(true, false)] bool runPreprocessor) { // Setup var hydraRingConfigurationService = new HydraRingConfigurationService(HydraRingUncertaintiesType.All); hydraRingConfigurationService.AddHydraRingCalculationInput(new AssessmentLevelCalculationInput(1, 700004, 1.0 / 10000) { PreprocessorSetting = CreatePreprocessorSetting(runPreprocessor), DesignTablesSetting = new DesignTablesSetting(1.1, 2.2), NumericsSettings = new Dictionary { { 1, new NumericsSetting(1, 9, 150, 0.15, 0.01, 0.01, 0.01, 2, 3000, 10000, 0.1, -6, 6, 25) } }, TimeIntegrationSetting = new TimeIntegrationSetting(1) }); string expectedCreationScript = "DELETE FROM [HydraulicModels];" + Environment.NewLine + "INSERT INTO [HydraulicModels] VALUES (1, 1, 'WTI 2017');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Sections];" + Environment.NewLine + "INSERT INTO [Sections] VALUES (1, 1, 1, 1, 1, 0, 0, 0, 0, 700004, 700004, 100, 0, 0);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SectionCalculationSchemes];" + Environment.NewLine + "INSERT INTO [SectionCalculationSchemes] VALUES (1, 1, 1);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [DesignTables];" + Environment.NewLine + "INSERT INTO [DesignTables] VALUES (1, 1, 1, 1, 9, 26, 0, 0, 0, 0, 1.1, 2.2, 3.71901648545571);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [PreprocessorSettings];" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [PreprocessorSettings] VALUES (1, 1001.1, 1002.2);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [Numerics];" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 1, 1, 1, 1, 1, 9, 150, 0.15, 0.01, 0.01, 0.01, 2, 3, 3000, 10000, 0.1, -6, 6, 25);" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [Numerics] VALUES (1, 1, 1, 1, 7, 1008, 1009, 1010, 1011.11, 1012.12, 1013.13, 1014.14, 1015, 3, 1016, 1017, 1018.18, 1019.19, 1020.2, 1021);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [VariableDatas];" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 1, 1, 1, 26, 0, 0, 0, NULL, NULL, NULL, 1, 0, 300);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [CalculationProfiles];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SectionFaultTreeModels];" + Environment.NewLine + "INSERT INTO [SectionFaultTreeModels] VALUES (1, 1, 1, 1, 1);" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [SectionFaultTreeModels] VALUES (1, 1, 1, 1, 9);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [SectionSubMechanismModels];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Fetches];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [AreaPoints];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [PresentationSections];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Profiles];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [ForelandModels];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Forelands];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [ProbabilityAlternatives];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SetUpHeights];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [CalcWindDirections];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Swells];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [WaveReductions];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Areas];" + Environment.NewLine + "INSERT INTO [Areas] VALUES (1, '1', 'Nederland');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Projects];" + Environment.NewLine + "INSERT INTO [Projects] VALUES (1, 'WTI 2017', 'Ringtoets calculation');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Breakwaters];" + Environment.NewLine; string databaseFilePath = Path.Combine(hydraRingDirectory, "temp.db"); using (new FileDisposeHelper(databaseFilePath)) { // Call hydraRingConfigurationService.WriteDatabaseCreationScript(databaseFilePath); // Assert string creationScript = File.ReadAllText(databaseFilePath); Assert.AreEqual(expectedCreationScript, creationScript); } } [Test] public void WriteDatabaseCreationScript_HydraRingConfigurationWithWaveHeightCalculationInput_WritesExpectedCreationScript([Values(true, false)] bool runPreprocessor) { // Setup var hydraRingConfigurationService = new HydraRingConfigurationService(HydraRingUncertaintiesType.All); hydraRingConfigurationService.AddHydraRingCalculationInput(new WaveHeightCalculationInput(1, 700004, 1.0 / 10000) { PreprocessorSetting = CreatePreprocessorSetting(runPreprocessor), DesignTablesSetting = new DesignTablesSetting(1.1, 2.2), NumericsSettings = new Dictionary { { 11, new NumericsSetting(1, 9, 150, 0.15, 0.01, 0.01, 0.01, 2, 3000, 10000, 0.1, -6, 6, 25) } }, TimeIntegrationSetting = new TimeIntegrationSetting(1) }); string expectedCreationScript = "DELETE FROM [HydraulicModels];" + Environment.NewLine + "INSERT INTO [HydraulicModels] VALUES (1, 1, 'WTI 2017');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Sections];" + Environment.NewLine + "INSERT INTO [Sections] VALUES (1, 1, 1, 1, 1, 0, 0, 0, 0, 700004, 700004, 100, 0, 0);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SectionCalculationSchemes];" + Environment.NewLine + "INSERT INTO [SectionCalculationSchemes] VALUES (1, 11, 1);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [DesignTables];" + Environment.NewLine + "INSERT INTO [DesignTables] VALUES (1, 11, 1, 1, 9, 28, 0, 0, 0, 0, 1.1, 2.2, 3.71901648545571);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [PreprocessorSettings];" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [PreprocessorSettings] VALUES (1, 1001.1, 1002.2);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [Numerics];" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 11, 1, 1, 11, 1, 9, 150, 0.15, 0.01, 0.01, 0.01, 2, 3, 3000, 10000, 0.1, -6, 6, 25);" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [Numerics] VALUES (1, 1, 1, 1, 7, 1008, 1009, 1010, 1011.11, 1012.12, 1013.13, 1014.14, 1015, 3, 1016, 1017, 1018.18, 1019.19, 1020.2, 1021);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [VariableDatas];" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 11, 1, 1, 28, 0, 0, 0, NULL, NULL, NULL, 1, 0, 300);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [CalculationProfiles];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SectionFaultTreeModels];" + Environment.NewLine + "INSERT INTO [SectionFaultTreeModels] VALUES (1, 11, 1, 1, 11);" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [SectionFaultTreeModels] VALUES (1, 1, 1, 1, 9);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [SectionSubMechanismModels];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Fetches];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [AreaPoints];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [PresentationSections];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Profiles];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [ForelandModels];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Forelands];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [ProbabilityAlternatives];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SetUpHeights];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [CalcWindDirections];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Swells];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [WaveReductions];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Areas];" + Environment.NewLine + "INSERT INTO [Areas] VALUES (1, '1', 'Nederland');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Projects];" + Environment.NewLine + "INSERT INTO [Projects] VALUES (1, 'WTI 2017', 'Ringtoets calculation');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Breakwaters];" + Environment.NewLine; string databaseFilePath = Path.Combine(hydraRingDirectory, "temp.db"); using (new FileDisposeHelper(databaseFilePath)) { // Call hydraRingConfigurationService.WriteDatabaseCreationScript(databaseFilePath); // Assert string creationScript = File.ReadAllText(databaseFilePath); Assert.AreEqual(expectedCreationScript, creationScript); } } [Test] public void WriteDatabaseCreationScript_HydraRingConfigurationWithOvertoppingCalculationInput_WritesExpectedCreationScript([Values(true, false)] bool runPreprocessor) { // Setup var hydraRingConfigurationService = new HydraRingConfigurationService(HydraRingUncertaintiesType.All); const int hydraulicBoundaryLocationId = 700004; const double sectionNormal = 3.3; const double dikeHeight = 4.4; const double modelFactorCriticalOvertopping = 5.5; const double factorFbMean = 6.6; const double factorFbStandardDeviation = 7.7; const double factorFbLowerBoundary = 17.7; const double factorFbUpperBoundary = 18.8; const double factorFnMean = 8.8; const double factorFnStandardDeviation = 9.9; const double factorFnLowerBoundary = 19.9; const double factorFnUpperBoundary = 20.0; const double modelFactorOvertopping = 10.10; const double criticalOvertoppingMean = 11.11; const double criticalOvertoppingStandardDeviation = 12.12; const double modelFactorFrunupMean = 13.13; const double modelFactorFrunupStandardDeviation = 14.14; const double modelFactorFrunupLowerBoundary = 21.1; const double modelFactorFrunupUpperBoundary = 22.2; const double exponentModelFactorShallowMean = 15.15; const double exponentModelFactorShallowStandardDeviation = 16.16; const double exponentModelFactorShallowLowerBoundary = 23.3; const double exponentModelFactorShallowUpperBoundary = 24.4; var profilePoints = new List { new HydraRingRoughnessProfilePoint(1.1, 2.2, 3.3) }; var forelandPoints = new List { new HydraRingForelandPoint(1.1, 2.2) }; var breakWater = new HydraRingBreakWater(1, 2.2); var numericsSetting = new NumericsSetting(1, 9, 150, 0.15, 0.01, 0.01, 0.01, 2, 3000, 10000, 0.1, -6, 6, 25); hydraRingConfigurationService.AddHydraRingCalculationInput( new OvertoppingCalculationInput( hydraulicBoundaryLocationId, sectionNormal, profilePoints, forelandPoints, breakWater, dikeHeight, modelFactorCriticalOvertopping, factorFbMean, factorFbStandardDeviation, factorFbLowerBoundary, factorFbUpperBoundary, factorFnMean, factorFnStandardDeviation, factorFnLowerBoundary, factorFnUpperBoundary, modelFactorOvertopping, criticalOvertoppingMean, criticalOvertoppingStandardDeviation, modelFactorFrunupMean, modelFactorFrunupStandardDeviation, modelFactorFrunupLowerBoundary, modelFactorFrunupUpperBoundary, exponentModelFactorShallowMean, exponentModelFactorShallowStandardDeviation, exponentModelFactorShallowLowerBoundary, exponentModelFactorShallowUpperBoundary) { PreprocessorSetting = CreatePreprocessorSetting(runPreprocessor), DesignTablesSetting = new DesignTablesSetting(17.17, 18.18), NumericsSettings = new Dictionary { { 102, numericsSetting }, { 103, numericsSetting } }, TimeIntegrationSetting = new TimeIntegrationSetting(1) }); string expectedCreationScript = "DELETE FROM [HydraulicModels];" + Environment.NewLine + "INSERT INTO [HydraulicModels] VALUES (1, 1, 'WTI 2017');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Sections];" + Environment.NewLine + "INSERT INTO [Sections] VALUES (1, 1, 1, 1, 1, 0, 0, 0, 0, 700004, 700004, 100, 3.3, 0);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SectionCalculationSchemes];" + Environment.NewLine + "INSERT INTO [SectionCalculationSchemes] VALUES (1, 101, 1);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [DesignTables];" + Environment.NewLine + "INSERT INTO [DesignTables] VALUES (1, 101, 1, 1, 1, 1, 0, 0, 0, 0, 17.17, 18.18, 0);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [PreprocessorSettings];" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [PreprocessorSettings] VALUES (1, 1001.1, 1002.2);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [Numerics];" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 101, 1, 1, 102, 1, 9, 150, 0.15, 0.01, 0.01, 0.01, 2, 3, 3000, 10000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 101, 1, 1, 103, 1, 9, 150, 0.15, 0.01, 0.01, 0.01, 2, 3, 3000, 10000, 0.1, -6, 6, 25);" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [Numerics] VALUES (1, 1, 1, 1, 7, 1008, 1009, 1010, 1011.11, 1012.12, 1013.13, 1014.14, 1015, 3, 1016, 1017, 1018.18, 1019.19, 1020.2, 1021);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [VariableDatas];" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 101, 1, 1, 1, 4.4, 0, 0, NULL, NULL, NULL, 1, 0, 300);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 101, 1, 1, 8, 5.5, 0, 0, NULL, NULL, NULL, 1, 0, 300);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 101, 1, 1, 10, 0, 19, 6.6, 7.7, 17.7, 18.8, 1, 0, 300);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 101, 1, 1, 11, 0, 19, 8.8, 9.9, 19.9, 20, 1, 0, 300);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 101, 1, 1, 12, 10.1, 0, 0, NULL, NULL, NULL, 1, 0, 300);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 101, 1, 1, 17, 0, 4, 11.11, 12.12, NULL, NULL, 1, 0, 300);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 101, 1, 1, 120, 0, 19, 13.13, 14.14, 21.1, 22.2, 1, 0, 300);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 101, 1, 1, 123, 0, 19, 15.15, 16.16, 23.3, 24.4, 1, 0, 300);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [CalculationProfiles];" + Environment.NewLine + "INSERT INTO [CalculationProfiles] VALUES (1, 1, 1.1, 2.2, 3.3);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SectionFaultTreeModels];" + Environment.NewLine + "INSERT INTO [SectionFaultTreeModels] VALUES (1, 101, 1, 1, 1017);" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [SectionFaultTreeModels] VALUES (1, 1, 1, 1, 9);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [SectionSubMechanismModels];" + Environment.NewLine + "INSERT INTO [SectionSubMechanismModels] VALUES (1, 1, 1, 102, 94);" + Environment.NewLine + "INSERT INTO [SectionSubMechanismModels] VALUES (1, 1, 1, 103, 95);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Fetches];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [AreaPoints];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [PresentationSections];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Profiles];" + Environment.NewLine + "INSERT INTO [Profiles] VALUES (1, 1, 1.1, 2.2);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [ForelandModels];" + Environment.NewLine + "INSERT INTO [ForelandModels] VALUES (1, 101, 3);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Forelands];" + Environment.NewLine + "INSERT INTO [Forelands] VALUES (1, 1, 1.1, 2.2);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [ProbabilityAlternatives];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SetUpHeights];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [CalcWindDirections];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Swells];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [WaveReductions];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Areas];" + Environment.NewLine + "INSERT INTO [Areas] VALUES (1, '1', 'Nederland');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Projects];" + Environment.NewLine + "INSERT INTO [Projects] VALUES (1, 'WTI 2017', 'Ringtoets calculation');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Breakwaters];" + Environment.NewLine + "INSERT INTO [Breakwaters] VALUES (1, 1, 2.2);" + Environment.NewLine; string databaseFilePath = Path.Combine(hydraRingDirectory, "temp.db"); using (new FileDisposeHelper(databaseFilePath)) { // Call hydraRingConfigurationService.WriteDatabaseCreationScript(databaseFilePath); // Assert string creationScript = File.ReadAllText(databaseFilePath); Assert.AreEqual(expectedCreationScript, creationScript); } } [Test] public void WriteDatabaseCreationScript_HydraRingConfigurationWithDikeHeightCalculationInput_WritesExpectedCreationScript([Values(true, false)] bool runPreprocessor) { // Setup var hydraRingConfigurationService = new HydraRingConfigurationService(HydraRingUncertaintiesType.All); const int hydraulicBoundaryLocationId = 700004; const double sectionNormal = 3.3; const double norm = 1.0 / 1000; const double modelFactorCriticalOvertopping = 4.4; const double factorFbMean = 5.5; const double factorFbStandardDeviation = 6.6; const double factorFbLowerBoundary = 7.7; const double factorFbUpperBoundary = 8.8; const double factorFnMean = 9.9; const double factorFnStandardDeviation = 10.0; const double factorFnLowerBoundary = 11.1; const double factorFnUpperBoundary = 12.2; const double modelFactorOvertopping = 13.3; const double criticalOvertoppingMean = 14.4; const double criticalOvertoppingStandardDeviation = 15.5; const double modelFactorFrunupMean = 16.6; const double modelFactorFrunupStandardDeviation = 17.7; const double modelFactorFrunupLowerBoundary = 18.8; const double modelFactorFrunupUpperBoundary = 19.9; const double exponentModelFactorShallowMean = 20.0; const double exponentModelFactorShallowStandardDeviation = 21.1; const double exponentModelFactorShallowLowerBoundary = 22.2; const double exponentModelFactorShallowUpperBoundary = 23.3; var profilePoints = new List { new HydraRingRoughnessProfilePoint(1.1, 2.2, 3.3) }; var forelandPoints = new List { new HydraRingForelandPoint(1.1, 2.2) }; var breakWater = new HydraRingBreakWater(1, 2.2); var numericsSetting = new NumericsSetting(1, 9, 150, 0.15, 0.01, 0.01, 0.01, 2, 3000, 10000, 0.1, -6, 6, 25); hydraRingConfigurationService.AddHydraRingCalculationInput( new DikeHeightCalculationInput(hydraulicBoundaryLocationId, norm, sectionNormal, profilePoints, forelandPoints, breakWater, modelFactorCriticalOvertopping, factorFbMean, factorFbStandardDeviation, factorFbLowerBoundary, factorFbUpperBoundary, factorFnMean, factorFnStandardDeviation, factorFnLowerBoundary, factorFnUpperBoundary, modelFactorOvertopping, criticalOvertoppingMean, criticalOvertoppingStandardDeviation, modelFactorFrunupMean, modelFactorFrunupStandardDeviation, modelFactorFrunupLowerBoundary, modelFactorFrunupUpperBoundary, exponentModelFactorShallowMean, exponentModelFactorShallowStandardDeviation, exponentModelFactorShallowLowerBoundary, exponentModelFactorShallowUpperBoundary) { PreprocessorSetting = CreatePreprocessorSetting(runPreprocessor), DesignTablesSetting = new DesignTablesSetting(16.16, 17.17), NumericsSettings = new Dictionary { { 102, numericsSetting }, { 103, numericsSetting } }, TimeIntegrationSetting = new TimeIntegrationSetting(1) }); string expectedCreationScript = "DELETE FROM [HydraulicModels];" + Environment.NewLine + "INSERT INTO [HydraulicModels] VALUES (1, 1, 'WTI 2017');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Sections];" + Environment.NewLine + "INSERT INTO [Sections] VALUES (1, 1, 1, 1, 1, 0, 0, 0, 0, 700004, 700004, 100, 3.3, 0);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SectionCalculationSchemes];" + Environment.NewLine + "INSERT INTO [SectionCalculationSchemes] VALUES (1, 101, 1);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [DesignTables];" + Environment.NewLine + "INSERT INTO [DesignTables] VALUES (1, 101, 1, 1, 9, 1, 0, 0, 0, 0, 16.16, 17.17, 3.09023230616781);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [PreprocessorSettings];" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [PreprocessorSettings] VALUES (1, 1001.1, 1002.2);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [Numerics];" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 101, 1, 1, 102, 1, 9, 150, 0.15, 0.01, 0.01, 0.01, 2, 3, 3000, 10000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 101, 1, 1, 103, 1, 9, 150, 0.15, 0.01, 0.01, 0.01, 2, 3, 3000, 10000, 0.1, -6, 6, 25);" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [Numerics] VALUES (1, 1, 1, 1, 7, 1008, 1009, 1010, 1011.11, 1012.12, 1013.13, 1014.14, 1015, 3, 1016, 1017, 1018.18, 1019.19, 1020.2, 1021);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [VariableDatas];" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 101, 1, 1, 1, 0, 0, 0, NULL, NULL, NULL, 1, 0, 300);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 101, 1, 1, 8, 4.4, 0, 0, NULL, NULL, NULL, 1, 0, 300);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 101, 1, 1, 10, 0, 19, 5.5, 6.6, 7.7, 8.8, 1, 0, 300);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 101, 1, 1, 11, 0, 19, 9.9, 10, 11.1, 12.2, 1, 0, 300);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 101, 1, 1, 12, 13.3, 0, 0, NULL, NULL, NULL, 1, 0, 300);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 101, 1, 1, 17, 0, 4, 14.4, 15.5, NULL, NULL, 1, 0, 300);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 101, 1, 1, 120, 0, 19, 16.6, 17.7, 18.8, 19.9, 1, 0, 300);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 101, 1, 1, 123, 0, 19, 20, 21.1, 22.2, 23.3, 1, 0, 300);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [CalculationProfiles];" + Environment.NewLine + "INSERT INTO [CalculationProfiles] VALUES (1, 1, 1.1, 2.2, 3.3);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SectionFaultTreeModels];" + Environment.NewLine + "INSERT INTO [SectionFaultTreeModels] VALUES (1, 101, 1, 1, 1017);" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [SectionFaultTreeModels] VALUES (1, 1, 1, 1, 9);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [SectionSubMechanismModels];" + Environment.NewLine + "INSERT INTO [SectionSubMechanismModels] VALUES (1, 1, 1, 102, 94);" + Environment.NewLine + "INSERT INTO [SectionSubMechanismModels] VALUES (1, 1, 1, 103, 95);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Fetches];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [AreaPoints];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [PresentationSections];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Profiles];" + Environment.NewLine + "INSERT INTO [Profiles] VALUES (1, 1, 1.1, 2.2);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [ForelandModels];" + Environment.NewLine + "INSERT INTO [ForelandModels] VALUES (1, 101, 3);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Forelands];" + Environment.NewLine + "INSERT INTO [Forelands] VALUES (1, 1, 1.1, 2.2);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [ProbabilityAlternatives];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SetUpHeights];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [CalcWindDirections];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Swells];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [WaveReductions];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Areas];" + Environment.NewLine + "INSERT INTO [Areas] VALUES (1, '1', 'Nederland');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Projects];" + Environment.NewLine + "INSERT INTO [Projects] VALUES (1, 'WTI 2017', 'Ringtoets calculation');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Breakwaters];" + Environment.NewLine + "INSERT INTO [Breakwaters] VALUES (1, 1, 2.2);" + Environment.NewLine; string databaseFilePath = Path.Combine(hydraRingDirectory, "temp.db"); using (new FileDisposeHelper(databaseFilePath)) { // Call hydraRingConfigurationService.WriteDatabaseCreationScript(databaseFilePath); // Assert string creationScript = File.ReadAllText(databaseFilePath); Assert.AreEqual(expectedCreationScript, creationScript); } } [Test] public void WriteDatabaseCreationScript_HydraRingConfigurationWithOvertoppingRateCalculationInput_WritesExpectedCreationScript([Values(true, false)] bool runPreprocessor) { // Setup var hydraRingConfigurationService = new HydraRingConfigurationService(HydraRingUncertaintiesType.All); const int hydraulicBoundaryLocationId = 700004; const double sectionNormal = 3.3; const double norm = 1.0 / 1000; const double dikeHeight = 4.4; const double modelFactorCriticalOvertopping = 5.5; const double factorFbMean = 6.6; const double factorFbStandardDeviation = 7.7; const double factorFbLowerBoundary = 8.8; const double factorFbUpperBoundary = 9.9; const double factorFnMean = 10.0; const double factorFnStandardDeviation = 11.1; const double factorFnLowerBoundary = 12.2; const double factorFnUpperBoundary = 13.3; const double modelFactorOvertopping = 14.4; const double modelFactorFrunupMean = 15.5; const double modelFactorFrunupStandardDeviation = 16.6; const double modelFactorFrunupLowerBoundary = 17.7; const double modelFactorFrunupUpperBoundary = 18.8; const double exponentModelFactorShallowMean = 19.9; const double exponentModelFactorShallowStandardDeviation = 20.0; const double exponentModelFactorShallowLowerBoundary = 21.1; const double exponentModelFactorShallowUpperBoundary = 22.2; var profilePoints = new List { new HydraRingRoughnessProfilePoint(1.1, 2.2, 3.3) }; var forelandPoints = new List { new HydraRingForelandPoint(1.1, 2.2) }; var breakWater = new HydraRingBreakWater(1, 2.2); var numericsSetting = new NumericsSetting(1, 9, 150, 0.15, 0.01, 0.01, 0.01, 2, 3000, 10000, 0.1, -6, 6, 25); hydraRingConfigurationService.AddHydraRingCalculationInput( new OvertoppingRateCalculationInput(hydraulicBoundaryLocationId, norm, sectionNormal, profilePoints, forelandPoints, breakWater, dikeHeight, modelFactorCriticalOvertopping, factorFbMean, factorFbStandardDeviation, factorFbLowerBoundary, factorFbUpperBoundary, factorFnMean, factorFnStandardDeviation, factorFnLowerBoundary, factorFnUpperBoundary, modelFactorOvertopping, modelFactorFrunupMean, modelFactorFrunupStandardDeviation, modelFactorFrunupLowerBoundary, modelFactorFrunupUpperBoundary, exponentModelFactorShallowMean, exponentModelFactorShallowStandardDeviation, exponentModelFactorShallowLowerBoundary, exponentModelFactorShallowUpperBoundary) { PreprocessorSetting = CreatePreprocessorSetting(runPreprocessor), DesignTablesSetting = new DesignTablesSetting(15.15, 16.16), NumericsSettings = new Dictionary { { 102, numericsSetting }, { 103, numericsSetting } }, TimeIntegrationSetting = new TimeIntegrationSetting(1) }); string expectedCreationScript = "DELETE FROM [HydraulicModels];" + Environment.NewLine + "INSERT INTO [HydraulicModels] VALUES (1, 1, 'WTI 2017');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Sections];" + Environment.NewLine + "INSERT INTO [Sections] VALUES (1, 1, 1, 1, 1, 0, 0, 0, 0, 700004, 700004, 100, 3.3, 0);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SectionCalculationSchemes];" + Environment.NewLine + "INSERT INTO [SectionCalculationSchemes] VALUES (1, 101, 1);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [DesignTables];" + Environment.NewLine + "INSERT INTO [DesignTables] VALUES (1, 101, 1, 1, 2, 17, 0, 0, 0, 0, 15.15, 16.16, 3.09023230616781);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [PreprocessorSettings];" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [PreprocessorSettings] VALUES (1, 1001.1, 1002.2);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [Numerics];" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 101, 1, 1, 102, 1, 9, 150, 0.15, 0.01, 0.01, 0.01, 2, 3, 3000, 10000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 101, 1, 1, 103, 1, 9, 150, 0.15, 0.01, 0.01, 0.01, 2, 3, 3000, 10000, 0.1, -6, 6, 25);" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [Numerics] VALUES (1, 1, 1, 1, 7, 1008, 1009, 1010, 1011.11, 1012.12, 1013.13, 1014.14, 1015, 3, 1016, 1017, 1018.18, 1019.19, 1020.2, 1021);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [VariableDatas];" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 101, 1, 1, 1, 4.4, 0, 0, NULL, NULL, NULL, 1, 0, 300);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 101, 1, 1, 8, 5.5, 0, 0, NULL, NULL, NULL, 1, 0, 300);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 101, 1, 1, 10, 0, 19, 6.6, 7.7, 8.8, 9.9, 1, 0, 300);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 101, 1, 1, 11, 0, 19, 10, 11.1, 12.2, 13.3, 1, 0, 300);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 101, 1, 1, 12, 14.4, 0, 0, NULL, NULL, NULL, 1, 0, 300);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 101, 1, 1, 17, 0, 0, 0, NULL, NULL, NULL, 1, 0, 300);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 101, 1, 1, 120, 0, 19, 15.5, 16.6, 17.7, 18.8, 1, 0, 300);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 101, 1, 1, 123, 0, 19, 19.9, 20, 21.1, 22.2, 1, 0, 300);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [CalculationProfiles];" + Environment.NewLine + "INSERT INTO [CalculationProfiles] VALUES (1, 1, 1.1, 2.2, 3.3);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SectionFaultTreeModels];" + Environment.NewLine + "INSERT INTO [SectionFaultTreeModels] VALUES (1, 101, 1, 1, 1017);" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [SectionFaultTreeModels] VALUES (1, 1, 1, 1, 9);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [SectionSubMechanismModels];" + Environment.NewLine + "INSERT INTO [SectionSubMechanismModels] VALUES (1, 1, 1, 102, 94);" + Environment.NewLine + "INSERT INTO [SectionSubMechanismModels] VALUES (1, 1, 1, 103, 95);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Fetches];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [AreaPoints];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [PresentationSections];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Profiles];" + Environment.NewLine + "INSERT INTO [Profiles] VALUES (1, 1, 1.1, 2.2);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [ForelandModels];" + Environment.NewLine + "INSERT INTO [ForelandModels] VALUES (1, 101, 3);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Forelands];" + Environment.NewLine + "INSERT INTO [Forelands] VALUES (1, 1, 1.1, 2.2);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [ProbabilityAlternatives];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SetUpHeights];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [CalcWindDirections];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Swells];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [WaveReductions];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Areas];" + Environment.NewLine + "INSERT INTO [Areas] VALUES (1, '1', 'Nederland');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Projects];" + Environment.NewLine + "INSERT INTO [Projects] VALUES (1, 'WTI 2017', 'Ringtoets calculation');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Breakwaters];" + Environment.NewLine + "INSERT INTO [Breakwaters] VALUES (1, 1, 2.2);" + Environment.NewLine; string databaseFilePath = Path.Combine(hydraRingDirectory, "temp.db"); using (new FileDisposeHelper(databaseFilePath)) { // Call hydraRingConfigurationService.WriteDatabaseCreationScript(databaseFilePath); // Assert string creationScript = File.ReadAllText(databaseFilePath); Assert.AreEqual(expectedCreationScript, creationScript); } } [Test] public void WriteDatabaseCreationScript_HydraRingConfigurationWithStructuresOvertoppingCalculationInput_WritesExpectedCreationScript([Values(true, false)] bool runPreprocessor) { // Setup var hydraRingConfigurationService = new HydraRingConfigurationService(HydraRingUncertaintiesType.All); const int hydraulicBoundaryLocationId = 700004; const double sectionNormal = 3.3; var forelandPoints = new List { new HydraRingForelandPoint(1.1, 2.2) }; var breakWater = new HydraRingBreakWater(1, 2.2); var numericsSetting = new NumericsSetting(11, 4, 150, 0.15, 0.005, 0.005, 0.005, 2, 10000, 40000, 0.1, -6, 6, 25); const double gravitationalAcceleration = 4.4; const double modelFactorOvertoppingMean = 5.5; const double modelFactorOvertoppingStandardDeviation = 6.6; const double levelCrestStructureMean = 7.7; const double levelCrestStructureStandardDeviation = 8.8; const double structureNormalOrientation = 9.9; const double modelFactorSuperCriticalFlowMean = 10.10; const double modelFactorSuperCriticalFlowStandardDeviation = 11.11; const double allowedLevelIncreaseStorageMean = 12.12; const double allowedLevelIncreaseStorageStandardDeviation = 13.13; const double modelFactorStorageVolumeMean = 14.14; const double modelFactorStorageVolumeStandardDeviation = 15.15; const double storageStructureAreaMean = 16.16; const double storageStructureAreaVariation = 17.17; const double modelFactorInflowVolume = 18.18; const double flowWidthAtBottomProtectionMean = 19.19; const double flowWidthAtBottomProtectionStandardDeviation = 20.20; const double criticalOvertoppingDischargeMean = 21.21; const double criticalOvertoppingDischargeVariation = 22.22; const double failureProbabilityStructureWithErosion = 23.23; const double widthFlowAperturesMean = 24.24; const double widthFlowAperturesStandardDeviation = 25.25; const double deviationWaveDirection = 26.26; const double stormDurationMean = 27.27; const double stormDurationVariation = 28.28; hydraRingConfigurationService.AddHydraRingCalculationInput(new StructuresOvertoppingCalculationInput(hydraulicBoundaryLocationId, sectionNormal, forelandPoints, breakWater, gravitationalAcceleration, modelFactorOvertoppingMean, modelFactorOvertoppingStandardDeviation, levelCrestStructureMean, levelCrestStructureStandardDeviation, structureNormalOrientation, modelFactorSuperCriticalFlowMean, modelFactorSuperCriticalFlowStandardDeviation, allowedLevelIncreaseStorageMean, allowedLevelIncreaseStorageStandardDeviation, modelFactorStorageVolumeMean, modelFactorStorageVolumeStandardDeviation, storageStructureAreaMean, storageStructureAreaVariation, modelFactorInflowVolume, flowWidthAtBottomProtectionMean, flowWidthAtBottomProtectionStandardDeviation, criticalOvertoppingDischargeMean, criticalOvertoppingDischargeVariation, failureProbabilityStructureWithErosion, widthFlowAperturesMean, widthFlowAperturesStandardDeviation, deviationWaveDirection, stormDurationMean, stormDurationVariation) { PreprocessorSetting = CreatePreprocessorSetting(runPreprocessor), DesignTablesSetting = new DesignTablesSetting(0, 0), NumericsSettings = new Dictionary { { 421, numericsSetting }, { 422, numericsSetting }, { 423, numericsSetting } }, TimeIntegrationSetting = new TimeIntegrationSetting(1) }); string expectedCreationScript = "DELETE FROM [HydraulicModels];" + Environment.NewLine + "INSERT INTO [HydraulicModels] VALUES (1, 1, 'WTI 2017');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Sections];" + Environment.NewLine + "INSERT INTO [Sections] VALUES (1, 1, 1, 1, 1, 0, 0, 0, 0, 700004, 700004, 100, 3.3, 0);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SectionCalculationSchemes];" + Environment.NewLine + "INSERT INTO [SectionCalculationSchemes] VALUES (1, 110, 1);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [DesignTables];" + Environment.NewLine + "INSERT INTO [DesignTables] VALUES (1, 110, 1, 1, 1, 60, 0, 0, 0, 0, 0, 0, 0);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [PreprocessorSettings];" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [PreprocessorSettings] VALUES (1, 1001.1, 1002.2);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [Numerics];" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 110, 1, 1, 421, 11, 4, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 110, 1, 1, 422, 11, 4, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 110, 1, 1, 423, 11, 4, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [Numerics] VALUES (1, 1, 1, 1, 7, 1008, 1009, 1010, 1011.11, 1012.12, 1013.13, 1014.14, 1015, 3, 1016, 1017, 1018.18, 1019.19, 1020.2, 1021);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [VariableDatas];" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 110, 1, 1, 58, 4.4, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 110, 1, 1, 59, 0, 4, 5.5, 6.6, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 110, 1, 1, 60, 0, 2, 7.7, 8.8, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 110, 1, 1, 61, 9.9, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 110, 1, 1, 62, 0, 2, 10.1, 11.11, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 110, 1, 1, 94, 0, 4, 12.12, 13.13, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 110, 1, 1, 95, 0, 4, 14.14, 15.15, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 110, 1, 1, 96, 0, 4, 16.16, NULL, NULL, NULL, 0, 17.17, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 110, 1, 1, 97, 18.18, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 110, 1, 1, 103, 0, 4, 19.19, 20.2, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 110, 1, 1, 104, 0, 4, 21.21, NULL, NULL, NULL, 0, 22.22, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 110, 1, 1, 105, 23.23, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 110, 1, 1, 106, 0, 2, 24.24, 25.25, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 110, 1, 1, 107, 26.26, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 110, 1, 1, 108, 0, 4, 27.27, NULL, NULL, NULL, 0, 28.28, 999999);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [CalculationProfiles];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SectionFaultTreeModels];" + Environment.NewLine + "INSERT INTO [SectionFaultTreeModels] VALUES (1, 110, 1, 1, 4404);" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [SectionFaultTreeModels] VALUES (1, 1, 1, 1, 9);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [SectionSubMechanismModels];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Fetches];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [AreaPoints];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [PresentationSections];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Profiles];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [ForelandModels];" + Environment.NewLine + "INSERT INTO [ForelandModels] VALUES (1, 110, 3);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Forelands];" + Environment.NewLine + "INSERT INTO [Forelands] VALUES (1, 1, 1.1, 2.2);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [ProbabilityAlternatives];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SetUpHeights];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [CalcWindDirections];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Swells];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [WaveReductions];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Areas];" + Environment.NewLine + "INSERT INTO [Areas] VALUES (1, '1', 'Nederland');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Projects];" + Environment.NewLine + "INSERT INTO [Projects] VALUES (1, 'WTI 2017', 'Ringtoets calculation');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Breakwaters];" + Environment.NewLine + "INSERT INTO [Breakwaters] VALUES (1, 1, 2.2);" + Environment.NewLine; string databaseFilePath = Path.Combine(hydraRingDirectory, "temp.db"); using (new FileDisposeHelper(databaseFilePath)) { // Call hydraRingConfigurationService.WriteDatabaseCreationScript(databaseFilePath); // Assert string creationScript = File.ReadAllText(databaseFilePath); Assert.AreEqual(expectedCreationScript, creationScript); } } [Test] public void WriteDatabaseCreationScript_HydraRingConfigurationWithWaveConditionsCosineCalculationInput_WritesExpectedCreationScript([Values(true, false)] bool runPreprocessor) { // Setup var hydraRingConfigurationService = new HydraRingConfigurationService(HydraRingUncertaintiesType.All); const int hydraulicBoundaryLocationId = 700004; var forelandPoints = new List { new HydraRingForelandPoint(1.1, 2.2) }; var breakWater = new HydraRingBreakWater(1, 2.2); hydraRingConfigurationService.AddHydraRingCalculationInput( new WaveConditionsCosineCalculationInput(1, 56.23, hydraulicBoundaryLocationId, 1.0 / 10000, forelandPoints, breakWater, 3.3, 4.4, 5.5, 6.6) { PreprocessorSetting = CreatePreprocessorSetting(runPreprocessor), DesignTablesSetting = new DesignTablesSetting(7.7, 8.8), NumericsSettings = new Dictionary { { 5, new NumericsSetting(4, 1, 50, 0.15, 0.01, 0.01, 0.01, 2, 3000, 10000, 0.1, -6, 6, 25) } }, TimeIntegrationSetting = new TimeIntegrationSetting(1) }); string expectedCreationScript = "DELETE FROM [HydraulicModels];" + Environment.NewLine + "INSERT INTO [HydraulicModels] VALUES (1, 1, 'WTI 2017');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Sections];" + Environment.NewLine + "INSERT INTO [Sections] VALUES (1, 1, 1, 1, 1, 0, 0, 0, 0, 700004, 700004, 100, 56.23, 0);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SectionCalculationSchemes];" + Environment.NewLine + "INSERT INTO [SectionCalculationSchemes] VALUES (1, 3, 1);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [DesignTables];" + Environment.NewLine + "INSERT INTO [DesignTables] VALUES (1, 3, 1, 1, 8, 114, 0, 0, 0, 0, 7.7, 8.8, 3.71901648545571);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [PreprocessorSettings];" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [PreprocessorSettings] VALUES (1, 1001.1, 1002.2);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [Numerics];" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 3, 1, 1, 5, 4, 1, 50, 0.15, 0.01, 0.01, 0.01, 2, 3, 3000, 10000, 0.1, -6, 6, 25);" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [Numerics] VALUES (1, 4, 1, 1, 7, 1008, 1009, 1010, 1011.11, 1012.12, 1013.13, 1014.14, 1015, 3, 1016, 1017, 1018.18, 1019.19, 1020.2, 1021);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [VariableDatas];" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 3, 1, 1, 113, 3.3, 0, 0, NULL, NULL, NULL, 1, 0, 300);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 3, 1, 1, 114, 1, 0, 0, NULL, NULL, NULL, 1, 0, 300);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 3, 1, 1, 115, 4.4, 0, 0, NULL, NULL, NULL, 1, 0, 300);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 3, 1, 1, 116, 5.5, 0, 0, NULL, NULL, NULL, 1, 0, 300);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 3, 1, 1, 119, 6.6, 0, 0, NULL, NULL, NULL, 1, 0, 300);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [CalculationProfiles];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SectionFaultTreeModels];" + Environment.NewLine + "INSERT INTO [SectionFaultTreeModels] VALUES (1, 3, 1, 1, 6);" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [SectionFaultTreeModels] VALUES (1, 4, 1, 1, 10);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [SectionSubMechanismModels];" + Environment.NewLine + "INSERT INTO [SectionSubMechanismModels] VALUES (1, 1, 1, 5, 71);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Fetches];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [AreaPoints];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [PresentationSections];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Profiles];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [ForelandModels];" + Environment.NewLine + "INSERT INTO [ForelandModels] VALUES (1, 3, 3);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Forelands];" + Environment.NewLine + "INSERT INTO [Forelands] VALUES (1, 1, 1.1, 2.2);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [ProbabilityAlternatives];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SetUpHeights];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [CalcWindDirections];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Swells];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [WaveReductions];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Areas];" + Environment.NewLine + "INSERT INTO [Areas] VALUES (1, '1', 'Nederland');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Projects];" + Environment.NewLine + "INSERT INTO [Projects] VALUES (1, 'WTI 2017', 'Ringtoets calculation');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Breakwaters];" + Environment.NewLine + "INSERT INTO [Breakwaters] VALUES (1, 1, 2.2);" + Environment.NewLine; string databaseFilePath = Path.Combine(hydraRingDirectory, "temp.db"); using (new FileDisposeHelper(databaseFilePath)) { // Call hydraRingConfigurationService.WriteDatabaseCreationScript(databaseFilePath); // Assert string creationScript = File.ReadAllText(databaseFilePath); Assert.AreEqual(expectedCreationScript, creationScript); } } [Test] public void WriteDatabaseCreationScript_HydraRingConfigurationWithWaveConditionsTrapezoidCalculationInput_WritesExpectedCreationScript([Values(true, false)] bool runPreprocessor) { // Setup var hydraRingConfigurationService = new HydraRingConfigurationService(HydraRingUncertaintiesType.All); const int hydraulicBoundaryLocationId = 700004; var forelandPoints = new List { new HydraRingForelandPoint(1.1, 2.2) }; var breakWater = new HydraRingBreakWater(1, 2.2); hydraRingConfigurationService.AddHydraRingCalculationInput( new WaveConditionsTrapezoidCalculationInput(1, 86.48, hydraulicBoundaryLocationId, 1.0 / 10000, forelandPoints, breakWater, 3.3, 4.4, 5.5, 6.6, 7.7) { PreprocessorSetting = CreatePreprocessorSetting(runPreprocessor), DesignTablesSetting = new DesignTablesSetting(8.8, 9.9), NumericsSettings = new Dictionary { { 5, new NumericsSetting(4, 1, 50, 0.15, 0.01, 0.01, 0.01, 2, 3000, 10000, 0.1, -6, 6, 25) } }, TimeIntegrationSetting = new TimeIntegrationSetting(1) }); string expectedCreationScript = "DELETE FROM [HydraulicModels];" + Environment.NewLine + "INSERT INTO [HydraulicModels] VALUES (1, 1, 'WTI 2017');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Sections];" + Environment.NewLine + "INSERT INTO [Sections] VALUES (1, 1, 1, 1, 1, 0, 0, 0, 0, 700004, 700004, 100, 86.48, 0);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SectionCalculationSchemes];" + Environment.NewLine + "INSERT INTO [SectionCalculationSchemes] VALUES (1, 3, 1);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [DesignTables];" + Environment.NewLine + "INSERT INTO [DesignTables] VALUES (1, 3, 1, 1, 8, 114, 0, 0, 0, 0, 8.8, 9.9, 3.71901648545571);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [PreprocessorSettings];" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [PreprocessorSettings] VALUES (1, 1001.1, 1002.2);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [Numerics];" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 3, 1, 1, 5, 4, 1, 50, 0.15, 0.01, 0.01, 0.01, 2, 3, 3000, 10000, 0.1, -6, 6, 25);" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [Numerics] VALUES (1, 4, 1, 1, 7, 1008, 1009, 1010, 1011.11, 1012.12, 1013.13, 1014.14, 1015, 3, 1016, 1017, 1018.18, 1019.19, 1020.2, 1021);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [VariableDatas];" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 3, 1, 1, 113, 3.3, 0, 0, NULL, NULL, NULL, 1, 0, 300);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 3, 1, 1, 114, 1, 0, 0, NULL, NULL, NULL, 1, 0, 300);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 3, 1, 1, 115, 4.4, 0, 0, NULL, NULL, NULL, 1, 0, 300);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 3, 1, 1, 116, 5.5, 0, 0, NULL, NULL, NULL, 1, 0, 300);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 3, 1, 1, 117, 6.6, 0, 0, NULL, NULL, NULL, 1, 0, 300);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 3, 1, 1, 118, 7.7, 0, 0, NULL, NULL, NULL, 1, 0, 300);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [CalculationProfiles];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SectionFaultTreeModels];" + Environment.NewLine + "INSERT INTO [SectionFaultTreeModels] VALUES (1, 3, 1, 1, 6);" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [SectionFaultTreeModels] VALUES (1, 4, 1, 1, 10);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [SectionSubMechanismModels];" + Environment.NewLine + "INSERT INTO [SectionSubMechanismModels] VALUES (1, 1, 1, 5, 70);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Fetches];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [AreaPoints];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [PresentationSections];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Profiles];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [ForelandModels];" + Environment.NewLine + "INSERT INTO [ForelandModels] VALUES (1, 3, 3);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Forelands];" + Environment.NewLine + "INSERT INTO [Forelands] VALUES (1, 1, 1.1, 2.2);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [ProbabilityAlternatives];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SetUpHeights];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [CalcWindDirections];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Swells];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [WaveReductions];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Areas];" + Environment.NewLine + "INSERT INTO [Areas] VALUES (1, '1', 'Nederland');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Projects];" + Environment.NewLine + "INSERT INTO [Projects] VALUES (1, 'WTI 2017', 'Ringtoets calculation');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Breakwaters];" + Environment.NewLine + "INSERT INTO [Breakwaters] VALUES (1, 1, 2.2);" + Environment.NewLine; string databaseFilePath = Path.Combine(hydraRingDirectory, "temp.db"); using (new FileDisposeHelper(databaseFilePath)) { // Call hydraRingConfigurationService.WriteDatabaseCreationScript(databaseFilePath); // Assert string creationScript = File.ReadAllText(databaseFilePath); Assert.AreEqual(expectedCreationScript, creationScript); } } [Test] public void WriteDatabaseCreationScript_HydraRingConfigurationWithStructuresClosureFloodedCulvertCalculationInput_WritesExpectedCreationScript([Values(true, false)] bool runPreprocessor) { // Setup var hydraRingConfigurationService = new HydraRingConfigurationService(HydraRingUncertaintiesType.All); const int hydraulicBoundaryLocationId = 700004; const double sectionNormal = 3.3; var forelandPoints = new List { new HydraRingForelandPoint(1.1, 2.2) }; var breakWater = new HydraRingBreakWater(1, 2.2); hydraRingConfigurationService.AddHydraRingCalculationInput( new StructuresClosureFloodedCulvertCalculationInput(hydraulicBoundaryLocationId, sectionNormal, forelandPoints, breakWater, 1.1, 2.2, 3.3, 4.4, 5, 6.6, 7.7, 8.8, 9.9, 10.0, 11.1, 12.2, 13.3, 14.4, 15.5, 16.6, 17.7, 18.8, 19.9, 20.0, 21.1, 22.2, 23.3, 24.4, 25.5, 26.6) { PreprocessorSetting = CreatePreprocessorSetting(runPreprocessor), DesignTablesSetting = new DesignTablesSetting(0, 0), NumericsSettings = CreateStructuresClosureNumericsSettings(), TimeIntegrationSetting = new TimeIntegrationSetting(1) }); string expectedCreationScript = "DELETE FROM [HydraulicModels];" + Environment.NewLine + "INSERT INTO [HydraulicModels] VALUES (1, 1, 'WTI 2017');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Sections];" + Environment.NewLine + "INSERT INTO [Sections] VALUES (1, 1, 1, 1, 1, 0, 0, 0, 0, 700004, 700004, 100, 3.3, 0);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SectionCalculationSchemes];" + Environment.NewLine + "INSERT INTO [SectionCalculationSchemes] VALUES (1, 111, 1);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [DesignTables];" + Environment.NewLine + "INSERT INTO [DesignTables] VALUES (1, 111, 1, 1, 1, 58, 0, 0, 0, 0, 0, 0, 0);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [PreprocessorSettings];" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [PreprocessorSettings] VALUES (1, 1001.1, 1002.2);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [Numerics];" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 111, 1, 1, 422, 1, 1, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 111, 1, 1, 424, 11, 4, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 111, 1, 1, 425, 11, 4, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 111, 1, 1, 426, 1, 1, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 111, 1, 1, 427, 1, 1, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [Numerics] VALUES (1, 1, 1, 1, 7, 1008, 1009, 1010, 1011.11, 1012.12, 1013.13, 1014.14, 1015, 3, 1016, 1017, 1018.18, 1019.19, 1020.2, 1021);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [VariableDatas];" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 58, 1.1, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 63, 2.2, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 66, 0, 2, 21.1, 22.2, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 67, 0, 4, 23.3, 24.4, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 68, 3.3, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 69, 4.4, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 71, 5, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 93, 0, 2, 25.5, 26.6, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 94, 0, 4, 6.6, 7.7, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 95, 0, 4, 8.8, 9.9, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 96, 0, 4, 10, NULL, NULL, NULL, 0, 11.1, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 97, 12.2, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 103, 0, 4, 13.3, 14.4, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 104, 0, 4, 15.5, NULL, NULL, NULL, 0, 16.6, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 105, 17.7, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 108, 0, 4, 18.8, NULL, NULL, NULL, 0, 19.9, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 129, 20, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [CalculationProfiles];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SectionFaultTreeModels];" + Environment.NewLine + "INSERT INTO [SectionFaultTreeModels] VALUES (1, 111, 1, 1, 4505);" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [SectionFaultTreeModels] VALUES (1, 1, 1, 1, 9);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [SectionSubMechanismModels];" + Environment.NewLine + "INSERT INTO [SectionSubMechanismModels] VALUES (1, 1, 1, 424, 107);" + Environment.NewLine + "INSERT INTO [SectionSubMechanismModels] VALUES (1, 1, 1, 425, 113);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Fetches];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [AreaPoints];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [PresentationSections];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Profiles];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [ForelandModels];" + Environment.NewLine + "INSERT INTO [ForelandModels] VALUES (1, 111, 3);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Forelands];" + Environment.NewLine + "INSERT INTO [Forelands] VALUES (1, 1, 1.1, 2.2);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [ProbabilityAlternatives];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SetUpHeights];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [CalcWindDirections];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Swells];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [WaveReductions];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Areas];" + Environment.NewLine + "INSERT INTO [Areas] VALUES (1, '1', 'Nederland');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Projects];" + Environment.NewLine + "INSERT INTO [Projects] VALUES (1, 'WTI 2017', 'Ringtoets calculation');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Breakwaters];" + Environment.NewLine + "INSERT INTO [Breakwaters] VALUES (1, 1, 2.2);" + Environment.NewLine; string databaseFilePath = Path.Combine(hydraRingDirectory, "temp.db"); using (new FileDisposeHelper(databaseFilePath)) { // Call hydraRingConfigurationService.WriteDatabaseCreationScript(databaseFilePath); // Assert string creationScript = File.ReadAllText(databaseFilePath); Assert.AreEqual(expectedCreationScript, creationScript); } } [Test] public void WriteDatabaseCreationScript_HydraRingConfigurationWithStructuresClosureLowSillCalculationInput_WritesExpectedCreationScript([Values(true, false)] bool runPreprocessor) { // Setup var hydraRingConfigurationService = new HydraRingConfigurationService(HydraRingUncertaintiesType.All); const int hydraulicBoundaryLocationId = 700004; const double sectionNormal = 3.3; var forelandPoints = new List { new HydraRingForelandPoint(1.1, 2.2) }; var breakWater = new HydraRingBreakWater(1, 2.2); hydraRingConfigurationService.AddHydraRingCalculationInput( new StructuresClosureLowSillCalculationInput(hydraulicBoundaryLocationId, sectionNormal, forelandPoints, breakWater, 1.1, 2.2, 3.3, 4.4, 5, 6.6, 7.7, 8.8, 9.9, 10.0, 11.1, 12.2, 13.3, 14.4, 15.5, 16.6, 17.7, 18.8, 19.9, 20.0, 21.1, 22.2, 23.3, 24.4, 25.5, 26.6, 27.7, 28.8) { PreprocessorSetting = CreatePreprocessorSetting(runPreprocessor), DesignTablesSetting = new DesignTablesSetting(0, 0), NumericsSettings = CreateStructuresClosureNumericsSettings(), TimeIntegrationSetting = new TimeIntegrationSetting(1) }); string expectedCreationScript = "DELETE FROM [HydraulicModels];" + Environment.NewLine + "INSERT INTO [HydraulicModels] VALUES (1, 1, 'WTI 2017');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Sections];" + Environment.NewLine + "INSERT INTO [Sections] VALUES (1, 1, 1, 1, 1, 0, 0, 0, 0, 700004, 700004, 100, 3.3, 0);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SectionCalculationSchemes];" + Environment.NewLine + "INSERT INTO [SectionCalculationSchemes] VALUES (1, 111, 1);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [DesignTables];" + Environment.NewLine + "INSERT INTO [DesignTables] VALUES (1, 111, 1, 1, 1, 58, 0, 0, 0, 0, 0, 0, 0);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [PreprocessorSettings];" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [PreprocessorSettings] VALUES (1, 1001.1, 1002.2);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [Numerics];" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 111, 1, 1, 422, 1, 1, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 111, 1, 1, 424, 11, 4, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 111, 1, 1, 425, 11, 4, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 111, 1, 1, 426, 1, 1, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 111, 1, 1, 427, 1, 1, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [Numerics] VALUES (1, 1, 1, 1, 7, 1008, 1009, 1010, 1011.11, 1012.12, 1013.13, 1014.14, 1015, 3, 1016, 1017, 1018.18, 1019.19, 1020.2, 1021);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [VariableDatas];" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 58, 1.1, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 62, 0, 2, 21.1, 22.2, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 63, 2.2, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 65, 0, 2, 23.3, 24.4, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 68, 3.3, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 69, 4.4, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 71, 5, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 93, 0, 2, 25.5, 26.6, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 94, 0, 4, 6.6, 7.7, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 95, 0, 4, 8.8, 9.9, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 96, 0, 4, 10, NULL, NULL, NULL, 0, 11.1, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 97, 12.2, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 103, 0, 4, 13.3, 14.4, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 104, 0, 4, 15.5, NULL, NULL, NULL, 0, 16.6, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 105, 17.7, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 106, 0, 2, 27.7, 28.8, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 108, 0, 4, 18.8, NULL, NULL, NULL, 0, 19.9, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 129, 20, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [CalculationProfiles];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SectionFaultTreeModels];" + Environment.NewLine + "INSERT INTO [SectionFaultTreeModels] VALUES (1, 111, 1, 1, 4505);" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [SectionFaultTreeModels] VALUES (1, 1, 1, 1, 9);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [SectionSubMechanismModels];" + Environment.NewLine + "INSERT INTO [SectionSubMechanismModels] VALUES (1, 1, 1, 424, 106);" + Environment.NewLine + "INSERT INTO [SectionSubMechanismModels] VALUES (1, 1, 1, 425, 111);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Fetches];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [AreaPoints];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [PresentationSections];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Profiles];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [ForelandModels];" + Environment.NewLine + "INSERT INTO [ForelandModels] VALUES (1, 111, 3);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Forelands];" + Environment.NewLine + "INSERT INTO [Forelands] VALUES (1, 1, 1.1, 2.2);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [ProbabilityAlternatives];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SetUpHeights];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [CalcWindDirections];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Swells];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [WaveReductions];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Areas];" + Environment.NewLine + "INSERT INTO [Areas] VALUES (1, '1', 'Nederland');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Projects];" + Environment.NewLine + "INSERT INTO [Projects] VALUES (1, 'WTI 2017', 'Ringtoets calculation');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Breakwaters];" + Environment.NewLine + "INSERT INTO [Breakwaters] VALUES (1, 1, 2.2);" + Environment.NewLine; string databaseFilePath = Path.Combine(hydraRingDirectory, "temp.db"); using (new FileDisposeHelper(databaseFilePath)) { // Call hydraRingConfigurationService.WriteDatabaseCreationScript(databaseFilePath); // Assert string creationScript = File.ReadAllText(databaseFilePath); Assert.AreEqual(expectedCreationScript, creationScript); } } [Test] public void WriteDatabaseCreationScript_HydraRingConfigurationWithStructuresClosureVerticalWallCalculationInput_WritesExpectedCreationScript([Values(true, false)] bool runPreprocessor) { // Setup var hydraRingConfigurationService = new HydraRingConfigurationService(HydraRingUncertaintiesType.All); const int hydraulicBoundaryLocationId = 700004; const double sectionNormal = 3.3; var forelandPoints = new List { new HydraRingForelandPoint(1.1, 2.2) }; var breakWater = new HydraRingBreakWater(1, 2.2); hydraRingConfigurationService.AddHydraRingCalculationInput( new StructuresClosureVerticalWallCalculationInput(hydraulicBoundaryLocationId, sectionNormal, forelandPoints, breakWater, 1.1, 2.2, 3.3, 4.4, 5, 6.6, 7.7, 8.8, 9.9, 10.0, 11.1, 12.2, 13.3, 14.4, 15.5, 16.6, 17.7, 18.8, 19.9, 20.0, 21.1, 22.2, 23.3, 24.4, 25.5, 26.6, 27.7, 28.8, 29.9, 30.0) { PreprocessorSetting = CreatePreprocessorSetting(runPreprocessor), DesignTablesSetting = new DesignTablesSetting(0, 0), NumericsSettings = CreateStructuresClosureNumericsSettings(), TimeIntegrationSetting = new TimeIntegrationSetting(1) }); string expectedCreationScript = "DELETE FROM [HydraulicModels];" + Environment.NewLine + "INSERT INTO [HydraulicModels] VALUES (1, 1, 'WTI 2017');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Sections];" + Environment.NewLine + "INSERT INTO [Sections] VALUES (1, 1, 1, 1, 1, 0, 0, 0, 0, 700004, 700004, 100, 3.3, 0);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SectionCalculationSchemes];" + Environment.NewLine + "INSERT INTO [SectionCalculationSchemes] VALUES (1, 111, 1);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [DesignTables];" + Environment.NewLine + "INSERT INTO [DesignTables] VALUES (1, 111, 1, 1, 1, 58, 0, 0, 0, 0, 0, 0, 0);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [PreprocessorSettings];" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [PreprocessorSettings] VALUES (1, 1001.1, 1002.2);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [Numerics];" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 111, 1, 1, 422, 1, 1, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 111, 1, 1, 424, 11, 4, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 111, 1, 1, 425, 11, 4, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 111, 1, 1, 426, 1, 1, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 111, 1, 1, 427, 1, 1, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [Numerics] VALUES (1, 1, 1, 1, 7, 1008, 1009, 1010, 1011.11, 1012.12, 1013.13, 1014.14, 1015, 3, 1016, 1017, 1018.18, 1019.19, 1020.2, 1021);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [VariableDatas];" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 58, 1.1, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 59, 0, 4, 21.1, 22.2, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 61, 23.3, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 62, 0, 2, 24.4, 25.5, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 63, 2.2, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 68, 3.3, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 69, 4.4, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 71, 5, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 72, 0, 2, 26.6, 27.7, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 94, 0, 4, 6.6, 7.7, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 95, 0, 4, 8.8, 9.9, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 96, 0, 4, 10, NULL, NULL, NULL, 0, 11.1, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 97, 12.2, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 103, 0, 4, 13.3, 14.4, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 104, 0, 4, 15.5, NULL, NULL, NULL, 0, 16.6, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 105, 17.7, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 106, 0, 2, 28.8, 29.9, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 107, 30, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 108, 0, 4, 18.8, NULL, NULL, NULL, 0, 19.9, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 111, 1, 1, 129, 20, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [CalculationProfiles];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SectionFaultTreeModels];" + Environment.NewLine + "INSERT INTO [SectionFaultTreeModels] VALUES (1, 111, 1, 1, 4505);" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [SectionFaultTreeModels] VALUES (1, 1, 1, 1, 9);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [SectionSubMechanismModels];" + Environment.NewLine + "INSERT INTO [SectionSubMechanismModels] VALUES (1, 1, 1, 424, 105);" + Environment.NewLine + "INSERT INTO [SectionSubMechanismModels] VALUES (1, 1, 1, 425, 109);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Fetches];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [AreaPoints];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [PresentationSections];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Profiles];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [ForelandModels];" + Environment.NewLine + "INSERT INTO [ForelandModels] VALUES (1, 111, 3);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Forelands];" + Environment.NewLine + "INSERT INTO [Forelands] VALUES (1, 1, 1.1, 2.2);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [ProbabilityAlternatives];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SetUpHeights];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [CalcWindDirections];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Swells];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [WaveReductions];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Areas];" + Environment.NewLine + "INSERT INTO [Areas] VALUES (1, '1', 'Nederland');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Projects];" + Environment.NewLine + "INSERT INTO [Projects] VALUES (1, 'WTI 2017', 'Ringtoets calculation');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Breakwaters];" + Environment.NewLine + "INSERT INTO [Breakwaters] VALUES (1, 1, 2.2);" + Environment.NewLine; string databaseFilePath = Path.Combine(hydraRingDirectory, "temp.db"); using (new FileDisposeHelper(databaseFilePath)) { // Call hydraRingConfigurationService.WriteDatabaseCreationScript(databaseFilePath); // Assert string creationScript = File.ReadAllText(databaseFilePath); Assert.AreEqual(expectedCreationScript, creationScript); } } [Test] public void WriteDatabaseCreationScript_HydraRingConfigurationWithStructuresStabilityPointFloodedCulvertLinearCalculationInput_WritesExpectedCreationScript([Values(true, false)] bool runPreprocessor) { // Setup var hydraRingConfigurationService = new HydraRingConfigurationService(HydraRingUncertaintiesType.All); const int hydraulicBoundaryLocationId = 700004; const double sectionNormal = 3.3; var forelandPoints = new List { new HydraRingForelandPoint(1.1, 2.2) }; var breakWater = new HydraRingBreakWater(1, 2.2); hydraRingConfigurationService.AddHydraRingCalculationInput( new StructuresStabilityPointFloodedCulvertLinearCalculationInput(hydraulicBoundaryLocationId, sectionNormal, forelandPoints, breakWater, 1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9, 10.0, 11.1, 12.2, 13.3, 14.4, 15.5, 16.6, 17.7, 18.8, 19.9, 20, 21.1, 22.2, 23.3, 24.4, 25.5, 26.6, 27.7, 28.8, 29.9, 30.0, 31.1, 32.2, 33.3, 34.4, 35.5, 36.6, 37.7, 38.8, 39.9, 40.0, 41.1, 42.2, 43.3, 44.4, 45.5, 46.6, 47.7, 48.8, 49.9, 50.0, 51.1, 52.2, 53.3, 54.4, 55.5, 56.6, 57.7) { PreprocessorSetting = CreatePreprocessorSetting(runPreprocessor), DesignTablesSetting = new DesignTablesSetting(0, 0), NumericsSettings = CreateStructuresStabilityPointNumericsSettings(), TimeIntegrationSetting = new TimeIntegrationSetting(1) }); string expectedCreationScript = "DELETE FROM [HydraulicModels];" + Environment.NewLine + "INSERT INTO [HydraulicModels] VALUES (1, 1, 'WTI 2017');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Sections];" + Environment.NewLine + "INSERT INTO [Sections] VALUES (1, 1, 1, 1, 1, 0, 0, 0, 0, 700004, 700004, 100, 3.3, 0);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SectionCalculationSchemes];" + Environment.NewLine + "INSERT INTO [SectionCalculationSchemes] VALUES (1, 112, 1);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [DesignTables];" + Environment.NewLine + "INSERT INTO [DesignTables] VALUES (1, 112, 1, 1, 1, 58, 0, 0, 0, 0, 0, 0, 0);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [PreprocessorSettings];" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [PreprocessorSettings] VALUES (1, 1001.1, 1002.2);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [Numerics];" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 112, 1, 1, 422, 1, 1, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 112, 1, 1, 424, 11, 4, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 112, 1, 1, 425, 11, 4, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 112, 1, 1, 430, 11, 4, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 112, 1, 1, 431, 1, 1, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 112, 1, 1, 432, 1, 1, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 112, 1, 1, 433, 1, 1, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 112, 1, 1, 434, 11, 4, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 112, 1, 1, 435, 11, 4, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [Numerics] VALUES (1, 1, 1, 1, 7, 1008, 1009, 1010, 1011.11, 1012.12, 1013.13, 1014.14, 1015, 3, 1016, 1017, 1018.18, 1019.19, 1020.2, 1021);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [VariableDatas];" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 43, 1.1, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 58, 2.2, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 60, 0, 2, 3.3, 4.4, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 61, 5.5, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 63, 6.6, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 65, 0, 2, 7.7, 8.8, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 66, 0, 2, 50, 51.1, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 67, 0, 4, 52.2, 53.3, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 80, 0, 4, 54.4, NULL, NULL, NULL, 0, 55.5, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 82, 0, 2, 9.9, 10, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 83, 0, 4, 56.6, NULL, NULL, NULL, 0, 57.7, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 85, 11.1, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 86, 0, 4, 12.2, NULL, NULL, NULL, 0, 13.3, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 87, 0, 2, 14.4, NULL, NULL, NULL, 0, 15.5, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 88, 0, 2, 16.6, NULL, NULL, NULL, 0, 17.7, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 89, 0, 2, 18.8, NULL, NULL, NULL, 0, 19.9, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 90, 20, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 91, 21.1, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 92, 0, 2, 22.2, NULL, NULL, NULL, 0, 23.3, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 93, 0, 2, 24.4, 25.5, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 94, 0, 4, 26.6, 27.7, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 95, 0, 4, 28.8, 29.9, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 96, 0, 4, 30, NULL, NULL, NULL, 0, 31.1, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 97, 32.2, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 103, 0, 4, 33.3, 34.4, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 104, 0, 4, 35.5, NULL, NULL, NULL, 0, 36.6, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 105, 37.7, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 108, 0, 4, 38.8, NULL, NULL, NULL, 0, 39.9, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 130, 0, 2, 40, 41.1, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 131, 42.2, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 132, 0, 2, 43.3, 44.4, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 133, 0, 18, 46.6, 45.5, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 134, 47.7, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 135, 48.8, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 136, 49.9, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [CalculationProfiles];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SectionFaultTreeModels];" + Environment.NewLine + "INSERT INTO [SectionFaultTreeModels] VALUES (1, 112, 1, 1, 4607);" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [SectionFaultTreeModels] VALUES (1, 1, 1, 1, 9);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [SectionSubMechanismModels];" + Environment.NewLine + "INSERT INTO [SectionSubMechanismModels] VALUES (1, 1, 1, 424, 107);" + Environment.NewLine + "INSERT INTO [SectionSubMechanismModels] VALUES (1, 1, 1, 425, 113);" + Environment.NewLine + "INSERT INTO [SectionSubMechanismModels] VALUES (1, 1, 1, 430, 114);" + Environment.NewLine + "INSERT INTO [SectionSubMechanismModels] VALUES (1, 1, 1, 435, 116);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Fetches];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [AreaPoints];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [PresentationSections];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Profiles];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [ForelandModels];" + Environment.NewLine + "INSERT INTO [ForelandModels] VALUES (1, 112, 3);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Forelands];" + Environment.NewLine + "INSERT INTO [Forelands] VALUES (1, 1, 1.1, 2.2);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [ProbabilityAlternatives];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SetUpHeights];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [CalcWindDirections];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Swells];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [WaveReductions];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Areas];" + Environment.NewLine + "INSERT INTO [Areas] VALUES (1, '1', 'Nederland');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Projects];" + Environment.NewLine + "INSERT INTO [Projects] VALUES (1, 'WTI 2017', 'Ringtoets calculation');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Breakwaters];" + Environment.NewLine + "INSERT INTO [Breakwaters] VALUES (1, 1, 2.2);" + Environment.NewLine; string databaseFilePath = Path.Combine(hydraRingDirectory, "temp.db"); using (new FileDisposeHelper(databaseFilePath)) { // Call hydraRingConfigurationService.WriteDatabaseCreationScript(databaseFilePath); // Assert string creationScript = File.ReadAllText(databaseFilePath); Assert.AreEqual(expectedCreationScript, creationScript); } } [Test] public void WriteDatabaseCreationScript_HydraRingConfigurationWithStructuresStabilityPointFloodedCulvertQuadraticCalculationInput_WritesExpectedCreationScript([Values(true, false)] bool runPreprocessor) { // Setup var hydraRingConfigurationService = new HydraRingConfigurationService(HydraRingUncertaintiesType.All); const int hydraulicBoundaryLocationId = 700004; const double sectionNormal = 3.3; var forelandPoints = new List { new HydraRingForelandPoint(1.1, 2.2) }; var breakWater = new HydraRingBreakWater(1, 2.2); hydraRingConfigurationService.AddHydraRingCalculationInput( new StructuresStabilityPointFloodedCulvertQuadraticCalculationInput(hydraulicBoundaryLocationId, sectionNormal, forelandPoints, breakWater, 1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9, 10.0, 11.1, 12.2, 13.3, 14.4, 15.5, 16.6, 17.7, 18.8, 19.9, 20, 21.1, 22.2, 23.3, 24.4, 25.5, 26.6, 27.7, 28.8, 29.9, 30.0, 31.1, 32.2, 33.3, 34.4, 35.5, 36.6, 37.7, 38.8, 39.9, 40.0, 41.1, 42.2, 43.3, 44.4, 45.5, 46.6, 47.7, 48.8, 49.9, 50.0, 51.1, 52.2, 53.3, 54.4, 55.5, 56.6, 57.7) { PreprocessorSetting = CreatePreprocessorSetting(runPreprocessor), DesignTablesSetting = new DesignTablesSetting(0, 0), NumericsSettings = CreateStructuresStabilityPointNumericsSettings(), TimeIntegrationSetting = new TimeIntegrationSetting(1) }); string expectedCreationScript = "DELETE FROM [HydraulicModels];" + Environment.NewLine + "INSERT INTO [HydraulicModels] VALUES (1, 1, 'WTI 2017');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Sections];" + Environment.NewLine + "INSERT INTO [Sections] VALUES (1, 1, 1, 1, 1, 0, 0, 0, 0, 700004, 700004, 100, 3.3, 0);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SectionCalculationSchemes];" + Environment.NewLine + "INSERT INTO [SectionCalculationSchemes] VALUES (1, 112, 1);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [DesignTables];" + Environment.NewLine + "INSERT INTO [DesignTables] VALUES (1, 112, 1, 1, 1, 58, 0, 0, 0, 0, 0, 0, 0);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [PreprocessorSettings];" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [PreprocessorSettings] VALUES (1, 1001.1, 1002.2);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [Numerics];" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 112, 1, 1, 422, 1, 1, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 112, 1, 1, 424, 11, 4, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 112, 1, 1, 425, 11, 4, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 112, 1, 1, 430, 11, 4, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 112, 1, 1, 431, 1, 1, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 112, 1, 1, 432, 1, 1, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 112, 1, 1, 433, 1, 1, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 112, 1, 1, 434, 11, 4, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 112, 1, 1, 435, 11, 4, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [Numerics] VALUES (1, 1, 1, 1, 7, 1008, 1009, 1010, 1011.11, 1012.12, 1013.13, 1014.14, 1015, 3, 1016, 1017, 1018.18, 1019.19, 1020.2, 1021);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [VariableDatas];" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 43, 1.1, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 58, 2.2, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 60, 0, 2, 3.3, 4.4, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 61, 5.5, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 63, 6.6, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 65, 0, 2, 7.7, 8.8, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 66, 0, 2, 50, 51.1, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 67, 0, 4, 52.2, 53.3, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 81, 0, 4, 54.4, NULL, NULL, NULL, 0, 55.5, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 82, 0, 2, 9.9, 10, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 84, 0, 4, 56.6, NULL, NULL, NULL, 0, 57.7, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 85, 11.1, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 86, 0, 4, 12.2, NULL, NULL, NULL, 0, 13.3, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 87, 0, 2, 14.4, NULL, NULL, NULL, 0, 15.5, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 88, 0, 2, 16.6, NULL, NULL, NULL, 0, 17.7, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 89, 0, 2, 18.8, NULL, NULL, NULL, 0, 19.9, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 90, 20, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 91, 21.1, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 92, 0, 2, 22.2, NULL, NULL, NULL, 0, 23.3, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 93, 0, 2, 24.4, 25.5, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 94, 0, 4, 26.6, 27.7, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 95, 0, 4, 28.8, 29.9, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 96, 0, 4, 30, NULL, NULL, NULL, 0, 31.1, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 97, 32.2, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 103, 0, 4, 33.3, 34.4, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 104, 0, 4, 35.5, NULL, NULL, NULL, 0, 36.6, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 105, 37.7, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 108, 0, 4, 38.8, NULL, NULL, NULL, 0, 39.9, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 130, 0, 2, 40, 41.1, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 131, 42.2, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 132, 0, 2, 43.3, 44.4, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 133, 0, 18, 46.6, 45.5, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 134, 47.7, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 135, 48.8, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 136, 49.9, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [CalculationProfiles];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SectionFaultTreeModels];" + Environment.NewLine + "INSERT INTO [SectionFaultTreeModels] VALUES (1, 112, 1, 1, 4607);" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [SectionFaultTreeModels] VALUES (1, 1, 1, 1, 9);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [SectionSubMechanismModels];" + Environment.NewLine + "INSERT INTO [SectionSubMechanismModels] VALUES (1, 1, 1, 424, 107);" + Environment.NewLine + "INSERT INTO [SectionSubMechanismModels] VALUES (1, 1, 1, 425, 113);" + Environment.NewLine + "INSERT INTO [SectionSubMechanismModels] VALUES (1, 1, 1, 430, 115);" + Environment.NewLine + "INSERT INTO [SectionSubMechanismModels] VALUES (1, 1, 1, 435, 117);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Fetches];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [AreaPoints];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [PresentationSections];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Profiles];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [ForelandModels];" + Environment.NewLine + "INSERT INTO [ForelandModels] VALUES (1, 112, 3);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Forelands];" + Environment.NewLine + "INSERT INTO [Forelands] VALUES (1, 1, 1.1, 2.2);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [ProbabilityAlternatives];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SetUpHeights];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [CalcWindDirections];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Swells];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [WaveReductions];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Areas];" + Environment.NewLine + "INSERT INTO [Areas] VALUES (1, '1', 'Nederland');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Projects];" + Environment.NewLine + "INSERT INTO [Projects] VALUES (1, 'WTI 2017', 'Ringtoets calculation');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Breakwaters];" + Environment.NewLine + "INSERT INTO [Breakwaters] VALUES (1, 1, 2.2);" + Environment.NewLine; string databaseFilePath = Path.Combine(hydraRingDirectory, "temp.db"); using (new FileDisposeHelper(databaseFilePath)) { // Call hydraRingConfigurationService.WriteDatabaseCreationScript(databaseFilePath); // Assert string creationScript = File.ReadAllText(databaseFilePath); Assert.AreEqual(expectedCreationScript, creationScript); } } [Test] public void WriteDatabaseCreationScript_HydraRingConfigurationWithStructuresStabilityPointLowSillLinearCalculationInput_WritesExpectedCreationScript([Values(true, false)] bool runPreprocessor) { // Setup var hydraRingConfigurationService = new HydraRingConfigurationService(HydraRingUncertaintiesType.All); const int hydraulicBoundaryLocationId = 700004; const double sectionNormal = 3.3; var forelandPoints = new List { new HydraRingForelandPoint(1.1, 2.2) }; var breakWater = new HydraRingBreakWater(1, 2.2); hydraRingConfigurationService.AddHydraRingCalculationInput( new StructuresStabilityPointLowSillLinearCalculationInput(hydraulicBoundaryLocationId, sectionNormal, forelandPoints, breakWater, 1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9, 10.0, 11.1, 12.2, 13.3, 14.4, 15.5, 16.6, 17.7, 18.8, 19.9, 20, 21.1, 22.2, 23.3, 24.4, 25.5, 26.6, 27.7, 28.8, 29.9, 30.0, 31.1, 32.2, 33.3, 34.4, 35.5, 36.6, 37.7, 38.8, 39.9, 40.0, 41.1, 42.2, 43.3, 44.4, 45.5, 46.6, 47.7, 48.8, 49.9, 50.0, 51.1, 52.2, 53.3, 54.4, 55.5) { PreprocessorSetting = CreatePreprocessorSetting(runPreprocessor), DesignTablesSetting = new DesignTablesSetting(0, 0), NumericsSettings = CreateStructuresStabilityPointNumericsSettings(), TimeIntegrationSetting = new TimeIntegrationSetting(1) }); string expectedCreationScript = "DELETE FROM [HydraulicModels];" + Environment.NewLine + "INSERT INTO [HydraulicModels] VALUES (1, 1, 'WTI 2017');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Sections];" + Environment.NewLine + "INSERT INTO [Sections] VALUES (1, 1, 1, 1, 1, 0, 0, 0, 0, 700004, 700004, 100, 3.3, 0);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SectionCalculationSchemes];" + Environment.NewLine + "INSERT INTO [SectionCalculationSchemes] VALUES (1, 112, 1);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [DesignTables];" + Environment.NewLine + "INSERT INTO [DesignTables] VALUES (1, 112, 1, 1, 1, 58, 0, 0, 0, 0, 0, 0, 0);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [PreprocessorSettings];" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [PreprocessorSettings] VALUES (1, 1001.1, 1002.2);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [Numerics];" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 112, 1, 1, 422, 1, 1, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 112, 1, 1, 424, 11, 4, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 112, 1, 1, 425, 11, 4, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 112, 1, 1, 430, 11, 4, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 112, 1, 1, 431, 1, 1, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 112, 1, 1, 432, 1, 1, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 112, 1, 1, 433, 1, 1, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 112, 1, 1, 434, 11, 4, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 112, 1, 1, 435, 11, 4, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [Numerics] VALUES (1, 1, 1, 1, 7, 1008, 1009, 1010, 1011.11, 1012.12, 1013.13, 1014.14, 1015, 3, 1016, 1017, 1018.18, 1019.19, 1020.2, 1021);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [VariableDatas];" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 43, 1.1, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 58, 2.2, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 60, 0, 2, 3.3, 4.4, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 61, 5.5, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 63, 6.6, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 65, 0, 2, 7.7, 8.8, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 80, 0, 4, 50, NULL, NULL, NULL, 0, 51.1, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 82, 0, 2, 9.9, 10, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 83, 0, 4, 52.2, NULL, NULL, NULL, 0, 53.3, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 85, 11.1, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 86, 0, 4, 12.2, NULL, NULL, NULL, 0, 13.3, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 87, 0, 2, 14.4, NULL, NULL, NULL, 0, 15.5, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 88, 0, 2, 16.6, NULL, NULL, NULL, 0, 17.7, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 89, 0, 2, 18.8, NULL, NULL, NULL, 0, 19.9, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 90, 20, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 91, 21.1, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 92, 0, 2, 22.2, NULL, NULL, NULL, 0, 23.3, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 93, 0, 2, 24.4, 25.5, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 94, 0, 4, 26.6, 27.7, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 95, 0, 4, 28.8, 29.9, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 96, 0, 4, 30, NULL, NULL, NULL, 0, 31.1, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 97, 32.2, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 103, 0, 4, 33.3, 34.4, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 104, 0, 4, 35.5, NULL, NULL, NULL, 0, 36.6, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 105, 37.7, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 106, 0, 2, 54.4, 55.5, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 108, 0, 4, 38.8, NULL, NULL, NULL, 0, 39.9, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 130, 0, 2, 40, 41.1, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 131, 42.2, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 132, 0, 2, 43.3, 44.4, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 133, 0, 18, 46.6, 45.5, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 134, 47.7, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 135, 48.8, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 136, 49.9, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [CalculationProfiles];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SectionFaultTreeModels];" + Environment.NewLine + "INSERT INTO [SectionFaultTreeModels] VALUES (1, 112, 1, 1, 4607);" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [SectionFaultTreeModels] VALUES (1, 1, 1, 1, 9);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [SectionSubMechanismModels];" + Environment.NewLine + "INSERT INTO [SectionSubMechanismModels] VALUES (1, 1, 1, 424, 106);" + Environment.NewLine + "INSERT INTO [SectionSubMechanismModels] VALUES (1, 1, 1, 425, 111);" + Environment.NewLine + "INSERT INTO [SectionSubMechanismModels] VALUES (1, 1, 1, 430, 114);" + Environment.NewLine + "INSERT INTO [SectionSubMechanismModels] VALUES (1, 1, 1, 435, 116);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Fetches];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [AreaPoints];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [PresentationSections];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Profiles];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [ForelandModels];" + Environment.NewLine + "INSERT INTO [ForelandModels] VALUES (1, 112, 3);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Forelands];" + Environment.NewLine + "INSERT INTO [Forelands] VALUES (1, 1, 1.1, 2.2);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [ProbabilityAlternatives];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SetUpHeights];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [CalcWindDirections];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Swells];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [WaveReductions];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Areas];" + Environment.NewLine + "INSERT INTO [Areas] VALUES (1, '1', 'Nederland');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Projects];" + Environment.NewLine + "INSERT INTO [Projects] VALUES (1, 'WTI 2017', 'Ringtoets calculation');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Breakwaters];" + Environment.NewLine + "INSERT INTO [Breakwaters] VALUES (1, 1, 2.2);" + Environment.NewLine; string databaseFilePath = Path.Combine(hydraRingDirectory, "temp.db"); using (new FileDisposeHelper(databaseFilePath)) { // Call hydraRingConfigurationService.WriteDatabaseCreationScript(databaseFilePath); // Assert string creationScript = File.ReadAllText(databaseFilePath); Assert.AreEqual(expectedCreationScript, creationScript); } } [Test] public void WriteDatabaseCreationScript_HydraRingConfigurationWithStructuresStabilityPointLowSillQuadraticCalculationInput_WritesExpectedCreationScript([Values(true, false)] bool runPreprocessor) { // Setup var hydraRingConfigurationService = new HydraRingConfigurationService(HydraRingUncertaintiesType.All); const int hydraulicBoundaryLocationId = 700004; const double sectionNormal = 3.3; var forelandPoints = new List { new HydraRingForelandPoint(1.1, 2.2) }; var breakWater = new HydraRingBreakWater(1, 2.2); hydraRingConfigurationService.AddHydraRingCalculationInput( new StructuresStabilityPointLowSillQuadraticCalculationInput(hydraulicBoundaryLocationId, sectionNormal, forelandPoints, breakWater, 1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9, 10.0, 11.1, 12.2, 13.3, 14.4, 15.5, 16.6, 17.7, 18.8, 19.9, 20, 21.1, 22.2, 23.3, 24.4, 25.5, 26.6, 27.7, 28.8, 29.9, 30.0, 31.1, 32.2, 33.3, 34.4, 35.5, 36.6, 37.7, 38.8, 39.9, 40.0, 41.1, 42.2, 43.3, 44.4, 45.5, 46.6, 47.7, 48.8, 49.9, 50.0, 51.1, 52.2, 53.3, 54.4, 55.5) { PreprocessorSetting = CreatePreprocessorSetting(runPreprocessor), DesignTablesSetting = new DesignTablesSetting(0, 0), NumericsSettings = CreateStructuresStabilityPointNumericsSettings(), TimeIntegrationSetting = new TimeIntegrationSetting(1) }); string expectedCreationScript = "DELETE FROM [HydraulicModels];" + Environment.NewLine + "INSERT INTO [HydraulicModels] VALUES (1, 1, 'WTI 2017');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Sections];" + Environment.NewLine + "INSERT INTO [Sections] VALUES (1, 1, 1, 1, 1, 0, 0, 0, 0, 700004, 700004, 100, 3.3, 0);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SectionCalculationSchemes];" + Environment.NewLine + "INSERT INTO [SectionCalculationSchemes] VALUES (1, 112, 1);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [DesignTables];" + Environment.NewLine + "INSERT INTO [DesignTables] VALUES (1, 112, 1, 1, 1, 58, 0, 0, 0, 0, 0, 0, 0);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [PreprocessorSettings];" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [PreprocessorSettings] VALUES (1, 1001.1, 1002.2);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [Numerics];" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 112, 1, 1, 422, 1, 1, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 112, 1, 1, 424, 11, 4, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 112, 1, 1, 425, 11, 4, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 112, 1, 1, 430, 11, 4, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 112, 1, 1, 431, 1, 1, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 112, 1, 1, 432, 1, 1, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 112, 1, 1, 433, 1, 1, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 112, 1, 1, 434, 11, 4, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 112, 1, 1, 435, 11, 4, 150, 0.15, 0.005, 0.005, 0.005, 2, 3, 10000, 40000, 0.1, -6, 6, 25);" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [Numerics] VALUES (1, 1, 1, 1, 7, 1008, 1009, 1010, 1011.11, 1012.12, 1013.13, 1014.14, 1015, 3, 1016, 1017, 1018.18, 1019.19, 1020.2, 1021);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [VariableDatas];" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 43, 1.1, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 58, 2.2, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 60, 0, 2, 3.3, 4.4, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 61, 5.5, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 63, 6.6, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 65, 0, 2, 7.7, 8.8, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 81, 0, 4, 50, NULL, NULL, NULL, 0, 51.1, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 82, 0, 2, 9.9, 10, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 84, 0, 4, 52.2, NULL, NULL, NULL, 0, 53.3, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 85, 11.1, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 86, 0, 4, 12.2, NULL, NULL, NULL, 0, 13.3, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 87, 0, 2, 14.4, NULL, NULL, NULL, 0, 15.5, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 88, 0, 2, 16.6, NULL, NULL, NULL, 0, 17.7, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 89, 0, 2, 18.8, NULL, NULL, NULL, 0, 19.9, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 90, 20, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 91, 21.1, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 92, 0, 2, 22.2, NULL, NULL, NULL, 0, 23.3, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 93, 0, 2, 24.4, 25.5, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 94, 0, 4, 26.6, 27.7, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 95, 0, 4, 28.8, 29.9, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 96, 0, 4, 30, NULL, NULL, NULL, 0, 31.1, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 97, 32.2, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 103, 0, 4, 33.3, 34.4, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 104, 0, 4, 35.5, NULL, NULL, NULL, 0, 36.6, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 105, 37.7, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 106, 0, 2, 54.4, 55.5, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 108, 0, 4, 38.8, NULL, NULL, NULL, 0, 39.9, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 130, 0, 2, 40, 41.1, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 131, 42.2, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 132, 0, 2, 43.3, 44.4, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 133, 0, 18, 46.6, 45.5, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 134, 47.7, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 135, 48.8, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 112, 1, 1, 136, 49.9, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [CalculationProfiles];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SectionFaultTreeModels];" + Environment.NewLine + "INSERT INTO [SectionFaultTreeModels] VALUES (1, 112, 1, 1, 4607);" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [SectionFaultTreeModels] VALUES (1, 1, 1, 1, 9);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [SectionSubMechanismModels];" + Environment.NewLine + "INSERT INTO [SectionSubMechanismModels] VALUES (1, 1, 1, 424, 106);" + Environment.NewLine + "INSERT INTO [SectionSubMechanismModels] VALUES (1, 1, 1, 425, 111);" + Environment.NewLine + "INSERT INTO [SectionSubMechanismModels] VALUES (1, 1, 1, 430, 115);" + Environment.NewLine + "INSERT INTO [SectionSubMechanismModels] VALUES (1, 1, 1, 435, 117);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Fetches];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [AreaPoints];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [PresentationSections];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Profiles];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [ForelandModels];" + Environment.NewLine + "INSERT INTO [ForelandModels] VALUES (1, 112, 3);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Forelands];" + Environment.NewLine + "INSERT INTO [Forelands] VALUES (1, 1, 1.1, 2.2);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [ProbabilityAlternatives];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SetUpHeights];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [CalcWindDirections];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Swells];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [WaveReductions];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Areas];" + Environment.NewLine + "INSERT INTO [Areas] VALUES (1, '1', 'Nederland');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Projects];" + Environment.NewLine + "INSERT INTO [Projects] VALUES (1, 'WTI 2017', 'Ringtoets calculation');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Breakwaters];" + Environment.NewLine + "INSERT INTO [Breakwaters] VALUES (1, 1, 2.2);" + Environment.NewLine; string databaseFilePath = Path.Combine(hydraRingDirectory, "temp.db"); using (new FileDisposeHelper(databaseFilePath)) { // Call hydraRingConfigurationService.WriteDatabaseCreationScript(databaseFilePath); // Assert string creationScript = File.ReadAllText(databaseFilePath); Assert.AreEqual(expectedCreationScript, creationScript); } } [Test] public void WriteDatabaseCreationScript_HydraRingConfigurationWithDunesBoundaryConditionsCalculationInput_WritesExpectedCreationScript([Values(true, false)] bool runPreprocessor) { // Setup var hydraRingConfigurationService = new HydraRingConfigurationService(HydraRingUncertaintiesType.All); hydraRingConfigurationService.AddHydraRingCalculationInput(new DunesBoundaryConditionsCalculationInput(1, 700004, 1.0 / 10000) { PreprocessorSetting = CreatePreprocessorSetting(runPreprocessor), DesignTablesSetting = new DesignTablesSetting(1.1, 2.2), NumericsSettings = new Dictionary { { 6, new NumericsSetting(1, 9, 150, 0.15, 0.01, 0.01, 0.01, 2, 3000, 10000, 0.1, -6, 6, 25) } }, TimeIntegrationSetting = new TimeIntegrationSetting(1) }); string expectedCreationScript = "DELETE FROM [HydraulicModels];" + Environment.NewLine + "INSERT INTO [HydraulicModels] VALUES (1, 1, 'WTI 2017');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Sections];" + Environment.NewLine + "INSERT INTO [Sections] VALUES (1, 1, 1, 1, 1, 0, 0, 0, 0, 700004, 700004, 100, 0, 0);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SectionCalculationSchemes];" + Environment.NewLine + "INSERT INTO [SectionCalculationSchemes] VALUES (1, 1, 1);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [DesignTables];" + Environment.NewLine + "INSERT INTO [DesignTables] VALUES (1, 1, 1, 1, 2, 26, 0, 0, 0, 0, 1.1, 2.2, 3.71901648545571);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [PreprocessorSettings];" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [PreprocessorSettings] VALUES (1, 1001.1, 1002.2);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [Numerics];" + Environment.NewLine + "INSERT INTO [Numerics] VALUES (1, 1, 1, 1, 6, 1, 9, 150, 0.15, 0.01, 0.01, 0.01, 2, 3, 3000, 10000, 0.1, -6, 6, 25);" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [Numerics] VALUES (1, 1, 1, 1, 7, 1008, 1009, 1010, 1011.11, 1012.12, 1013.13, 1014.14, 1015, 3, 1016, 1017, 1018.18, 1019.19, 1020.2, 1021);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [VariableDatas];" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 1, 1, 1, 26, 0, 0, 0, NULL, NULL, NULL, 1, 0, 300);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [CalculationProfiles];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SectionFaultTreeModels];" + Environment.NewLine + "INSERT INTO [SectionFaultTreeModels] VALUES (1, 1, 1, 1, 8);" + Environment.NewLine + (runPreprocessor ? "INSERT INTO [SectionFaultTreeModels] VALUES (1, 1, 1, 1, 9);" + Environment.NewLine : string.Empty) + Environment.NewLine + "DELETE FROM [SectionSubMechanismModels];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Fetches];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [AreaPoints];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [PresentationSections];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Profiles];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [ForelandModels];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Forelands];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [ProbabilityAlternatives];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [SetUpHeights];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [CalcWindDirections];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Swells];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [WaveReductions];" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Areas];" + Environment.NewLine + "INSERT INTO [Areas] VALUES (1, '1', 'Nederland');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Projects];" + Environment.NewLine + "INSERT INTO [Projects] VALUES (1, 'WTI 2017', 'Ringtoets calculation');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Breakwaters];" + Environment.NewLine; string databaseFilePath = Path.Combine(hydraRingDirectory, "temp.db"); using (new FileDisposeHelper(databaseFilePath)) { // Call hydraRingConfigurationService.WriteDatabaseCreationScript(databaseFilePath); // Assert string creationScript = File.ReadAllText(databaseFilePath); Assert.AreEqual(expectedCreationScript, creationScript); } } private static PreprocessorSetting CreatePreprocessorSetting(bool runPreprocessor) { return runPreprocessor ? new PreprocessorSetting(1001.1, 1002.2, new NumericsSetting(1008, 1009, 1010, 1011.11, 1012.12, 1013.13, 1014.14, 1015, 1016, 1017, 1018.18, 1019.19, 1020.20, 1021)) : new PreprocessorSetting(); } private static Dictionary CreateStructuresClosureNumericsSettings() { var numericsSettingForm = new NumericsSetting(1, 1, 150, 0.15, 0.005, 0.005, 0.005, 2, 10000, 40000, 0.1, -6, 6, 25); var numericsSettingDirs = new NumericsSetting(11, 4, 150, 0.15, 0.005, 0.005, 0.005, 2, 10000, 40000, 0.1, -6, 6, 25); return new Dictionary { { 422, numericsSettingForm }, { 424, numericsSettingDirs }, { 425, numericsSettingDirs }, { 426, numericsSettingForm }, { 427, numericsSettingForm } }; } private static Dictionary CreateStructuresStabilityPointNumericsSettings() { var numericsSettingForm = new NumericsSetting(1, 1, 150, 0.15, 0.005, 0.005, 0.005, 2, 10000, 40000, 0.1, -6, 6, 25); var numericsSettingDir = new NumericsSetting(11, 4, 150, 0.15, 0.005, 0.005, 0.005, 2, 10000, 40000, 0.1, -6, 6, 25); return new Dictionary { { 422, numericsSettingForm }, { 424, numericsSettingDir }, { 425, numericsSettingDir }, { 430, numericsSettingDir }, { 431, numericsSettingForm }, { 432, numericsSettingForm }, { 433, numericsSettingForm }, { 434, numericsSettingDir }, { 435, numericsSettingDir } }; } } }