public void TestNotifyEveryRowAll(DataReaderSource source) { var r3 = TestDataHelpers.GetSampleDataReader(source, 100); var i = 0; var drr = r3.NotifyOn(p => i++, 1); drr.ReadToEnd(); Assert.AreEqual(100, i); //two notifications }
public void TestNotifyLastRow(DataReaderSource source) { var r3 = TestDataHelpers.GetSampleDataReader(DataReaderSource.DataTable, 100); //var r3 = GetADataReader(source, 3); var i = 0; var c = 0; var drr = r3.NotifyOn(p => { i = p; c++; }, 1024); drr.ReadToEnd(); Assert.AreEqual(100, i); Assert.AreEqual(1, c); }
public void TestModulus(DataReaderSource source) { var r3 = Enumerable.Range(1, 100).Select(i => new { Col1 = i, Col2 = 20, Col3 = "abc", }) .ToDataReader(); var i = 0; var drr = r3.NotifyOn(p => i = p, 10); drr.Read(3); Assert.AreEqual(0, i); //two notifications }
public static IDataReader GetSampleDataReader(DataReaderSource source, int count) { var r = Enumerable.Range(1, count).Select(i => new { Col1 = i, Col2 = i * 10, Col3 = $"{i}-abc", }) .ToArray(); var rr = source switch { DataReaderSource.Csv => (IDataReader)Csv.ReadString(r.ToCsvString()), DataReaderSource.DataTable => (IDataReader)r.ToDataTable().ToDataReader(), DataReaderSource.ObjectReader => (IDataReader)r.ToDataReader() }; return(rr); } }
public void TestNotifyEveryRowNoParam(DataReaderSource source) { var r3 = Enumerable.Range(1, 100).Select(i => new { Col1 = i, Col2 = 20, Col3 = "abc", }) .ToDataReader(); var i = 0; var drr = r3.NotifyOn(p => { i++; }); drr.Read(); drr.Read(); Assert.AreEqual(2, i); //two notifications }