Example #1
0
        public void TestThrowOnExtendPartialStream()
        {
            using (MemoryStream memoryStream = new MemoryStream()) {
                memoryStream.SetLength(25);

                PartialStream partialStream = new PartialStream(memoryStream, 10, 10);
                partialStream.Position = 5;
                Assert.Throws <NotSupportedException>(
                    delegate() { partialStream.Write(new byte[] { 1, 2, 3, 4, 5, 6 }, 0, 6); }
                    );
            }
        }
Example #2
0
        public void TestWriteToPartialStream()
        {
            using (MemoryStream memoryStream = new MemoryStream()) {
                memoryStream.SetLength(123);

                memoryStream.Position = 60;
                memoryStream.Write(new byte[] { 11, 12, 13, 14, 15 }, 0, 5);

                PartialStream partialStream = new PartialStream(memoryStream, 50, 15);
                partialStream.Position = 3;
                partialStream.Write(new byte[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }, 0, 10);

                byte[] buffer = new byte[17];
                memoryStream.Position = 49;
                int bytesRead = memoryStream.Read(buffer, 0, 17);

                Assert.AreEqual(17, bytesRead);
                Assert.AreEqual(
                    new byte[] { 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 14, 15, 0 },
                    buffer
                    );
            }
        }
    public void TestThrowOnExtendPartialStream() {
      using(MemoryStream memoryStream = new MemoryStream()) {
        memoryStream.SetLength(25);

        PartialStream partialStream = new PartialStream(memoryStream, 10, 10);
        partialStream.Position = 5;
        Assert.Throws<NotSupportedException>(
          delegate() { partialStream.Write(new byte[] { 1, 2, 3, 4, 5, 6 }, 0, 6); }
        );
      }
    }
    public void TestWriteToPartialStream() {
      using(MemoryStream memoryStream = new MemoryStream()) {
        memoryStream.SetLength(123);

        memoryStream.Position = 60;
        memoryStream.Write(new byte[] { 11, 12, 13, 14, 15 }, 0, 5);

        PartialStream partialStream = new PartialStream(memoryStream, 50, 15);
        partialStream.Position = 3;
        partialStream.Write(new byte[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }, 0, 10);

        byte[] buffer = new byte[17];
        memoryStream.Position = 49;
        int bytesRead = memoryStream.Read(buffer, 0, 17);

        Assert.AreEqual(17, bytesRead);
        Assert.AreEqual(
          new byte[] { 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 14, 15, 0 },
          buffer
        );
      }
    }