2 // Stream Test Helper Classes
5 // Sebastien Pouliot <sebastien@ximian.com>
7 // Copyright (C) 2004 Novell (http://www.novell.com)
13 namespace MonoTests
.System
.IO
{
15 public class TestHelperStream
: Stream
{
23 public TestHelperStream (bool read
, bool write
, bool seek
)
30 public override bool CanRead
{
34 public override bool CanSeek
{
38 public override bool CanWrite
{
39 get { return _write; }
42 public override long Length
{
43 get { return _length; }
46 public override long Position
50 throw new NotSupportedException ("Not seekable");
55 throw new NotSupportedException ("Not seekable");
60 public override void Flush ()
64 public override int Read (byte[] buffer
, int offset
, int count
)
67 throw new NotSupportedException ("Not readable");
71 public override int ReadByte ()
76 public override long Seek (long offset
, SeekOrigin origin
)
79 throw new NotSupportedException ("Not seekable");
83 public override void SetLength (long value)
86 throw new NotSupportedException ("Not writeable");
90 public override void Write (byte[] buffer
, int offset
, int count
)
93 throw new NotSupportedException ("Not writeable");
96 public override void WriteByte (byte value)
99 throw new NotSupportedException ("Not writeable");
103 public class ReadOnlyStream
: TestHelperStream
{
105 public ReadOnlyStream () : base (true, false, true)
110 public class WriteOnlyStream
: TestHelperStream
{
112 public WriteOnlyStream () : base (false, true, true)
117 public class NonSeekableStream
: TestHelperStream
{
119 public NonSeekableStream () : base (true, true, false)