Fix some warnings
This commit is contained in:
@@ -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
|
||||||
}
|
|
||||||
|
}
|
||||||
|
|||||||
@@ -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)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -104,6 +104,6 @@ namespace CsvLib
|
|||||||
}
|
}
|
||||||
stream.Close();
|
stream.Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user