public void Find_sequence_zero_blocks() { BlockTree blockTree = BuildBlockTree(); Block block0 = Build.A.Block.WithNumber(0).TestObject; Block block1 = Build.A.Block.WithNumber(1).WithParent(block0).TestObject; Block block2 = Build.A.Block.WithNumber(2).WithParent(block1).TestObject; AddToMain(blockTree, block0); AddToMain(blockTree, block1); AddToMain(blockTree, block2); Block[] blocks = blockTree.FindBlocks(block0.Hash, 0, 0, false); Assert.AreEqual(0, blocks.Length); }
public void Find_sequence_zero_blocks() { BlockTree blockTree = new BlockTree(new MemDb(), new MemDb(), new MemDb(), OlympicSpecProvider.Instance, NullLogManager.Instance); Block block0 = Build.A.Block.WithNumber(0).TestObject; Block block1 = Build.A.Block.WithNumber(1).WithParent(block0).TestObject; Block block2 = Build.A.Block.WithNumber(2).WithParent(block1).TestObject; AddToMain(blockTree, block0); AddToMain(blockTree, block1); AddToMain(blockTree, block2); Block[] blocks = blockTree.FindBlocks(block0.Hash, 0, 0, false); Assert.AreEqual(0, blocks.Length); }
public void Find_sequence_basic_skip() { BlockTree blockTree = BuildBlockTree(); Block block0 = Build.A.Block.WithNumber(0).TestObject; Block block1 = Build.A.Block.WithNumber(1).WithParent(block0).TestObject; Block block2 = Build.A.Block.WithNumber(2).WithParent(block1).TestObject; AddToMain(blockTree, block0); AddToMain(blockTree, block1); AddToMain(blockTree, block2); Block[] blocks = blockTree.FindBlocks(block0.Hash, 2, 1, false); Assert.AreEqual(2, blocks.Length, "length"); Assert.AreEqual(block0.Hash, BlockHeader.CalculateHash(blocks[0].Header)); Assert.AreEqual(block2.Hash, BlockHeader.CalculateHash(blocks[1].Header)); }
public void Find_sequence_basic_skip() { BlockTree blockTree = new BlockTree(new MemDb(), new MemDb(), new MemDb(), OlympicSpecProvider.Instance, NullLogManager.Instance); Block block0 = Build.A.Block.WithNumber(0).TestObject; Block block1 = Build.A.Block.WithNumber(1).WithParent(block0).TestObject; Block block2 = Build.A.Block.WithNumber(2).WithParent(block1).TestObject; AddToMain(blockTree, block0); AddToMain(blockTree, block1); AddToMain(blockTree, block2); Block[] blocks = blockTree.FindBlocks(block0.Hash, 2, 1, false); Assert.AreEqual(2, blocks.Length, "length"); Assert.AreEqual(block0.Hash, BlockHeader.CalculateHash(blocks[0].Header)); Assert.AreEqual(block2.Hash, BlockHeader.CalculateHash(blocks[1].Header)); }
public void Find_sequence_reverse() { BlockTree blockTree = BuildBlockTree(); Block block0 = Build.A.Block.WithNumber(0).TestObject; Block block1 = Build.A.Block.WithNumber(1).WithParent(block0).TestObject; Block block2 = Build.A.Block.WithNumber(2).WithParent(block1).TestObject; AddToMain(blockTree, block0); AddToMain(blockTree, block1); AddToMain(blockTree, block2); Block[] blocks = blockTree.FindBlocks(block2.Hash, 3, 0, true); Assert.AreEqual(3, blocks.Length); Assert.AreEqual(block2.Hash, BlockHeader.CalculateHash(blocks[0].Header)); Assert.AreEqual(block0.Hash, BlockHeader.CalculateHash(blocks[2].Header)); }