public void TestBlocksByHash()
{
var fakeHeaders = new FakeHeaders();
var header0 = fakeHeaders.GenesisChained();
var header1 = fakeHeaders.NextChained();
var chainBuilder = new ChainBuilder();
// verify blocks dictionary with 0 blocks
Assert.AreEqual(0, chainBuilder.BlocksByHash.Count);
// verify blocks dictionary with 1 block
chainBuilder.AddBlock(header0);
CollectionAssert.AreEquivalent(new Dictionary<UInt256, ChainedHeader> { { header0.Hash, header0 } }, chainBuilder.BlocksByHash);
// verify blocks dictionary with 2 blocks
chainBuilder.AddBlock(header1);
CollectionAssert.AreEquivalent(new Dictionary<UInt256, ChainedHeader> { { header0.Hash, header0 }, { header1.Hash, header1 } }, chainBuilder.BlocksByHash);
}