示例#1
0
        public void TestCopyFromStream_Small()
        {
            NcByteCollection b1 = new NcByteCollection(NcTestUtils.RandomBytes(30 * 1000));
            NcByteStream     b2 = new NcByteStream(NcTestUtils.RandomBytes(1000));

            b1.Copy(b2, 5000, 50);
            Assert.IsTrue(b1.Count == (30 * 1000));
            Assert.IsTrue(b1.SequenceEqual(b1.Take(5000).Concat(b2.Data.Take(50)).Concat(b1.Skip(5050))));
        }
示例#2
0
        public void TestStreamWrite()
        {
            NcByteCollection original = new NcByteCollection(NcTestUtils.RandomBytes(12 * 1024));
            NcByteStream     stream   = new NcByteStream(original);
            MemoryStream     ms       = new MemoryStream(NcTestUtils.RandomBytes(5 * 1024));

            stream.Seek(5 * 1024, SeekOrigin.Begin);
            ms.CopyTo(stream);

            Assert.IsTrue(original.Take(5 * 1024).Concat(ms.ToArray()).Concat(original.Skip(5 * 1024 + 5 * 1024)).SequenceEqual(stream.Data));
        }
示例#3
0
        public void TestStreamRead()
        {
            byte[]       data   = NcTestUtils.RandomBytes(12 * 1024);
            NcByteStream stream = new NcByteStream(data);
            MemoryStream ms     = new MemoryStream();

            stream.Seek(5 * 1024, SeekOrigin.Begin);
            stream.CopyTo(ms);

            Assert.IsTrue(ms.ToArray().SequenceEqual(data.Skip(5 * 1024)));
        }
示例#4
0
        public void TestStreamSetLength()
        {
            int          declLength = 12 * 1024;
            NcByteStream stream     = new NcByteStream(NcTestUtils.RandomBytes(declLength));

            Assert.AreEqual(declLength, stream.Length);

            long lessLength = 5 * 1024;

            stream.SetLength(lessLength);
            Assert.AreEqual(lessLength, stream.Length);

            long moreLength = 10 * 1024;

            stream.SetLength(moreLength);
            Assert.AreEqual(moreLength, stream.Length);
        }