public void TestStorage()
{
var temp = new FileInfo(Path.GetTempFileName());
try
{
Console.WriteLine(temp.FullName);
var @params = NetworkParameters.UnitTests();
var to = new EcKey().ToAddress(@params);
StoredBlock b1;
using (var store = new BoundedOverheadBlockStore(@params, temp))
{
// Check the first block in a new store is the genesis block.
var genesis = store.GetChainHead();
Assert.AreEqual(@params.GenesisBlock, genesis.Header);
// Build a new block.
b1 = genesis.Build(genesis.Header.CreateNextBlock(to).CloneAsHeader());
store.Put(b1);
store.SetChainHead(b1);
}
// Check we can get it back out again if we rebuild the store object.
using (var store = new BoundedOverheadBlockStore(@params, temp))
{
var b2 = store.Get(b1.Header.Hash);
Assert.AreEqual(b1, b2);
// Check the chain head was stored correctly also.
Assert.AreEqual(b1, store.GetChainHead());
}
}
finally
{
temp.Delete();
}
}