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]); } }
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); } }