何が間違っているのかわかりません。多くの例を見てきましたが、これを機能させることができないようです。
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()は常に1回読み取ります)。私が間違っていることがわからない。ありがとうございました。