BTDBTest.InMemoryInMemoryKeyValueDBTest.AdvancedFindPreviousAndNextKeyWorks C# (CSharp) Method

AdvancedFindPreviousAndNextKeyWorks() private method

private AdvancedFindPreviousAndNextKeyWorks ( ) : void
return void
        public void AdvancedFindPreviousAndNextKeyWorks()
        {
            using (IKeyValueDB db = new InMemoryKeyValueDB())
            {
                var key = new byte[2];
                const int keysCreated = 10000;
                using (var tr = db.StartTransaction())
                {
                    for (int i = 0; i < keysCreated; i++)
                    {
                        key[0] = (byte)(i / 256);
                        key[1] = (byte)(i % 256);
                        tr.CreateKey(key);
                    }
                    tr.Commit();
                }
                using (var tr = db.StartTransaction())
                {
                    Assert.Equal(-1, tr.GetKeyIndex());
                    tr.FindExactKey(key);
                    Assert.Equal(keysCreated - 1, tr.GetKeyIndex());
                    for (int i = 1; i < keysCreated; i++)
                    {
                        Assert.True(tr.FindPreviousKey());
                        Assert.Equal(keysCreated - 1 - i, tr.GetKeyIndex());
                    }
                    Assert.False(tr.FindPreviousKey());
                    Assert.Equal(-1, tr.GetKeyIndex());
                    for (int i = 0; i < keysCreated; i++)
                    {
                        Assert.True(tr.FindNextKey());
                        Assert.Equal(i, tr.GetKeyIndex());
                    }
                    Assert.False(tr.FindNextKey());
                    Assert.Equal(-1, tr.GetKeyIndex());
                }
            }
        }