public void Saving_loading_block_number_count(long blockNumber, uint count, long previousBlockWithLeaves)
        {
            var baselineMetaData = new BaselineTreeMetadata(new MemDb(), new byte[] { }, LimboNoErrorLogger.Instance);

            baselineMetaData.SaveBlockNumberCount(blockNumber, count, previousBlockWithLeaves);
            var actual = baselineMetaData.LoadBlockNumberCount(blockNumber);

            actual.Count.Should().Be(count);
            actual.PreviousBlockWithLeaves.Should().Be(previousBlockWithLeaves);
        }
        public void Saving_loading_current_block(int keccakIndex, long lastBlockWithLeaves)
        {
            var lastBlockDbHash  = TestItem.Keccaks[keccakIndex];
            var baselineMetaData = new BaselineTreeMetadata(new MemDb(), new byte[] { }, LimboNoErrorLogger.Instance);

            baselineMetaData.SaveCurrentBlockInDb(lastBlockDbHash, lastBlockWithLeaves);
            var actual = baselineMetaData.LoadCurrentBlockInDb();

            Assert.AreEqual(lastBlockDbHash, actual.LastBlockDbHash);
            Assert.AreEqual(lastBlockWithLeaves, actual.LastBlockWithLeaves);
        }
        public void GetLeavesCountByBlockNumber([ValueSource(nameof(GetLeavesCountByBlockNumberTestCases))] GetLeavesCountTest test)
        {
            var baselineMetaData = new BaselineTreeMetadata(new MemDb(), new byte[] { }, LimboNoErrorLogger.Instance);

            for (int i = 0; i < test.DataToSave.Length; ++i)
            {
                baselineMetaData.SaveBlockNumberCount(test.DataToSave[i].BlockNumber, test.DataToSave[i].Count, test.DataToSave[i].PreviousBlockWithLeaves);
            }

            var actual = baselineMetaData.GetBlockCount(test.LastBlockWithLeaves, test.BlockNumber);

            Assert.AreEqual(test.ExpectedResult, actual);
        }