public void TestReader_WithSchema_SchemaNotCounted_WithFilter_LineCount() { var mapper = new SeparatedValueTypeMapper <Person>(() => new Person()); mapper.Property(x => x.Name); var people = new[] { new Person() { Name = "Bob" }, new Person() { Name = "Tom" }, new Person() { Name = "Jane" } }; StringWriter writer = new StringWriter(); mapper.Write(writer, people, new SeparatedValueOptions() { IsFirstRecordSchema = true }); string output = writer.ToString(); mapper.CustomProperty(x => x.RecordNumber, new RecordNumberColumn("RecordNumber") { IncludeSchema = false, IncludeFilteredRecords = true }); StringReader stringReader = new StringReader(output); var options = new SeparatedValueOptions() { IsFirstRecordSchema = true }; var reader = mapper.GetReader(stringReader, options); reader.RecordRead += (sender, e) => { e.IsSkipped = e.Values.Length == 1 && e.Values[0] == "Tom"; }; var results = reader.ReadAll().ToArray(); Assert.AreEqual(2, results.Length); Assert.AreEqual("Bob", results[0].Name); Assert.AreEqual(1, results[0].RecordNumber); Assert.AreEqual("Jane", results[1].Name); Assert.AreEqual(3, results[1].RecordNumber); }