Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/IntegrationTests/MigrationTo181IntegrationTest.cs =================================================================== diff -u -r258a217558998746b487965a9c75b1e71b1283aa -r9412472b340ac9877994ef7537801c9c270268a8 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/IntegrationTests/MigrationTo181IntegrationTest.cs (.../MigrationTo181IntegrationTest.cs) (revision 258a217558998746b487965a9c75b1e71b1283aa) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/IntegrationTests/MigrationTo181IntegrationTest.cs (.../MigrationTo181IntegrationTest.cs) (revision 9412472b340ac9877994ef7537801c9c270268a8) @@ -357,14 +357,14 @@ "DETACH DATABASE SOURCEPROJECT;"; reader.AssertReturnedDataIsValid(validateNrOfHydraulicBoundaryCalculationOutputEntities); - AssertDesignWaterLevelCalculations(reader, sourceFilePath); - - AssertWaveHeightCalculations(reader, sourceFilePath); - - AssertMigratedHydraulicLocationCalculationOutputs(reader, sourceFilePath); + var queryGenerator = new HydraulicLocationValidationQueryGenerator(sourceFilePath); + AssertDesignWaterLevelCalculations(reader, queryGenerator); + AssertWaveHeightCalculations(reader, queryGenerator); + AssertMigratedHydraulicLocationCalculationOutputs(reader, queryGenerator); } - private static void AssertMigratedHydraulicLocationCalculationOutputs(MigratedDatabaseReader reader, string sourceFilePath) + private static void AssertMigratedHydraulicLocationCalculationOutputs(MigratedDatabaseReader reader, + HydraulicLocationValidationQueryGenerator queryGenerator) { const string validateOutputNewCalculations = "SELECT COUNT() = 0 " + @@ -377,92 +377,82 @@ reader.AssertReturnedDataIsValid(validateOutputNewCalculations); string validateDesignWaterLevelCalculationsWithSignalingNormOutput = - HydraulicLocationValidationQueryGenerator.GetOutputValidationQuery( - sourceFilePath, - HydraulicLocationValidationQueryGenerator.NormativeNormType.SignalingNorm, - HydraulicLocationValidationQueryGenerator.HydraulicLocationOutputType.DesignWaterLevel, - 2); + queryGenerator.GetOutputValidationQuery(HydraulicLocationValidationQueryGenerator.NormativeNormType.SignalingNorm, + HydraulicLocationValidationQueryGenerator.HydraulicLocationOutputType.DesignWaterLevel, + 2); reader.AssertReturnedDataIsValid(validateDesignWaterLevelCalculationsWithSignalingNormOutput); string validateDesignWaterLevelCalculationsWithLowerLimitNormOutput = - HydraulicLocationValidationQueryGenerator.GetOutputValidationQuery( - sourceFilePath, - HydraulicLocationValidationQueryGenerator.NormativeNormType.LowerLimitNorm, - HydraulicLocationValidationQueryGenerator.HydraulicLocationOutputType.DesignWaterLevel, - 3); + queryGenerator.GetOutputValidationQuery(HydraulicLocationValidationQueryGenerator.NormativeNormType.LowerLimitNorm, + HydraulicLocationValidationQueryGenerator.HydraulicLocationOutputType.DesignWaterLevel, + 3); reader.AssertReturnedDataIsValid(validateDesignWaterLevelCalculationsWithLowerLimitNormOutput); string validateWaveHeightCalculationsWithSignalingNormOutput = - HydraulicLocationValidationQueryGenerator.GetOutputValidationQuery( - sourceFilePath, - HydraulicLocationValidationQueryGenerator.NormativeNormType.SignalingNorm, - HydraulicLocationValidationQueryGenerator.HydraulicLocationOutputType.WaveHeight, - 6); + queryGenerator.GetOutputValidationQuery(HydraulicLocationValidationQueryGenerator.NormativeNormType.SignalingNorm, + HydraulicLocationValidationQueryGenerator.HydraulicLocationOutputType.WaveHeight, + 6); reader.AssertReturnedDataIsValid(validateWaveHeightCalculationsWithSignalingNormOutput); string validateWaveHeightCalculationsWithLowerLimitNormOutput = - HydraulicLocationValidationQueryGenerator.GetOutputValidationQuery( - sourceFilePath, - HydraulicLocationValidationQueryGenerator.NormativeNormType.LowerLimitNorm, - HydraulicLocationValidationQueryGenerator.HydraulicLocationOutputType.WaveHeight, - 7); + queryGenerator.GetOutputValidationQuery(HydraulicLocationValidationQueryGenerator.NormativeNormType.LowerLimitNorm, + HydraulicLocationValidationQueryGenerator.HydraulicLocationOutputType.WaveHeight, + 7); reader.AssertReturnedDataIsValid(validateWaveHeightCalculationsWithLowerLimitNormOutput); } - private static void AssertDesignWaterLevelCalculations(MigratedDatabaseReader reader, string sourceFilePath) + private static void AssertDesignWaterLevelCalculations(MigratedDatabaseReader reader, + HydraulicLocationValidationQueryGenerator queryGenerator) { - string validateCalculation1Entities = - HydraulicLocationValidationQueryGenerator.GetNewCalculationsValidationQuery(sourceFilePath, 1); + string validateCalculation1Entities = + queryGenerator.GetNewCalculationsValidationQuery(1); reader.AssertReturnedDataIsValid(validateCalculation1Entities); string validateDesignWaterLevelCalculationsWithSignalingNorm = - HydraulicLocationValidationQueryGenerator.GetDesignWaterLevelCalculationValidationQuery( - sourceFilePath, + queryGenerator.GetDesignWaterLevelCalculationValidationQuery( HydraulicLocationValidationQueryGenerator.NormativeNormType.SignalingNorm, 2); reader.AssertReturnedDataIsValid(validateDesignWaterLevelCalculationsWithSignalingNorm); string validateDesignWaterLevelCalculationsWithLowerLimitNorm = - HydraulicLocationValidationQueryGenerator.GetDesignWaterLevelCalculationValidationQuery( - sourceFilePath, + queryGenerator.GetDesignWaterLevelCalculationValidationQuery( HydraulicLocationValidationQueryGenerator.NormativeNormType.LowerLimitNorm, 3); reader.AssertReturnedDataIsValid(validateDesignWaterLevelCalculationsWithLowerLimitNorm); - string validateCalculation4Entities = - HydraulicLocationValidationQueryGenerator.GetNewCalculationsValidationQuery(sourceFilePath, 4); + string validateCalculation4Entities = queryGenerator.GetNewCalculationsValidationQuery(4); reader.AssertReturnedDataIsValid(validateCalculation4Entities); } - private static void AssertWaveHeightCalculations(MigratedDatabaseReader reader, string sourceFilePath) + private static void AssertWaveHeightCalculations(MigratedDatabaseReader reader, + HydraulicLocationValidationQueryGenerator queryGenerator) { string validateCalculation5Entities = - HydraulicLocationValidationQueryGenerator.GetNewCalculationsValidationQuery(sourceFilePath, 5); + queryGenerator.GetNewCalculationsValidationQuery(5); reader.AssertReturnedDataIsValid(validateCalculation5Entities); string validateWaveHeightCalculationsWithSignalingNorm = - HydraulicLocationValidationQueryGenerator.GetWaveHeightCalculationValidationQuery( - sourceFilePath, + queryGenerator.GetWaveHeightCalculationValidationQuery( HydraulicLocationValidationQueryGenerator.NormativeNormType.SignalingNorm, 6); reader.AssertReturnedDataIsValid(validateWaveHeightCalculationsWithSignalingNorm); string validateWaveHeightCalculationsWithLowerLimitNorm = - HydraulicLocationValidationQueryGenerator.GetWaveHeightCalculationValidationQuery( - sourceFilePath, + queryGenerator.GetWaveHeightCalculationValidationQuery( HydraulicLocationValidationQueryGenerator.NormativeNormType.LowerLimitNorm, 7); reader.AssertReturnedDataIsValid(validateWaveHeightCalculationsWithLowerLimitNorm); - string validateCalculation8Entities = - HydraulicLocationValidationQueryGenerator.GetNewCalculationsValidationQuery(sourceFilePath, 8); + string validateCalculation8Entities = queryGenerator.GetNewCalculationsValidationQuery(8); reader.AssertReturnedDataIsValid(validateCalculation8Entities); } /// /// Class to generate queries which can be used if the hydraulic boundary locations /// are correctly migrated. /// - private static class HydraulicLocationValidationQueryGenerator + private class HydraulicLocationValidationQueryGenerator { + private readonly string sourceFilePath; + /// /// Enum to indicate the hydraulic location output types. /// @@ -497,17 +487,24 @@ } /// - /// Generates a query to validate the migrated hydraulic boundary location output. + /// Creates a new instance of . /// /// The file path of the database to be verified. + public HydraulicLocationValidationQueryGenerator(string sourceFilePath) + { + this.sourceFilePath = sourceFilePath; + } + + /// + /// Generates a query to validate the migrated hydraulic boundary location output. + /// /// The on which the output was calculated for. /// The which the output represents. /// The calculation on which the outputs should be set. /// The query to validate the migrated hydraulic boundary location output. - public static string GetOutputValidationQuery(string sourceFilePath, - NormativeNormType normType, - HydraulicLocationOutputType outputType, - int calculationEntityNumber) + public string GetOutputValidationQuery(NormativeNormType normType, + HydraulicLocationOutputType outputType, + int calculationEntityNumber) { return $"ATTACH DATABASE \"{sourceFilePath}\" AS SOURCEPROJECT;" + "SELECT COUNT() = " + @@ -529,13 +526,11 @@ /// /// Generates a query to validate the migrated wave height calculations. /// - /// The file path of the database to be verified. /// The for which the input was set. /// The calculation on which the input should be validated. /// The query to validate the migrated hydraulic boundary location calculation input. - public static string GetWaveHeightCalculationValidationQuery(string sourceFilePath, - NormativeNormType normType, - int calculationEntityNumber) + public string GetWaveHeightCalculationValidationQuery(NormativeNormType normType, + int calculationEntityNumber) { return $"ATTACH DATABASE \"{sourceFilePath}\" AS SOURCEPROJECT; " + "SELECT COUNT() = " + @@ -556,13 +551,11 @@ /// /// Generates a query to validate the migrated design water level calculations. /// - /// The file path of the database to be verified. /// The for which the input was set. /// The calculation on which the input should be validated. /// The query to validate the migrated hydraulic boundary location calculation input. - public static string GetDesignWaterLevelCalculationValidationQuery(string sourceFilePath, - NormativeNormType normType, - int calculationEntityNumber) + public string GetDesignWaterLevelCalculationValidationQuery(NormativeNormType normType, + int calculationEntityNumber) { return $"ATTACH DATABASE \"{sourceFilePath}\" AS SOURCEPROJECT; " + "SELECT COUNT() = " + @@ -583,11 +576,9 @@ /// /// Generates a query to validate the new hydraulic boundary location calculations that are not based on migrated data. /// - /// The file path of the database to be verified. /// The calculation on which the input should be validated. /// The query to validate the migrated hydraulic boundary location calculation input. - public static string GetNewCalculationsValidationQuery(string sourceFilePath, - int calculationEntityNumber) + public string GetNewCalculationsValidationQuery(int calculationEntityNumber) { return $"ATTACH DATABASE \"{sourceFilePath}\" AS SOURCEPROJECT; " + "SELECT COUNT() = (SELECT COUNT() FROM [SOURCEPROJECT].HydraulicLocationEntity) " +