Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/IO/DesignTableSettingsCsvReader.cs
===================================================================
diff -u -r5c026d00112581020f7547e0b956406abc9c56b8 -re43f4bf3f03c8566f64f02cac30dd9444f6dfa34
--- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/IO/DesignTableSettingsCsvReader.cs (.../DesignTableSettingsCsvReader.cs) (revision 5c026d00112581020f7547e0b956406abc9c56b8)
+++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/IO/DesignTableSettingsCsvReader.cs (.../DesignTableSettingsCsvReader.cs) (revision e43f4bf3f03c8566f64f02cac30dd9444f6dfa34)
@@ -21,7 +21,6 @@
using System;
using System.Collections.Generic;
-using System.Linq;
using Ringtoets.HydraRing.Calculation.Data;
using Ringtoets.HydraRing.Calculation.Data.Settings;
@@ -30,14 +29,8 @@
///
/// The reader for the in csv format.
///
- internal class DesignTableSettingsCsvReader
+ internal class DesignTableSettingsCsvReader : HydraRingSettingsCsvReader>>
{
- private const char separator = ';';
-
- private readonly string fileContents;
-
- private readonly IDictionary> settings = new Dictionary>();
-
private readonly Dictionary columns = new Dictionary
{
{
@@ -81,47 +74,23 @@
///
/// The file to read.
/// Thrown when is not set.
- public DesignTableSettingsCsvReader(string file)
- {
- if (file == null)
- {
- throw new ArgumentNullException("file", @"A file must be set.");
- }
+ public DesignTableSettingsCsvReader(string file) : base(file, new Dictionary>()) {}
- fileContents = file;
- }
-
- ///
- /// Reads the settings from the file.
- ///
- /// A with the settings.
- public IDictionary> ReadSettings()
+ protected override void CreateSetting(IList line)
{
- string[] lines = fileContents.Split('\n');
-
- foreach (string line in lines.Skip(1).Where(s => !string.IsNullOrEmpty(s)))
- {
- CreateSetting(TokenizeString(line));
- }
-
- return settings;
- }
-
- private void CreateSetting(IList line)
- {
// Get failure mechanism
- HydraRingFailureMechanismType failureMechanismType = GetFailureMechanismType(line);
+ var failureMechanismType = GetFailureMechanismType(line);
- if (!settings.ContainsKey(failureMechanismType))
+ if (!Settings.ContainsKey(failureMechanismType))
{
- settings.Add(failureMechanismType, new Dictionary());
+ Settings.Add(failureMechanismType, new Dictionary());
}
// Get TrajectId
- string ringId = GetRingId(line);
- if (!settings[failureMechanismType].ContainsKey(ringId))
+ var ringId = GetRingId(line);
+ if (!Settings[failureMechanismType].ContainsKey(ringId))
{
- settings[failureMechanismType].Add(ringId, GetDesignTableSettings(line));
+ Settings[failureMechanismType].Add(ringId, GetDesignTableSettings(line));
}
}
@@ -141,28 +110,6 @@
GetIntValueFromElement(line[columns[maxKey]]));
}
- private string GetStringValueFromElement(string element)
- {
- return element.Trim().Replace("\"", "");
- }
-
- private int GetIntValueFromElement(string element)
- {
- return int.Parse(GetStringValueFromElement(element));
- }
-
- private string[] TokenizeString(string readText)
- {
- if (!readText.Contains(separator))
- {
- return new string[]
- {};
- }
- return readText.Split(separator)
- .TakeWhile(text => !string.IsNullOrEmpty(text))
- .ToArray();
- }
-
#region Csv column names
private const string ringIdKey = "TrajectID";
Fisheye: Tag 67aa825f436900190ff7324c7ad0d30338dda6ff refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/IO/HydraRingSettingsCsvReader.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/IO/NumericsSettingsCsvReader.cs
===================================================================
diff -u -r5c026d00112581020f7547e0b956406abc9c56b8 -re43f4bf3f03c8566f64f02cac30dd9444f6dfa34
--- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/IO/NumericsSettingsCsvReader.cs (.../NumericsSettingsCsvReader.cs) (revision 5c026d00112581020f7547e0b956406abc9c56b8)
+++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/IO/NumericsSettingsCsvReader.cs (.../NumericsSettingsCsvReader.cs) (revision e43f4bf3f03c8566f64f02cac30dd9444f6dfa34)
@@ -21,23 +21,15 @@
using System;
using System.Collections.Generic;
-using System.Globalization;
-using System.Linq;
using Ringtoets.HydraRing.Calculation.Data.Settings;
namespace Ringtoets.HydraRing.Calculation.IO
{
///
/// The reader for the in csv format.
///
- internal class NumericsSettingsCsvReader
+ internal class NumericsSettingsCsvReader : HydraRingSettingsCsvReader>>>
{
- private const char separator = ';';
-
- private readonly string fileContents;
-
- private readonly IDictionary>> settings = new Dictionary>>();
-
private readonly Dictionary columns = new Dictionary
{
{
@@ -98,56 +90,32 @@
///
/// The file to read.
/// Thrown when is not set.
- public NumericsSettingsCsvReader(string file)
- {
- if (string.IsNullOrEmpty(file))
- {
- throw new ArgumentNullException("file", @"A file must be set.");
- }
+ public NumericsSettingsCsvReader(string file) : base(file, new Dictionary>>()) {}
- fileContents = file;
- }
-
- ///
- /// Reads the settings from the file.
- ///
- /// A with the settings.
- public IDictionary>> ReadSettings()
+ protected override void CreateSetting(IList line)
{
- string[] lines = fileContents.Split('\n');
-
- foreach (string line in lines.Skip(1).Where(s => !string.IsNullOrEmpty(s)))
- {
- CreateSetting(TokenizeString(line));
- }
-
- return settings;
- }
-
- private void CreateSetting(IList line)
- {
// Get failure mechanism
- int failureMechanismType = GetFailureMechanismType(line);
+ var failureMechanismType = GetFailureMechanismType(line);
- if (!settings.ContainsKey(failureMechanismType))
+ if (!Settings.ContainsKey(failureMechanismType))
{
- settings.Add(failureMechanismType, new Dictionary>());
+ Settings.Add(failureMechanismType, new Dictionary>());
}
// Get sub mechanism
- int subMechanism = GetSubMechanismType(line);
+ var subMechanism = GetSubMechanismType(line);
- if (!settings[failureMechanismType].ContainsKey(subMechanism))
+ if (!Settings[failureMechanismType].ContainsKey(subMechanism))
{
- settings[failureMechanismType].Add(subMechanism, new Dictionary());
+ Settings[failureMechanismType].Add(subMechanism, new Dictionary());
}
// Get TrajectId
- string ringId = GetRingId(line);
+ var ringId = GetRingId(line);
- if (!settings[failureMechanismType][subMechanism].ContainsKey(ringId))
+ if (!Settings[failureMechanismType][subMechanism].ContainsKey(ringId))
{
- settings[failureMechanismType][subMechanism].Add(ringId, GetNumericSettings(line));
+ Settings[failureMechanismType][subMechanism].Add(ringId, GetNumericSettings(line));
}
}
@@ -163,49 +131,27 @@
private string GetRingId(IList line)
{
- return line[columns[ringIdKey]].Trim().Replace("\"", "");
+ return GetStringValueFromElement(line[columns[ringIdKey]]);
}
private NumericsSettings GetNumericSettings(IList line)
{
return new NumericsSettings(GetIntValueFromElement(line[columns[calculationMethodKey]]),
- GetIntValueFromElement(line[columns[formStartMethodKey]]),
- GetIntValueFromElement(line[columns[formIterationsKey]]),
- GetDoubleValueFromElement(line[columns[formRelaxationFactorKey]]),
- GetDoubleValueFromElement(line[columns[formEpsBetaKey]]),
- GetDoubleValueFromElement(line[columns[formEpsHohKey]]),
- GetDoubleValueFromElement(line[columns[formEpsZFuncKey]]),
- GetIntValueFromElement(line[columns[dsStartMethodKey]]),
- GetIntValueFromElement(line[columns[dsMinNumberOfIterationsKey]]),
- GetIntValueFromElement(line[columns[dsMaxNumberOfIterationsKey]]),
- GetDoubleValueFromElement(line[columns[dsVarCoefficientKey]]),
- GetDoubleValueFromElement(line[columns[niUMinKey]]),
- GetDoubleValueFromElement(line[columns[niUMaxKey]]),
- GetIntValueFromElement(line[columns[niNumberStepsKey]]));
+ GetIntValueFromElement(line[columns[formStartMethodKey]]),
+ GetIntValueFromElement(line[columns[formIterationsKey]]),
+ GetDoubleValueFromElement(line[columns[formRelaxationFactorKey]]),
+ GetDoubleValueFromElement(line[columns[formEpsBetaKey]]),
+ GetDoubleValueFromElement(line[columns[formEpsHohKey]]),
+ GetDoubleValueFromElement(line[columns[formEpsZFuncKey]]),
+ GetIntValueFromElement(line[columns[dsStartMethodKey]]),
+ GetIntValueFromElement(line[columns[dsMinNumberOfIterationsKey]]),
+ GetIntValueFromElement(line[columns[dsMaxNumberOfIterationsKey]]),
+ GetDoubleValueFromElement(line[columns[dsVarCoefficientKey]]),
+ GetDoubleValueFromElement(line[columns[niUMinKey]]),
+ GetDoubleValueFromElement(line[columns[niUMaxKey]]),
+ GetIntValueFromElement(line[columns[niNumberStepsKey]]));
}
- private static int GetIntValueFromElement(string element)
- {
- return int.Parse(element.Trim());
- }
-
- private static double GetDoubleValueFromElement(string element)
- {
- return double.Parse(element.Trim(), CultureInfo.InvariantCulture);
- }
-
- private string[] TokenizeString(string readText)
- {
- if (!readText.Contains(separator))
- {
- return new string[]
- {};
- }
- return readText.Split(separator)
- .TakeWhile(text => !string.IsNullOrEmpty(text))
- .ToArray();
- }
-
#region Csv column names
private const string ringIdKey = "TrajectID";
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Ringtoets.HydraRing.Calculation.csproj
===================================================================
diff -u -r4b712f1a6620a7df1fb982ca2612a1726a250c03 -re43f4bf3f03c8566f64f02cac30dd9444f6dfa34
--- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Ringtoets.HydraRing.Calculation.csproj (.../Ringtoets.HydraRing.Calculation.csproj) (revision 4b712f1a6620a7df1fb982ca2612a1726a250c03)
+++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Ringtoets.HydraRing.Calculation.csproj (.../Ringtoets.HydraRing.Calculation.csproj) (revision e43f4bf3f03c8566f64f02cac30dd9444f6dfa34)
@@ -68,6 +68,7 @@
+
Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/IO/DesignTableSettingsCsvReaderTest.cs
===================================================================
diff -u -r5c026d00112581020f7547e0b956406abc9c56b8 -re43f4bf3f03c8566f64f02cac30dd9444f6dfa34
--- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/IO/DesignTableSettingsCsvReaderTest.cs (.../DesignTableSettingsCsvReaderTest.cs) (revision 5c026d00112581020f7547e0b956406abc9c56b8)
+++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/IO/DesignTableSettingsCsvReaderTest.cs (.../DesignTableSettingsCsvReaderTest.cs) (revision e43f4bf3f03c8566f64f02cac30dd9444f6dfa34)
@@ -36,13 +36,13 @@
private readonly string testDataPath = TestHelper.GetTestDataPath(TestDataPath.Ringtoets.HydraRing.Calculation, "Settings");
[Test]
- public void Constructor_PathSet_DoesNotThrowArgumentNullException()
+ public void Constructor_ExpectedSettings()
{
// Call
- TestDelegate call = () => new DesignTableSettingsCsvReader("path.csv");
+ DesignTableSettingsCsvReader reader = new DesignTableSettingsCsvReader("path.csv");
// Assert
- Assert.DoesNotThrow(call);
+ Assert.IsInstanceOf>>>(reader);
}
[Test]
Fisheye: Tag 67aa825f436900190ff7324c7ad0d30338dda6ff refers to a dead (removed) revision in file `Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/IO/HydraRingSettingsCsvReaderTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/IO/NumericSettingsCsvReaderTest.cs
===================================================================
diff -u -r1a0ff933f6b5e06d3f7376652c88c068f9610a92 -re43f4bf3f03c8566f64f02cac30dd9444f6dfa34
--- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/IO/NumericSettingsCsvReaderTest.cs (.../NumericSettingsCsvReaderTest.cs) (revision 1a0ff933f6b5e06d3f7376652c88c068f9610a92)
+++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/IO/NumericSettingsCsvReaderTest.cs (.../NumericSettingsCsvReaderTest.cs) (revision e43f4bf3f03c8566f64f02cac30dd9444f6dfa34)
@@ -35,13 +35,13 @@
private readonly string testDataPath = TestHelper.GetTestDataPath(TestDataPath.Ringtoets.HydraRing.Calculation, "Settings");
[Test]
- public void Constructor_PathSet_DoesNotThrowArgumentNullException()
+ public void Constructor_ExpectedValues()
{
// Call
- TestDelegate call = () => new NumericsSettingsCsvReader("path.csv");
+ NumericsSettingsCsvReader reader = new NumericsSettingsCsvReader("path.csv");
// Assert
- Assert.DoesNotThrow(call);
+ Assert.IsInstanceOf>>>>(reader);
}
[Test]
Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Ringtoets.HydraRing.Calculation.Test.csproj
===================================================================
diff -u -r4b712f1a6620a7df1fb982ca2612a1726a250c03 -re43f4bf3f03c8566f64f02cac30dd9444f6dfa34
--- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Ringtoets.HydraRing.Calculation.Test.csproj (.../Ringtoets.HydraRing.Calculation.Test.csproj) (revision 4b712f1a6620a7df1fb982ca2612a1726a250c03)
+++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Ringtoets.HydraRing.Calculation.Test.csproj (.../Ringtoets.HydraRing.Calculation.Test.csproj) (revision e43f4bf3f03c8566f64f02cac30dd9444f6dfa34)
@@ -75,6 +75,7 @@
+