public void DoTestMarkReserve() { using (var xMSStore = new MemoryStream(new byte[32768])) { using (var xMSBitmap = new MemoryStream(new byte[8])) { using (var xBlockStore = new SimpleStreamBlockStore(xMSStore, 512)) { using (var xBitmapBlockManager = new BitmapBlockManager(xMSBitmap, 1, 8)) { Assert.IsFalse(xBitmapBlockManager.IsReserved(0)); var xBit = xBitmapBlockManager.Reserve(); Assert.IsTrue(xBitmapBlockManager.IsReserved(xBit)); xBitmapBlockManager.Free(xBit); Assert.IsFalse(xBitmapBlockManager.IsReserved(xBit)); } } } } }
public void Test_MarkReservedAfterFullFillAndSomeFree() { using (var xMSBitmap = new MemoryStream(new byte[8])) { using (var xBitmap = new BitmapBlockManager(xMSBitmap, 1, 8)) { var xReservations = xBitmap.Reserve(64); Assert.AreEqual(64, xReservations.Length); ulong xReservation; Assert.IsFalse(xBitmap.TryReserve(out xReservation)); xBitmap.Free(xReservations[0]); Assert.IsTrue(xBitmap.TryReserve(out xReservation)); Assert.IsFalse(xBitmap.TryReserve(out xReservation)); } } }
public void Test_MultipleReserve() { using (var xMSStore = new MemoryStream(new byte[32768])) { using (var xMSBitmap = new MemoryStream(new byte[8])) { using (var xBlockStore = new SimpleStreamBlockStore(xMSStore, 512)) { using (var xBitmapBlockManager = new BitmapBlockManager(xMSBitmap, 1, 8)) { var xResult = xBitmapBlockManager.Reserve(3); Assert.AreEqual(3, xResult.Length); // todo: how to test better? } } } } }