public void write() { Assert.Throws <ArgumentNullException>(() => StreamExtensions.Write <Stream>(null, Enumerable.Empty <byte>().ToArray())); Assert.Throws <ArgumentNullException>(() => Stream.Null.Write((byte[])null)); Assert.Throws <ArgumentNullException>(() => StreamExtensions.Write <Stream>(null, Stream.Null)); Assert.Throws <ArgumentNullException>(() => Stream.Null.Write((Stream)null)); Assert.Throws <ArgumentNullException>(() => StreamExtensions.Write <Stream>(null, "text")); Assert.Throws <ArgumentNullException>(() => Stream.Null.Write((string)null)); var bytes = Guid.NewGuid().ToByteArray(); var text = bytes.ToString(); var stream = new MemoryStream(); Assert.True(ReferenceEquals(stream.Write(bytes), stream)); stream.Close(); Assert.True(stream.ToArray().SequenceEqual(bytes)); var from = new MemoryStream(bytes); var to = new MemoryStream(); Assert.True(ReferenceEquals(to.Write(from), to)); Assert.True(to.ToArray().SequenceEqual(bytes)); Assert.Equal(0, from.Bytes().Length); Assert.True(from.CanRead); Assert.Equal(0, to.Bytes().Length); Assert.True(to.CanWrite); from.Close(); to.Close(); using (var s = new MemoryStream()) { Assert.True(ReferenceEquals(s.Write(string.Empty), s)); Assert.Equal(string.Empty, s.Text()); } using (var s = new MemoryStream()) { Assert.True(ReferenceEquals(s.Write(text), s)); Assert.Equal(text, s.Rewind().Text()); } using (var s = new MemoryStream()) { Assert.True(ReferenceEquals(s.Write(text, Encoding.Unicode), s)); Assert.Equal(text, s.Rewind().Text(encoding: Encoding.Unicode)); } }