public void Constructor_Span() { string val = "Data1,Data2,Data3"; Span <char> span = new Span <char>(val.ToCharArray()); var data = new DsvReader(span, System.Text.Encoding.UTF8, new DsvOptions(',', '"', false)); List <ReadOnlyMemory <char> > values = new List <ReadOnlyMemory <char> >(); while (data.MoveNext()) { values.Add(data.ReadNextAsMemory()); } Assert.Equal(val, string.Join(",", values)); }
public void ReadNextSequential() { Span <string> span = new Span <string>(new string[10]); span.Fill("Data"); var file = string.Join(",", span.ToArray()); var data = new DsvReader(file, System.Text.Encoding.UTF8, DsvOptions.DefaultCsvOptions); List <ReadOnlyMemory <char> > values = new List <ReadOnlyMemory <char> >(); while (data.MoveNext()) { values.Add(data.ReadNextAsMemory()); } Assert.Equal(span.ToArray(), values.Select(x => x.ToString()).ToArray()); }
public void PublicPropertyState() { string file = FileGenerator("Column", "Data", 1, 3); var data = new DsvReader(file, System.Text.Encoding.UTF8, DsvOptions.DefaultCsvOptions); Assert.True(data.MoveNext()); var column1 = data.ReadNextAsMemory().ToString(); Assert.Equal("Column1", column1); Assert.Empty(data.ReadNextAsMemory().ToString()); Assert.Equal(1, data.Column); Assert.Equal(1, data.ColumnCount); Assert.Equal(0, data.RowCount); Assert.False(data.ColumnsFilled); Assert.False(data.NewRowNextRead); Assert.True(data.MoveNext()); var column2 = data.ReadNextAsMemory().ToString(); Assert.Equal("Column2", column2); Assert.Empty(data.ReadNextAsMemory().ToString()); Assert.Equal(2, data.Column); Assert.Equal(2, data.ColumnCount); Assert.Equal(0, data.RowCount); Assert.False(data.ColumnsFilled); Assert.False(data.NewRowNextRead); Assert.True(data.MoveNext()); var column3 = data.ReadNextAsMemory().ToString(); Assert.Equal("Column3", column3); Assert.Empty(data.ReadNextAsMemory().ToString()); Assert.Equal(3, data.Column); Assert.Equal(3, data.ColumnCount); Assert.Equal(1, data.RowCount); Assert.True(data.ColumnsFilled); Assert.True(data.NewRowNextRead); Assert.True(data.MoveNext()); var data1 = data.ReadNextAsMemory().ToString(); Assert.Equal("Data1", data1); Assert.Empty(data.ReadNextAsMemory().ToString()); Assert.Equal(1, data.Column); Assert.Equal(3, data.ColumnCount); Assert.Equal(1, data.RowCount); Assert.True(data.ColumnsFilled); Assert.False(data.NewRowNextRead); Assert.True(data.MoveNext()); var data2 = data.ReadNextAsMemory().ToString(); Assert.Equal("Data2", data2); Assert.Empty(data.ReadNextAsMemory().ToString()); Assert.Equal(2, data.Column); Assert.Equal(3, data.ColumnCount); Assert.Equal(1, data.RowCount); Assert.True(data.ColumnsFilled); Assert.False(data.NewRowNextRead); Assert.True(data.MoveNext()); var data3 = data.ReadNextAsMemory().ToString(); Assert.Equal("Data3", data3); Assert.Empty(data.ReadNextAsMemory().ToString()); Assert.Equal(3, data.Column); Assert.Equal(3, data.ColumnCount); Assert.Equal(2, data.RowCount); Assert.True(data.ColumnsFilled); Assert.False(data.NewRowNextRead); Assert.False(data.MoveNext()); }