public void Dispose_Enumerator_When_Stream_Disposed() { var sequence = new TracingSequence <string>(new[] { "Dog", "Cat", "Sparrow" }); var stream = fixture.Create( output => new StreamWriter(output, Encoding.UTF8), sequence, (output, animal) => { output.Write(animal); output.WriteLine(); } ); stream.Dispose(); (!sequence.EnumeratorRequested || sequence.Enumerator.Disposed).Should().BeTrue(); }
public void Dispose_Enumerator_When_Read_To_End() { var sequence = new TracingSequence <string>(new[] { "Dog", "Cat", "Sparrow" }); using var stream = fixture.Create( output => new StreamWriter(output, Encoding.UTF8), sequence, (output, animal) => { output.Write(animal); output.WriteLine(); } ); using var reader = new StreamReader(stream, Encoding.UTF8); reader.ReadToEnd(); sequence.Enumerator.Disposed.Should().BeTrue(); }