using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Xunit; using Shouldly; using DotnetStreams; using System.IO; using DotnetStreamsTests.Testables; namespace DotnetStreamsTests { public class ConsoleOutputTargetTests { private IOutputTarget outputTarget; [Fact] public void WritesToOutputStream() { ListWriter writer = new(); outputTarget = new TestableConsoleOutputTarget(writer); outputTarget.Open(); outputTarget.Output("1"); outputTarget.Output("2"); outputTarget.Output(""); outputTarget.Output("3"); outputTarget.Close(); writer.Lines.Count.ShouldBe(4); writer.Lines[0].ShouldBe("1"); writer.Lines[1].ShouldBe("2"); writer.Lines[2].ShouldBe(string.Empty); writer.Lines[3].ShouldBe("3"); } } }