Я не уверен, что я делаю неправильно, видел много примеров, но не могу заставить это работать.
public static Stream Foo()
{
var memStream = new MemoryStream();
var streamWriter = new StreamWriter(memStream);
for (int i = 0; i < 6; i++)
streamWriter.WriteLine("TEST");
memStream.Seek(0, SeekOrigin.Begin);
return memStream;
}
Я делаю простой тест по этому методу, чтобы попытаться передать его, но независимо от того, что, мой счетчик коллекции равен 0.
[Test]
public void TestStreamRowCount()
{
var stream = Foo();
using (var reader = new StreamReader(stream))
{
var collection = new List<string>();
string input;
while ((input = reader.ReadLine()) != null)
collection.Add(input);
Assert.AreEqual(6, collection.Count);
}
}
Примечание. Я изменил некоторый синтаксис выше, не компилируя метод Test. Более важным является первый метод, который, кажется, возвращает пустой поток (мой reader.ReadLine() всегда читает один раз). Не уверен, что я делаю неправильно. Спасибо.