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

View File

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

View File

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

View File

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

View File

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

View File

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