コード例 #1
0
        public void DoTest()
        {
            using (var xBackend = new MemoryStream())
            {
                xBackend.SetLength(2);
                var xStore = new SimpleStreamBlockStore(xBackend, 1);
                Assert.AreEqual(1u, xStore.BlockSize);
                Assert.AreEqual(2u, xStore.BlockCount);
                var xBuff = new byte[1];
                xBuff[0] = 1;
                var xArraySegment = new ArraySegment<byte>(xBuff);
                xStore.Retrieve(0, xArraySegment);
                Assert.AreEqual(0, xBuff[0]);
                // now store a byte in block 0, and read back both 0 and 1
                xBuff[0] = 2;
                xStore.Store(1, xArraySegment);

                xStore.Retrieve(0, xArraySegment);
                Assert.AreEqual(0, xBuff[0]);

                xStore.Retrieve(1, xArraySegment);
                Assert.AreEqual(2, xBuff[0]);
            }
        }
コード例 #2
0
 public void Test_StoreThrowsErrorWithWrongIndexSizeInStore()
 {
     using (var xMS = new MemoryStream(new byte[2]))
     {
         IBlockStore xStore = new SimpleStreamBlockStore(xMS, 2);
         var xBuff = new byte[2];
         var xSeg = new ArraySegment<byte>(xBuff);
         xStore.Store(1, xSeg);
     }
 }