using Nonemm.Spotting.Telnet; namespace Nonemm.Spotting.Tests; public class LineAssemblerTests { [Fact] public void CompleteLinesComeOutWithoutTheirEndings() { LineAssembler assembler = new(); Assert.Equal(["one", "two"], assembler.Add("one\r\ntwo\r\n")); Assert.Equal("", assembler.Pending); } [Fact] public void ALineSplitOverTwoBlocksIsPutBackTogether() { LineAssembler assembler = new(); Assert.Empty(assembler.Add("DX de W3")); Assert.Equal(["DX de W3LPL"], assembler.Add("LPL\r\n")); } /// The login prompt has no line ending, so it only ever shows up here. [Fact] public void TextWithNoLineEndingWaitsInPending() { LineAssembler assembler = new(); Assert.Empty(assembler.Add("login: ")); Assert.Equal("login: ", assembler.Pending); } }