public void TestReVerifyTopUnverifiedTransactionsIfNeeded() { _unit = new MemoryPool(TestBlockchain.TheNeoSystem, 600); _unit.LoadPolicy(Blockchain.Singleton.GetSnapshot()); AddTransaction(CreateTransaction(100000001)); AddTransaction(CreateTransaction(100000001)); AddTransaction(CreateTransaction(100000001)); AddTransaction(CreateTransaction(1)); _unit.VerifiedCount.Should().Be(4); _unit.UnVerifiedCount.Should().Be(0); _unit.InvalidateVerifiedTransactions(); _unit.VerifiedCount.Should().Be(0); _unit.UnVerifiedCount.Should().Be(4); AddTransactions(511); // Max per block currently is 512 _unit.VerifiedCount.Should().Be(511); _unit.UnVerifiedCount.Should().Be(4); var result = _unit.ReVerifyTopUnverifiedTransactionsIfNeeded(1, Blockchain.Singleton.GetSnapshot()); result.Should().BeTrue(); _unit.VerifiedCount.Should().Be(512); _unit.UnVerifiedCount.Should().Be(3); result = _unit.ReVerifyTopUnverifiedTransactionsIfNeeded(2, Blockchain.Singleton.GetSnapshot()); result.Should().BeTrue(); _unit.VerifiedCount.Should().Be(514); _unit.UnVerifiedCount.Should().Be(1); result = _unit.ReVerifyTopUnverifiedTransactionsIfNeeded(3, Blockchain.Singleton.GetSnapshot()); result.Should().BeFalse(); _unit.VerifiedCount.Should().Be(515); _unit.UnVerifiedCount.Should().Be(0); }
public void TestSetup() { // protect against external changes on TimeProvider TimeProvider.ResetToDefault(); NeoSystem TheNeoSystem = TestBlockchain.InitializeMockNeoSystem(); // Create a MemoryPool with capacity of 100 _unit = new MemoryPool(TheNeoSystem, 100); _unit.LoadPolicy(TestBlockchain.GetStore().GetSnapshot()); // Verify capacity equals the amount specified _unit.Capacity.ShouldBeEquivalentTo(100); _unit.VerifiedCount.ShouldBeEquivalentTo(0); _unit.UnVerifiedCount.ShouldBeEquivalentTo(0); _unit.Count.ShouldBeEquivalentTo(0); }
public void TestSetup() { // protect against external changes on TimeProvider TimeProvider.ResetToDefault(); TestBlockchain.InitializeMockNeoSystem(); // Create a MemoryPool with capacity of 100 _unit = new MemoryPool(TestBlockchain.TheNeoSystem, 100); _unit.LoadPolicy(Blockchain.Singleton.GetSnapshot()); // Verify capacity equals the amount specified _unit.Capacity.Should().Be(100); _unit.VerifiedCount.Should().Be(0); _unit.UnVerifiedCount.Should().Be(0); _unit.Count.Should().Be(0); _unit2 = new MemoryPool(TestBlockchain.TheNeoSystem, 0); plugin = new TestIMemoryPoolTxObserverPlugin(); }