public void CompleteTest() { using var Stream = new PipelineStream(); Assert.AreEqual(0, Stream.Length); var WriteMessage1 = "HELLO"; Stream.Write(Encoding.GetBytes(WriteMessage1)); Stream.Flush(); var ReadCount = Encoding.GetByteCount(WriteMessage1); Assert.AreEqual(ReadCount, Stream.Length); var ReadBytes = new byte[ReadCount]; ReadCount = Stream.Read(ReadBytes); Assert.AreEqual(0, Stream.Length); var ReadMessage1 = Encoding.GetString(ReadBytes.AsSpan().Slice(0, ReadCount)); Assert.AreEqual(WriteMessage1, ReadMessage1); Stream.Complete(); var WriteMessage2 = "HI!"; Assert.ThrowsException <InvalidOperationException>(() => Stream.Write(Encoding.GetBytes(WriteMessage2))); }