public void TestReadChain()
{
var fakeHeaders = new FakeHeaders();
var header0 = fakeHeaders.GenesisChained();
var header1 = fakeHeaders.NextChained();
var header2 = fakeHeaders.NextChained();
var chainedHeaders = new Dictionary<UInt256, ChainedHeader>();
chainedHeaders.Add(header0.Hash, header0);
chainedHeaders.Add(header1.Hash, header1);
chainedHeaders.Add(header2.Hash, header2);
Chain chain;
Assert.IsTrue(Chain.TryReadChain(header2.Hash, out chain,
headerHash =>
{
ChainedHeader chainedHeader;
chainedHeaders.TryGetValue(headerHash, out chainedHeader);
return chainedHeader;
}));
CollectionAssert.AreEqual(fakeHeaders.ChainedHeaders, chain.Blocks);
}