public void TestGenesisBlock()
{
var fakeHeaders = new FakeHeaders();
var header0 = fakeHeaders.GenesisChained();
var header1 = fakeHeaders.NextChained();
var chainBuilder = new ChainBuilder();
// verify genesis with 0 blocks
var chainEmpty = chainBuilder.ToImmutable();
Assert.IsNull(chainEmpty.GenesisBlock);
// verify genesis with 1 block
chainBuilder.AddBlock(header0);
var chain0 = chainBuilder.ToImmutable();
Assert.AreEqual(header0, chain0.GenesisBlock);
// verify genesis with 2 blocks
chainBuilder.AddBlock(header1);
var chain1 = chainBuilder.ToImmutable();
Assert.AreEqual(header0, chain1.GenesisBlock);
}