Fix some warnings

This commit is contained in:
2023-08-18 02:48:31 +02:00
parent ddd49a0d80
commit fb6d8d76a1
6 changed files with 45 additions and 46 deletions

View File

@@ -4,42 +4,43 @@ namespace CvsLib;
public class CsvFieldIndexerTests
{
#region GenerateIndex
[Fact]
public void GenerateIndex__Empty()
{
// --- Arrange
StringReader sr = new(string.Empty);
// --- Act
CsvFieldIndexer indexer = new();
indexer.GenerateIndex(sr);
// --- Assert
Assert.Single(indexer.Index);
Assert.Equal(0, indexer.Index[0]);
Assert.Empty(indexer.FieldIndex);
}
[Fact]
public void GenerateIndex__PlainText__OneRow()
{
// --- Arrange
StringReader sr = new("Hello World");
// --- Act
CsvFieldIndexer indexer = new();
indexer.GenerateIndex(sr);
// --- Assert
Assert.Equal(2, indexer.Index.Count);
Assert.Equal(0, indexer.Index[0]);
Assert.Equal(12, indexer.Index[1]);
Assert.Single(indexer.FieldIndex);
Assert.Equal(0, indexer.FieldIndex[0][0]);
Assert.Equal(10, indexer.FieldIndex[0][1]);
@@ -50,21 +51,21 @@ public class CsvFieldIndexerTests
{
// --- Arrange
StringReader sr = new("""
Hello World
Hello World
""");
Hello World
Hello World
""");
// --- Act
CsvFieldIndexer indexer = new();
indexer.GenerateIndex(sr);
// --- Assert
Assert.Equal(3, indexer.Index.Count);
Assert.Equal(0, indexer.Index[0]);
Assert.Equal(12, indexer.Index[1]);
Assert.Equal(24, indexer.Index[2]);
Assert.Equal(2, indexer.FieldIndex.Count);
Assert.Equal(2, indexer.FieldIndex[0].Count);
Assert.Equal(0, indexer.FieldIndex[0][0]);
@@ -79,21 +80,21 @@ public class CsvFieldIndexerTests
{
// --- Arrange
StringReader sr = new("""
"Hello World"
"Hello World"
""");
"Hello World"
"Hello World"
""");
// --- Act
CsvFieldIndexer indexer = new();
indexer.GenerateIndex(sr);
// --- Assert
Assert.Equal(3, indexer.Index.Count);
Assert.Equal(0, indexer.Index[0]);
Assert.Equal(14, indexer.Index[1]);
Assert.Equal(28, indexer.Index[2]);
Assert.Equal(2, indexer.FieldIndex.Count);
Assert.Equal(2, indexer.FieldIndex[0].Count);
Assert.Equal(1, indexer.FieldIndex[0][0]);
@@ -108,21 +109,21 @@ public class CsvFieldIndexerTests
{
// --- Arrange
StringReader sr = new("""
"Hello","World"
"Hello","World"
""");
"Hello","World"
"Hello","World"
""");
// --- Act
CsvFieldIndexer indexer = new();
indexer.GenerateIndex(sr);
// --- Assert
Assert.Equal(3, indexer.Index.Count);
Assert.Equal(0, indexer.Index[0]);
Assert.Equal(16, indexer.Index[1]);
Assert.Equal(32, indexer.Index[2]);
Assert.Equal(2, indexer.FieldIndex.Count);
Assert.Equal(4, indexer.FieldIndex[0].Count);
Assert.Equal(1, indexer.FieldIndex[0][0]);
@@ -136,7 +137,6 @@ public class CsvFieldIndexerTests
Assert.Equal(29, indexer.FieldIndex[1][3]);
}
#endregion GenerateIndex
}
}

View File

@@ -25,7 +25,7 @@ namespace CsvLib
public List<long> Index { get { return _index; } }
private List<List<long>> _fieldIndex = new List<List<long>>();
public List<List<long>> FieldIndex { get { return _fieldIndex; } }
private void DummyParser(string line)
@@ -50,7 +50,6 @@ namespace CsvLib
if (c == _escapeChar && _insideString)
{
i++;
c = line[i];
}
}
}
@@ -84,7 +83,6 @@ namespace CsvLib
else if (c == _escapeChar && _insideString)
{
i++;
c = line[i];
}
else if ((c == '\n' || c == '\r') && _insideString == false)
{
@@ -116,7 +114,7 @@ namespace CsvLib
GenerateIndex(streamReader);
}
}
public void GenerateIndex(TextReader textReader)
{
_insideString = false;
@@ -130,14 +128,14 @@ namespace CsvLib
{
DummyParser(currentLine);
if (_insideString) { continue; }
string fullLine = reader.GetBuffer();
reader.CleanBuffer();
List<long> fieldIndexes = ParseLineIndex(fullLine, _index[idxRow]);
_fieldIndex.Add(fieldIndexes);
_index.Add(reader.Position);
idxRow++;
}
}
@@ -193,7 +191,7 @@ namespace CsvLib
DateTime dtNow = DateTime.UtcNow;
GenerateIndex(file);
TimeSpan tsGenIndex = DateTime.UtcNow - dtNow;
// Save Index if expensive generation
if (tsGenIndex.TotalSeconds > 2)
{

View File

@@ -46,7 +46,6 @@ namespace CsvLib
if (c == _escapeChar && _insideString)
{
i++;
c = line[i];
}
}
}
@@ -125,7 +124,7 @@ namespace CsvLib
DateTime dtNow = DateTime.UtcNow;
GenerateIndex(file);
TimeSpan tsGenIndex = DateTime.UtcNow - dtNow;
// Save Index if expensive generation
if (tsGenIndex.TotalSeconds > 2)
{

View File

@@ -104,6 +104,6 @@ namespace CsvLib
}
stream.Close();
}
}
}

View File

@@ -4,7 +4,7 @@ using Avalonia.Markup.Xaml;
namespace CsvView;
public partial class App : Application
public class App : Application
{
public override void Initialize()
{

View File

@@ -5,6 +5,8 @@ using Avalonia.Interactivity;
using Avalonia.Platform.Storage;
using CsvLib;
// ReSharper disable UnusedParameter.Local
namespace CsvView;
public partial class MainWindow : Window