public void MoreComplexReopen()
{
using (var fileCollection = new InMemoryFileCollection())
{
using (IKeyValueDB db = new KeyValueDB(fileCollection))
{
for (int i = 0; i < 100; i++)
{
var key = new byte[100];
using (var tr = db.StartTransaction())
{
key[0] = (byte)(i / 256);
key[1] = (byte)(i % 256);
Assert.True(tr.CreateOrUpdateKeyValue(key, key));
tr.Commit();
}
}
using (var tr = db.StartTransaction())
{
tr.SetKeyIndex(0);
tr.EraseCurrent();
tr.EraseRange(1, 3);
tr.Commit();
}
}
using (IKeyValueDB db = new KeyValueDB(fileCollection))
{
using (var tr = db.StartTransaction())
{
var key = new byte[100];
key[1] = 1;
Assert.True(tr.FindExactKey(key));
tr.FindNextKey();
Assert.Equal(5, tr.GetKeyAsByteArray()[1]);
Assert.Equal(96, tr.GetKeyValueCount());
}
}
}
}