public void HeaderPage_Savepoint() { var data = new byte[Constants.PAGE_SIZE]; var buffer = new PageBuffer(data, 0, 1); // mark buffer as writable (debug propose) buffer.ShareCounter = Constants.BUFFER_WRITABLE; // create new header page var header = new HeaderPage(buffer, 0); header.InsertCollection("my-col1", 1); header.InsertCollection("my-col2", 2); header.GetCollections().Count().Should().Be(2); // savepoint alse execute UpdateBuffer var sp = header.Savepoint(); header.DeleteCollection("my-col1"); header.DeleteCollection("my-col2"); header.UpdateBuffer(); header.GetCollections().Count().Should().Be(0); // now, restore header header.Restore(sp); header.GetCollections().Count().Should().Be(2); buffer.ShareCounter = 0; }
public void HeaderPage_Collections() { var data = new byte[Constants.PAGE_SIZE]; var buffer = new PageBuffer(data, 0, 1); // mark buffer as writable (debug propose) buffer.ShareCounter = Constants.BUFFER_WRITABLE; // create new header page var header = new HeaderPage(buffer, 0); header.InsertCollection("my-col1", 1); header.InsertCollection("my-col2", 2); header.GetCollections().Count().Should().Be(2); ((int)header.GetCollectionPageID("my-col1")).Should().Be(1); ((int)header.GetCollectionPageID("my-col2")).Should().Be(2); header.GetAvaiableCollectionSpace().Should().Be(7981); header.UpdateBuffer(); // read header var h2 = new HeaderPage(buffer); h2.GetCollections().Count().Should().Be(2); ((int)h2.GetCollectionPageID("my-col1")).Should().Be(1); ((int)h2.GetCollectionPageID("my-col2")).Should().Be(2); h2.GetAvaiableCollectionSpace().Should().Be(7981); buffer.ShareCounter = 0; }