public async Task CompleteAsyncTestAsync()
        {
            using var Stream = new PipelineStream();
            Assert.AreEqual(0, Stream.Length);
            Assert.IsTrue(Stream.CanRead);
            Assert.IsTrue(Stream.CanWrite);
            var WriteMessage1 = "HELLO";
            await Stream.WriteAsync(Encoding.GetBytes(WriteMessage1));

            await Stream.CompleteAsync();

            await Stream.FlushAsync();

            var ReadCount = Encoding.GetByteCount(WriteMessage1);

            Assert.AreEqual(ReadCount, Stream.Length);
            var ReadBytes = new byte[ReadCount];

            ReadCount = await Stream.ReadAsync(ReadBytes);

            var ReadMessage1 = Encoding.GetString(ReadBytes.AsSpan().Slice(0, ReadCount));

            Assert.AreEqual(WriteMessage1, ReadMessage1);
            Assert.IsTrue(Stream.CanRead);
            Assert.IsFalse(Stream.CanWrite);
            var WriteMessage2 = "HI!";
            await Assert.ThrowsExceptionAsync <InvalidOperationException>(async() => await Stream.WriteAsync(Encoding.GetBytes(WriteMessage2)));
        }