fix: fix some bugs and tests, ref: A24-3

This commit is contained in:
Simon Diesenreiter
2024-12-02 10:39:18 +01:00
parent 8707e0da3a
commit b74a8f5212
6 changed files with 68 additions and 32 deletions

View File

@@ -94,8 +94,8 @@ public class TextParserTests
Assert.Equal("dc", (tokens[5] as StringToken)?.GetValue());
}
[Fact]
public void TextParser_TestRepetition()
[Fact]
public void TextParser_TestRepetitionAsRows()
{
var schemaBuilder = new InputSchemaBuilder();
var schema = schemaBuilder
@@ -108,7 +108,7 @@ public class TextParserTests
var rows = parser
.SetInputText(testInput3)
.Parse()
.AsRows();
.AsRows<int>();
Assert.Equal(3, rows.Count);
Assert.Equal(4, rows[0].Length);
@@ -116,13 +116,45 @@ public class TextParserTests
Assert.Equal(4, rows[0][1]);
Assert.Equal(6, rows[0][2]);
Assert.Equal(1, rows[0][3]);
Assert.Equal(2, rows[1][0]);
Assert.Equal(4, rows[1][1]);
Assert.Equal(6, rows[1][2]);
Assert.Equal(1, rows[1][3]);
Assert.Equal(2, rows[2][0]);
Assert.Equal(4, rows[2][1]);
Assert.Equal(6, rows[2][2]);
Assert.Equal(1, rows[2][3]);
Assert.Equal(3, rows[1][0]);
Assert.Equal(5, rows[1][1]);
Assert.Equal(7, rows[1][2]);
Assert.Equal(2, rows[1][3]);
Assert.Equal(4, rows[2][0]);
Assert.Equal(6, rows[2][1]);
Assert.Equal(8, rows[2][2]);
Assert.Equal(3, rows[2][3]);
}
[Fact]
public void TextParser_TestRepetitionAsColumns()
{
var schemaBuilder = new InputSchemaBuilder();
var schema = schemaBuilder
.Repeat(4)
.Expect(InputType.Integer)
.EndRepetition()
.Build();
var parser = new TextParser(schema);
var columns = parser
.SetInputText(testInput3)
.Parse()
.AsColumns<int>();
Assert.Equal(4, columns.Count);
Assert.Equal(3, columns[0].Length);
Assert.Equal(2, columns[0][0]);
Assert.Equal(3, columns[0][1]);
Assert.Equal(4, columns[0][2]);
Assert.Equal(4, columns[1][0]);
Assert.Equal(5, columns[1][1]);
Assert.Equal(6, columns[1][2]);
Assert.Equal(6, columns[2][0]);
Assert.Equal(7, columns[2][1]);
Assert.Equal(8, columns[2][2]);
Assert.Equal(1, columns[3][0]);
Assert.Equal(2, columns[3][1]);
Assert.Equal(3, columns[3][2]);
}
}