Skip to content

Commit 444913b

Browse files
committed
+ tests refactor
1 parent f4b3331 commit 444913b

8 files changed

Lines changed: 49 additions & 39 deletions

UnitTests/Geopack/GepackTests.GeiGeo.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,10 @@ public async Task GeiGeo_ReturnsCorrectValues()
1919
string rawData = await EmbeddedResourceReader.ReadTextAsync(GeiGeoDatasetFileName);
2020
string[] lines = rawData.SplitLines();
2121

22-
foreach (string line in lines)
22+
IEnumerable<string[]> coordinateStrings = lines.Select(line => line.SplitParametersLine());
23+
24+
foreach (string[] coordinatesString in coordinateStrings)
2325
{
24-
string[] coordinatesString = line.SplitParametersLine();
2526
CartesianLocation locationGei = CartesianLocation.New(
2627
coordinatesString[1].ParseDouble(),
2728
coordinatesString[3].ParseDouble(),
@@ -52,9 +53,10 @@ public async Task GeoGei_ReturnsCorrectValues()
5253
string rawData = await EmbeddedResourceReader.ReadTextAsync(GeoGeiDatasetFileName);
5354
string[] lines = rawData.SplitLines();
5455

55-
foreach (string line in lines)
56+
IEnumerable<string[]> coordinateStrings = lines.Select(line => line.SplitParametersLine());
57+
58+
foreach (string[] coordinatesString in coordinateStrings)
5659
{
57-
string[] coordinatesString = line.SplitParametersLine();
5860
CartesianLocation locationGeo = CartesianLocation.New(
5961
coordinatesString[1].ParseDouble(),
6062
coordinatesString[3].ParseDouble(),

UnitTests/Geopack/GepackTests.GeoGsw.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,10 @@ public async Task GeoGsw_ReturnsCorrectValues()
1515
string rawData = await EmbeddedResourceReader.ReadTextAsync(GeoGswDatasetFileName);
1616
string[] lines = rawData.SplitLines();
1717

18-
foreach (string line in lines)
18+
IEnumerable<string[]> coordinateStrings = lines.Select(line => line.SplitParametersLine());
19+
20+
foreach (string[] coordinatesString in coordinateStrings)
1921
{
20-
string[] coordinatesString = line.SplitParametersLine();
2122
CartesianLocation geoLocation = CartesianLocation.New(coordinatesString[1].ParseDouble(),
2223
coordinatesString[3].ParseDouble(),
2324
coordinatesString[5].ParseDouble(),
@@ -45,9 +46,10 @@ public async Task GswGeo_ReturnsCorrectValues()
4546
string rawData = await EmbeddedResourceReader.ReadTextAsync(GswGeoDatasetFileName);
4647
string[] lines = rawData.SplitLines();
4748

48-
foreach (string line in lines)
49+
IEnumerable<string[]> coordinateStrings = lines.Select(line => line.SplitParametersLine());
50+
51+
foreach (string[] coordinatesString in coordinateStrings)
4952
{
50-
string[] coordinatesString = line.SplitParametersLine();
5153
CartesianLocation gswLocation = CartesianLocation.New(coordinatesString[1].ParseDouble(),
5254
coordinatesString[3].ParseDouble(),
5355
coordinatesString[5].ParseDouble(),

UnitTests/Geopack/GepackTests.GeoMag.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,10 @@ public async Task GeoMag_ReturnsCorrectValues()
1515
string rawData = await EmbeddedResourceReader.ReadTextAsync(GeoMagDatasetFileName);
1616
string[] lines = rawData.SplitLines();
1717

18-
foreach (string line in lines)
18+
IEnumerable<string[]> coordinateStrings = lines.Select(line => line.SplitParametersLine());
19+
20+
foreach (string[] coordinatesString in coordinateStrings)
1921
{
20-
string[] coordinatesString = line.SplitParametersLine();
2122
CartesianLocation geoLocation = CartesianLocation.New(coordinatesString[1].ParseDouble(),
2223
coordinatesString[3].ParseDouble(),
2324
coordinatesString[5].ParseDouble(),
@@ -45,9 +46,10 @@ public async Task MagGeo_ReturnsCorrectValues()
4546
string rawData = await EmbeddedResourceReader.ReadTextAsync(MagGeoDatasetFileName);
4647
string[] lines = rawData.SplitLines();
4748

48-
foreach (string line in lines)
49+
IEnumerable<string[]> coordinateStrings = lines.Select(line => line.SplitParametersLine());
50+
51+
foreach (string[] coordinatesString in coordinateStrings)
4952
{
50-
string[] coordinatesString = line.SplitParametersLine();
5153
CartesianLocation magLocation = CartesianLocation.New(coordinatesString[1].ParseDouble(),
5254
coordinatesString[3].ParseDouble(),
5355
coordinatesString[5].ParseDouble(),

UnitTests/Geopack/GepackTests.GeodGeo.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,10 @@ public async Task ToPolar_ReturnsCorrectValues()
1414
string rawData = await EmbeddedResourceReader.ReadTextAsync(GeodGeoDatasetFileName);
1515
string[] lines = rawData.SplitLines();
1616

17-
foreach (string line in lines)
17+
IEnumerable<string[]> coordinateStrings = lines.Select(line => line.SplitParametersLine());
18+
19+
foreach (string[] coordinatesString in coordinateStrings)
1820
{
19-
string[] coordinatesString = line.SplitParametersLine();
2021
GeodeticCoordinates testLocation = new(coordinatesString[3].ParseDouble(), coordinatesString[1].ParseDouble());
2122
GeocentricCoordinates approvedLocation = new(coordinatesString[5].ParseDouble(), coordinatesString[7].ParseDouble());
2223

@@ -36,9 +37,10 @@ public async Task ToGeodetic_ReturnsCorrectValues()
3637
string rawData = await EmbeddedResourceReader.ReadTextAsync(GeoGeodDatasetFileName);
3738
string[] lines = rawData.SplitLines();
3839

39-
foreach (string line in lines)
40+
IEnumerable<string[]> coordinateStrings = lines.Select(line => line.SplitParametersLine());
41+
42+
foreach (string[] coordinatesString in coordinateStrings)
4043
{
41-
string[] coordinatesString = line.SplitParametersLine();
4244
GeocentricCoordinates testLocation = new(coordinatesString[1].ParseDouble(), coordinatesString[3].ParseDouble());
4345
GeodeticCoordinates approvedLocation = new(coordinatesString[7].ParseDouble(), coordinatesString[5].ParseDouble());
4446

UnitTests/Geopack/GepackTests.GswGse.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,10 @@ public async Task GswGse_ReturnsCorrectValues()
1515
string rawData = await EmbeddedResourceReader.ReadTextAsync(GswGseDatasetFileName);
1616
string[] lines = rawData.SplitLines();
1717

18-
foreach (string line in lines)
18+
IEnumerable<string[]> coordinateStrings = lines.Select(line => line.SplitParametersLine());
19+
20+
foreach (string[] coordinatesString in coordinateStrings)
1921
{
20-
string[] coordinatesString = line.SplitParametersLine();
2122
CartesianLocation gswLocation = CartesianLocation.New(coordinatesString[1].ParseDouble(),
2223
coordinatesString[3].ParseDouble(),
2324
coordinatesString[5].ParseDouble(),
@@ -45,9 +46,10 @@ public async Task GseGsw_ReturnsCorrectValues()
4546
string rawData = await EmbeddedResourceReader.ReadTextAsync(GseGswDatasetFileName);
4647
string[] lines = rawData.SplitLines();
4748

48-
foreach (string line in lines)
49+
IEnumerable<string[]> coordinateStrings = lines.Select(line => line.SplitParametersLine());
50+
51+
foreach (string[] coordinatesString in coordinateStrings)
4952
{
50-
string[] coordinatesString = line.SplitParametersLine();
5153
CartesianLocation gseLocation = CartesianLocation.New(coordinatesString[1].ParseDouble(),
5254
coordinatesString[3].ParseDouble(),
5355
coordinatesString[5].ParseDouble(),

UnitTests/Geopack/GepackTests.MagSm.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,10 @@ public async Task MagSm_ReturnsCorrectValues()
1515
string rawData = await EmbeddedResourceReader.ReadTextAsync(MagSmDatasetFileName);
1616
string[] lines = rawData.SplitLines();
1717

18-
foreach (string line in lines)
18+
IEnumerable<string[]> coordinateStrings = lines.Select(line => line.SplitParametersLine());
19+
20+
foreach (string[] coordinatesString in coordinateStrings)
1921
{
20-
string[] coordinatesString = line.SplitParametersLine();
2122
CartesianLocation magLocation = CartesianLocation.New(coordinatesString[1].ParseDouble(),
2223
coordinatesString[3].ParseDouble(),
2324
coordinatesString[5].ParseDouble(),
@@ -45,9 +46,10 @@ public async Task SmMag_ReturnsCorrectValues()
4546
string rawData = await EmbeddedResourceReader.ReadTextAsync(SmMagDatasetFileName);
4647
string[] lines = rawData.SplitLines();
4748

48-
foreach (string line in lines)
49+
IEnumerable<string[]> coordinateStrings = lines.Select(line => line.SplitParametersLine());
50+
51+
foreach (string[] coordinatesString in coordinateStrings)
4952
{
50-
string[] coordinatesString = line.SplitParametersLine();
5153
CartesianLocation smLocation = CartesianLocation.New(coordinatesString[1].ParseDouble(),
5254
coordinatesString[3].ParseDouble(),
5355
coordinatesString[5].ParseDouble(),

UnitTests/Geopack/GepackTests.SmGsw.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,10 @@ public async Task SmGsw_ReturnsCorrectValues()
1515
string rawData = await EmbeddedResourceReader.ReadTextAsync(SmGswDatasetFileName);
1616
string[] lines = rawData.SplitLines();
1717

18-
foreach (string line in lines)
18+
IEnumerable<string[]> coordinateStrings = lines.Select(line => line.SplitParametersLine());
19+
20+
foreach (string[] coordinatesString in coordinateStrings)
1921
{
20-
string[] coordinatesString = line.SplitParametersLine();
2122
CartesianLocation smLocation = CartesianLocation.New(coordinatesString[1].ParseDouble(),
2223
coordinatesString[3].ParseDouble(),
2324
coordinatesString[5].ParseDouble(),
@@ -45,9 +46,10 @@ public async Task GswSm_ReturnsCorrectValues()
4546
string rawData = await EmbeddedResourceReader.ReadTextAsync(GswSmDatasetFileName);
4647
string[] lines = rawData.SplitLines();
4748

48-
foreach (string line in lines)
49+
IEnumerable<string[]> coordinateStrings = lines.Select(line => line.SplitParametersLine());
50+
51+
foreach (string[] coordinatesString in coordinateStrings)
4952
{
50-
string[] coordinatesString = line.SplitParametersLine();
5153
CartesianLocation gswLocation = CartesianLocation.New(coordinatesString[1].ParseDouble(),
5254
coordinatesString[3].ParseDouble(),
5355
coordinatesString[5].ParseDouble(),

UnitTests/Utils/GeopackDataParser.cs

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -81,18 +81,14 @@ public static GeopackCommons ParseRecalcCommons(string data)
8181
result.E33 = common1string[35].ParseDouble();
8282

8383
// Parse coordinates
84-
while (lineIndex < lines.Length)
85-
{
86-
string[] ghrec = lines[lineIndex++].Split(new[] { ' ', '\t' }, StringSplitOptions.RemoveEmptyEntries);
87-
if (ghrec.Length != 3)
88-
{
89-
continue;
90-
}
84+
List<string[]> ghrecLines = lines.Skip(lineIndex)
85+
.Select(line => line.Split(new[] { ' ', '\t' }, StringSplitOptions.RemoveEmptyEntries))
86+
.Where(ghrec => ghrec.Length == 3)
87+
.ToList();
9188

92-
result.G?.Add(ghrec[0].ParseDouble());
93-
result.H?.Add(ghrec[1].ParseDouble());
94-
result.REC?.Add(ghrec[2].ParseDouble());
95-
}
89+
result.G = ghrecLines.Select(ghrec => ghrec[0].ParseDouble()).ToList();
90+
result.H = ghrecLines.Select(ghrec => ghrec[1].ParseDouble()).ToList();
91+
result.REC = ghrecLines.Select(ghrec => ghrec[2].ParseDouble()).ToList();
9692

9793
return result;
9894
}

0 commit comments

Comments
 (0)