public void lines() { Assert.Throws <ArgumentNullException>(() => StreamExtensions.Lines(null)); using (var reader = new StringReader(string.Empty)) { Assert.False(reader.Lines().Any()); Assert.Equal(-1, reader.Read()); } using (var reader = new StringReader(string.Empty)) { Assert.False(reader.Lines(true).Any()); Assert.Throws <ObjectDisposedException>(() => reader.Read()); } using (var reader = new StringReader($"First{Environment.NewLine}Second{Environment.NewLine}")) { var lines = reader.Lines(); Assert.Equal(3, lines.Count()); Assert.Equal("First", lines[0]); Assert.Equal("Second", lines[1]); Assert.Equal(string.Empty, lines[2]); Assert.False(reader.Lines().Any()); Assert.Equal(-1, reader.Read()); } }