コード例 #1
0
        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());
            }
        }