public static void AsOutputStream_Equal() { Stream stream = TestStreamProvider.CreateWriteOnlyStream(); using (IOutputStream outsOne = stream.AsOutputStream()) using (IOutputStream outsTwo = stream.AsOutputStream()) { Assert.Equal(outsOne, outsOne); } }
public static void AsOutputStream_WrapsToSameInstance() { Stream managedStream = TestStreamProvider.CreateWriteOnlyStream(); using (IOutputStream outs = managedStream.AsOutputStream()) { Assert.NotNull(outs); Assert.Same(outs, managedStream.AsOutputStream()); } }
public static void AsOutputStream_RoundtripUnwrap() { // NetFx Stream -> IOutputStream -> NetFx Stream -> roundtrip reference equality is preserved Stream managedStream = TestStreamProvider.CreateWriteOnlyStream(); using (IOutputStream outs = managedStream.AsOutputStream()) { Assert.Same(managedStream, outs.AsStreamForWrite()); } }
public static void AsOutputStream_FromWriteOnlyStream() { Stream managedStream = TestStreamProvider.CreateWriteOnlyStream(); using (IOutputStream outs = managedStream.AsOutputStream()) { Assert.NotNull(outs); // Adapting a write-only managed Stream to IInputStream must throw a NotSupportedException Assert.Throws <NotSupportedException>(() => { IInputStream ins = managedStream.AsInputStream(); }); } }
public static void AsOutputStream_NotEqual() { Stream streamOne = TestStreamProvider.CreateWriteOnlyStream(); Stream streamTwo = TestStreamProvider.CreateWriteOnlyStream(); Assert.NotEqual(streamOne, streamTwo); using (IOutputStream outsOne = streamOne.AsOutputStream()) using (IOutputStream outsTwo = streamTwo.AsOutputStream()) { Assert.NotEqual(outsOne, outsTwo); } }