Index: DamClients/DamUI/trunk/src/Dam/Tests/CsvImporterTestsNew.cs
===================================================================
diff -u -r2541 -r2547
--- DamClients/DamUI/trunk/src/Dam/Tests/CsvImporterTestsNew.cs (.../CsvImporterTestsNew.cs) (revision 2541)
+++ DamClients/DamUI/trunk/src/Dam/Tests/CsvImporterTestsNew.cs (.../CsvImporterTestsNew.cs) (revision 2547)
@@ -217,9 +217,6 @@
}
}
- ///
- /// Create csv file with surface lines
- ///
private void CreateSurfaceLinesFile()
{
string importFile = importFolder + "\\surfacelines.csv";
@@ -236,9 +233,6 @@
}
}
- ///
- /// Create csv file with surface lines with
- ///
private void CreateSurfaceLinesFileWithLocationId()
{
string importFile = importFolder + "\\surfacelines.csv";
@@ -319,6 +313,38 @@
}
}
+ private void CreateScenariosWithHeadPl3AndHeadPl4File()
+ {
+ string importFile = importFolder + "\\scenarios.csv";
+ if (File.Exists(importFile))
+ File.Delete(importFile);
+ using (var writer = File.CreateText(importFile))
+ {
+ writer.WriteLine(
+ "location_id;location_scenario_id;head_pl3;head_pl4");
+ writer.WriteLine(
+ "D1;1;0.001;0.002");
+ writer.WriteLine(
+ "D2;1;0.003;0.004");
+ }
+ }
+
+ private void CreateScenariosWithHeadPl3AndHeadPl4OldFormatFile()
+ {
+ string importFile = importFolder + "\\scenarios.csv";
+ if (File.Exists(importFile))
+ File.Delete(importFile);
+ using (var writer = File.CreateText(importFile))
+ {
+ writer.WriteLine(
+ "location_id;location_scenario_id;HeadPl3;HeadPl4");
+ writer.WriteLine(
+ "D1;1;0.011;0.012");
+ writer.WriteLine(
+ "D2;1;0.013;0.014");
+ }
+ }
+
private void CreateLocationsFileWithObsoleteColumn()
{
string importFile = importFolder + "\\locations.csv";
@@ -367,9 +393,6 @@
}
}
- ///
- /// Test
- ///
[Test]
[ExpectedException(typeof(ArgumentException))]
public void SegmentImporterThrowsArgumentExceptionWhenFileNameIsEmpty()
@@ -510,7 +533,6 @@
IList characteristicPointsRecords = csvImporterCharacteristicPoints.ImportedItems;
CheckCharacteristicPoints(characteristicPointsRecords);
}
-
[Test]
public void CharacteristicPointsWithLocationIdImporterCorrectFileTest()
@@ -891,6 +913,48 @@
}
[Test]
+ public void ScenariosImporterWithHeadPl3AndHeadPl4Test()
+ {
+ string importFile = importFolder + "\\scenarios.csv";
+ if (File.Exists(importFile))
+ File.Delete(importFile);
+ CreateScenariosWithHeadPl3AndHeadPl4File();
+ CsvImporterScenarios csvImporterScenarios = new CsvImporterScenarios(importFolder + "\\scenarios.csv");
+ IList scenarioRecords = csvImporterScenarios.ImportedItems;
+
+ Assert.AreEqual("D1", scenarioRecords[0].LocationId);
+ Assert.AreEqual("1", scenarioRecords[0].LocationScenarioId);
+ Assert.AreEqual(0.001, scenarioRecords[0].HeadPl3);
+ Assert.AreEqual(0.002, scenarioRecords[0].HeadPl4);
+
+ Assert.AreEqual("D2", scenarioRecords[1].LocationId);
+ Assert.AreEqual("1", scenarioRecords[1].LocationScenarioId);
+ Assert.AreEqual(0.003, scenarioRecords[1].HeadPl3);
+ Assert.AreEqual(0.004, scenarioRecords[1].HeadPl4);
+ }
+
+ [Test]
+ public void ScenariosImporterWithHeadPl3AndHeadPl4OldFormatTest()
+ {
+ string importFile = importFolder + "\\scenarios.csv";
+ if (File.Exists(importFile))
+ File.Delete(importFile);
+ CreateScenariosWithHeadPl3AndHeadPl4OldFormatFile();
+ CsvImporterScenarios csvImporterScenarios = new CsvImporterScenarios(importFolder + "\\scenarios.csv");
+ IList scenarioRecords = csvImporterScenarios.ImportedItems;
+
+ Assert.AreEqual("D1", scenarioRecords[0].LocationId);
+ Assert.AreEqual("1", scenarioRecords[0].LocationScenarioId);
+ Assert.AreEqual(0.011, scenarioRecords[0].HeadPl3);
+ Assert.AreEqual(0.012, scenarioRecords[0].HeadPl4);
+
+ Assert.AreEqual("D2", scenarioRecords[1].LocationId);
+ Assert.AreEqual("1", scenarioRecords[1].LocationScenarioId);
+ Assert.AreEqual(0.013, scenarioRecords[1].HeadPl3);
+ Assert.AreEqual(0.014, scenarioRecords[1].HeadPl4);
+ }
+
+ [Test]
public void AllCsvTimingTest()
{
DataEventPublisher.InvokeWithoutPublishingEvents(() =>
@@ -913,6 +977,5 @@
Assert.Less(elapsed, maxTime);
});
}
-
}
}
Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/CsvImporters/CsvImporterScenarios.cs
===================================================================
diff -u -r2512 -r2547
--- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/CsvImporters/CsvImporterScenarios.cs (.../CsvImporterScenarios.cs) (revision 2512)
+++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/CsvImporters/CsvImporterScenarios.cs (.../CsvImporterScenarios.cs) (revision 2547)
@@ -161,6 +161,8 @@
int colIndexUsePlLineOffsetFactorBelowShoulderCrest = CsvReaderUtilities.GetHeaderIndexByString(headers, CsvColumnNames.UsePlLineOffsetFactorBelowShoulderCrestColumnName);
int colIndexHeadPl3 = CsvReaderUtilities.GetHeaderIndexByString(headers, CsvColumnNames.HeadPl3ColumnName);
int colIndexHeadPl4 = CsvReaderUtilities.GetHeaderIndexByString(headers, CsvColumnNames.HeadPl4ColumnName);
+ int colIndexHeadPl3OldFormat = CsvReaderUtilities.GetHeaderIndexByString(headers, CsvColumnNames.HeadPl3OldFormatColumnName);
+ int colIndexHeadPl4OldFormat = CsvReaderUtilities.GetHeaderIndexByString(headers, CsvColumnNames.HeadPl4OldFormatColumnName);
var index = 1;
while (csv.ReadNextRecord())
@@ -267,11 +269,27 @@
colIndex = colIndexHeadPl3;
scenario.HeadPl3 = Convert.ToDouble(csv[colIndex]);
}
+ else
+ {
+ if (colIndexHeadPl3OldFormat > -1)
+ {
+ colIndex = colIndexHeadPl3OldFormat;
+ scenario.HeadPl3 = Convert.ToDouble(csv[colIndex]);
+ }
+ }
if (colIndexHeadPl4 > -1)
{
colIndex = colIndexHeadPl4;
scenario.HeadPl4 = Convert.ToDouble(csv[colIndex]);
}
+ else
+ {
+ if (colIndexHeadPl4OldFormat > -1)
+ {
+ colIndex = colIndexHeadPl4OldFormat;
+ scenario.HeadPl4 = Convert.ToDouble(csv[colIndex]);
+ }
+ }
scenarioRecords.Add(scenario);
}
catch (Exception e)
Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Importers/CsvColumnNames.cs
===================================================================
diff -u -r2529 -r2547
--- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Importers/CsvColumnNames.cs (.../CsvColumnNames.cs) (revision 2529)
+++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Importers/CsvColumnNames.cs (.../CsvColumnNames.cs) (revision 2547)
@@ -86,6 +86,16 @@
public const string HeadPl4ColumnName = "head_pl4";
///
+ /// head_pl3
+ ///
+ public const string HeadPl3OldFormatColumnName = "HeadPl3";
+
+ ///
+ /// head_pl4
+ ///
+ public const string HeadPl4OldFormatColumnName = "HeadPl4";
+
+ ///
/// x_soilgeometry2D_origin
///
public const string XSoilGeometry2DOriginColumnName = "x_soilgeometry2D_origin";