Index: DamClients/DamLive/trunk/src/Deltares.DamLive.Tests/DamLiveUsingCompleteDataSetTest.cs =================================================================== diff -u -r4055 -r4056 --- DamClients/DamLive/trunk/src/Deltares.DamLive.Tests/DamLiveUsingCompleteDataSetTest.cs (.../DamLiveUsingCompleteDataSetTest.cs) (revision 4055) +++ DamClients/DamLive/trunk/src/Deltares.DamLive.Tests/DamLiveUsingCompleteDataSetTest.cs (.../DamLiveUsingCompleteDataSetTest.cs) (revision 4056) @@ -29,170 +29,169 @@ using Deltares.Standard.IO; using NUnit.Framework; -namespace Deltares.DamLive.Tests +namespace Deltares.DamLive.Tests; + +[TestFixture] +[Category("Integration")] +[Category("Slow")] //takes 3 minutes +[Ignore("Hangs because of a bug in D-GeoStability (MWDAM-1000, MST-1049)")] +public class DamLiveUsingCompleteDataSetTest { - [TestFixture] - [Category("Integration")] - [Category("Slow")] //takes 3 minutes - [Ignore("Hangs because of a bug in D-GeoStability (MWDAM-1000, MST-1049)")] - public class DamLiveUsingCompleteDataSetTest + /// + /// This test calls the runner's Run method. + /// This test is an integration test. + /// + /// Required files are: + /// - the DAMX file which contains the dike models + /// - FEWS input file containing the water level time series for the locations + /// or monitoring points + /// - FEWS output file containing the time series results for each node + /// (location/monitoring point) + /// + /// See setup method + /// + [Test, Ignore("Under construction")] + public void Run_UsingTestFiles_HasExpectedResultsInOutputFile() { - /// - /// This test calls the runner's Run method. - /// This test is an integration test. - /// - /// Required files are: - /// - the DAMX file which contains the dike models - /// - FEWS input file containing the water level time series for the locations - /// or monitoring points - /// - FEWS output file containing the time series results for each node - /// (location/monitoring point) - /// - /// See setup method - /// - [Test, Ignore("Under construction")] - public void Run_UsingTestFiles_HasExpectedResultsInOutputFile() - { - runner.Initialize(); - runner.CreateAndSetWorkingDirectories(); - runner.DeleteFormerProjectFiles(); + runner.Initialize(); + runner.CreateAndSetWorkingDirectories(); + runner.DeleteFormerProjectFiles(); - Assert.IsNotNull(runner); - Assert.IsNotNull(runner.ProjectData); - Assert.IsNotNull(runner.RunnerDelegate); - Assert.IsNotNull(runner.CalculationParameters); - Assert.IsNotNull(runner.CalculationParameters.CalculationModules); - Assert.IsNotNull(runner.CalculationParameters.MStabParameters); + Assert.IsNotNull(runner); + Assert.IsNotNull(runner.ProjectData); + Assert.IsNotNull(runner.RunnerDelegate); + Assert.IsNotNull(runner.CalculationParameters); + Assert.IsNotNull(runner.CalculationParameters.CalculationModules); + Assert.IsNotNull(runner.CalculationParameters.MStabParameters); - runner.Process(); - runner.WriteResultsToFile(outputFile); + runner.Process(); + runner.WriteResultsToFile(outputFile); - AssertNoErrors(); + AssertNoErrors(); - // Assertions + // Assertions - List series = runner.OutputTimeSeriesCollection.Series; + List series = runner.OutputTimeSeriesCollection.Series; - var seriesCount = 0; + var seriesCount = 0; - string[] validParameterIDs = Enum.GetNames(typeof(TimeSerieParameters)); - foreach (TimeSerie timeSeries in series) + string[] validParameterIDs = Enum.GetNames(typeof(TimeSerieParameters)); + foreach (TimeSerie timeSeries in series) + { + Assert.IsTrue(validParameterIDs.Any(n => n == timeSeries.ParameterId)); + Assert.IsTrue(locations.Any(l => l.Name == timeSeries.LocationId)); + + if (timeSeries.LocationId == "1C_31_5_bishop_binnen") { - Assert.IsTrue(validParameterIDs.Any(n => n == timeSeries.ParameterId)); - Assert.IsTrue(locations.Any(l => l.Name == timeSeries.LocationId)); + TimeSerieEntry firstEntry = timeSeries.Entries.First(); + Assert.AreEqual(1.226, firstEntry.Value, "The computed safety factory is not correct"); + TimeSerieEntry lastEntry = timeSeries.Entries.Last(); + Assert.AreEqual(0.800, lastEntry.Value, "The computed safety factory is not correct"); + } - if (timeSeries.LocationId == "1C_31_5_bishop_binnen") - { - TimeSerieEntry firstEntry = timeSeries.Entries.First(); - Assert.AreEqual(1.226, firstEntry.Value, "The computed safety factory is not correct"); - TimeSerieEntry lastEntry = timeSeries.Entries.Last(); - Assert.AreEqual(0.800, lastEntry.Value, "The computed safety factory is not correct"); - } + if (timeSeries.LocationId == "1D_34_bishop_binnen") + { + TimeSerieEntry firstEntry = timeSeries.Entries.First(); + Assert.AreEqual(1.319, firstEntry.Value, "The computed safety factory is not correct"); + TimeSerieEntry lastEntry = timeSeries.Entries.Last(); + Assert.AreEqual(0.864, lastEntry.Value, "The computed safety factory is not correct"); + } - if (timeSeries.LocationId == "1D_34_bishop_binnen") - { - TimeSerieEntry firstEntry = timeSeries.Entries.First(); - Assert.AreEqual(1.319, firstEntry.Value, "The computed safety factory is not correct"); - TimeSerieEntry lastEntry = timeSeries.Entries.Last(); - Assert.AreEqual(0.864, lastEntry.Value, "The computed safety factory is not correct"); - } - - if (timeSeries.LocationId == "2A_37_bishop_binnen") - { - TimeSerieEntry firstEntry = timeSeries.Entries.First(); - Assert.AreEqual(1.318, firstEntry.Value, "The computed safety factory is not correct"); - TimeSerieEntry lastEntry = timeSeries.Entries.Last(); - Assert.AreEqual(0.891, lastEntry.Value, "The computed safety factory is not correct"); - } - - seriesCount++; + if (timeSeries.LocationId == "2A_37_bishop_binnen") + { + TimeSerieEntry firstEntry = timeSeries.Entries.First(); + Assert.AreEqual(1.318, firstEntry.Value, "The computed safety factory is not correct"); + TimeSerieEntry lastEntry = timeSeries.Entries.Last(); + Assert.AreEqual(0.891, lastEntry.Value, "The computed safety factory is not correct"); } - Assert.AreEqual(locations.Count, seriesCount, "Number of output time series not equal to number of locations"); + seriesCount++; } - #region Helper methods + Assert.AreEqual(locations.Count, seriesCount, "Number of output time series not equal to number of locations"); + } - /// - /// Asserts that there are no errors in the runner - /// - private void AssertNoErrors() + #region Helper methods + + /// + /// Asserts that there are no errors in the runner + /// + private void AssertNoErrors() + { + if (runner.HasErrors) { - if (runner.HasErrors) - { - Assert.Fail("The test failed. See the error log in the test output console for more info"); - } + Assert.Fail("The test failed. See the error log in the test output console for more info"); } + } - #endregion + #endregion - #region Test Setup + #region Test Setup - const string TestWorkingFolder = "DamLiveUsingCompleteDataSetTest"; - private const string TestDataFolder = @"TestData\DamLive\Set3"; - private List locations; + const string TestWorkingFolder = "DamLiveUsingCompleteDataSetTest"; + private const string TestDataFolder = @"TestData\DamLive\Set3"; + private List locations; - private string inputFile; - private string outputFile; - private string projectFile; - private string parameterFile; + private string inputFile; + private string outputFile; + private string projectFile; + private string parameterFile; - private TestModelRunner runner; + private TestModelRunner runner; - [SetUp] - public void SetupFixture() - { - IoHelper.RemoveTestWorkingDirectory(TestWorkingFolder); // to be sure no test directory exist from previous tests - Directory.CreateDirectory(TestWorkingFolder); - } + [SetUp] + public void SetupFixture() + { + IoHelper.RemoveTestWorkingDirectory(TestWorkingFolder); // to be sure no test directory exist from previous tests + Directory.CreateDirectory(TestWorkingFolder); + } - [TearDown] - public void TearDownFixture() - { - //IOHelper.RemoveTestWorkingDirectory(TestWorkingFolder); - } + [TearDown] + public void TearDownFixture() + { + //IOHelper.RemoveTestWorkingDirectory(TestWorkingFolder); + } - [TearDown] - public void TearDownTest() - { - AssertNoErrors(); - } + [TearDown] + public void TearDownTest() + { + AssertNoErrors(); + } - [SetUp] - public void SetupTest() - { - // create a random unique test directory name in the - // test working folder - string actualTestPath = Guid.NewGuid().ToString().Replace("-", ""); - actualTestPath = Path.Combine(TestWorkingFolder, actualTestPath); - Directory.CreateDirectory(actualTestPath); + [SetUp] + public void SetupTest() + { + // create a random unique test directory name in the + // test working folder + string actualTestPath = Guid.NewGuid().ToString().Replace("-", ""); + actualTestPath = Path.Combine(TestWorkingFolder, actualTestPath); + Directory.CreateDirectory(actualTestPath); - DirectoryHelper.CopyRecursive(actualTestPath, TestDataFolder); + DirectoryHelper.CopyRecursive(actualTestPath, TestDataFolder); - //inputFile = Path.Combine(actualTestPath, "live.FEWS.InputFile.1Step.xml"); - inputFile = Path.Combine(actualTestPath, "live.FEWS.InputFile.xml"); - outputFile = Path.Combine(actualTestPath, "live.FEWS.OutputFile.xml"); - parameterFile = Path.Combine(actualTestPath, "live.ParametersFile.xml"); - projectFile = Path.Combine(actualTestPath, "output.damx"); + //inputFile = Path.Combine(actualTestPath, "live.FEWS.InputFile.1Step.xml"); + inputFile = Path.Combine(actualTestPath, "live.FEWS.InputFile.xml"); + outputFile = Path.Combine(actualTestPath, "live.FEWS.OutputFile.xml"); + parameterFile = Path.Combine(actualTestPath, "live.ParametersFile.xml"); + projectFile = Path.Combine(actualTestPath, "output.damx"); - DamProject.SetTestProgramVersion("19.1"); - DamProjectData damData = DamProject.LoadData(projectFile); - locations = damData.Locations; + DamProject.SetTestProgramVersion("19.1"); + DamProjectData damData = DamProject.LoadData(projectFile); + locations = damData.Locations; - // Load the sensor time serie data (see input file for details) - TimeSerieCollection inputTimeSeries = TimeSerieCollection.LoadFromFile(inputFile); + // Load the sensor time serie data (see input file for details) + TimeSerieCollection inputTimeSeries = TimeSerieCollection.LoadFromFile(inputFile); - runner = new TestModelRunner - { - DamXFile = new FileInfo(projectFile), - ParametersFile = new FileInfo(parameterFile), - FewsInputFile = new FileInfo(inputFile), - FewsOutputFile = new FileInfo(outputFile), - RunnerDelegate = new SensorModelRunner(), - InputTimeSeriesCollection = inputTimeSeries - }; - } - - #endregion + runner = new TestModelRunner + { + DamXFile = new FileInfo(projectFile), + ParametersFile = new FileInfo(parameterFile), + FewsInputFile = new FileInfo(inputFile), + FewsOutputFile = new FileInfo(outputFile), + RunnerDelegate = new SensorModelRunner(), + InputTimeSeriesCollection = inputTimeSeries + }; } + + #endregion } \ No newline at end of file