Пример #1
0
        public void Can_reset_empty()
        {
            WitnessCollector witnessCollector = new WitnessCollector(new MemDb(), LimboLogs.Instance);

            witnessCollector.Reset();
            witnessCollector.Collected.Should().HaveCount(0);
        }
Пример #2
0
        public void Can_collect_many()
        {
            WitnessCollector witnessCollector = new WitnessCollector(new MemDb(), LimboLogs.Instance);

            witnessCollector.Add(TestItem.KeccakA);
            witnessCollector.Add(TestItem.KeccakB);
            witnessCollector.Collected.Should().HaveCount(2);
        }
Пример #3
0
        public void Can_load_missing()
        {
            IKeyValueStore   keyValueStore    = new MemDb();
            WitnessCollector witnessCollector = new WitnessCollector(keyValueStore, LimboLogs.Instance);
            var witness = witnessCollector.Load(Keccak.Zero);

            witness.Should().BeNull();
        }
Пример #4
0
        public void Collects_each_cache_once()
        {
            WitnessCollector witnessCollector = new WitnessCollector(new MemDb(), LimboLogs.Instance);

            witnessCollector.Add(Keccak.Zero);
            witnessCollector.Add(Keccak.Zero);
            witnessCollector.Collected.Should().HaveCount(1);
        }
Пример #5
0
        public void Setup()
        {
            _block = Build.A.Block
                     .WithUncles(Build.A.BlockHeader.TestObject, Build.A.BlockHeader.TestObject).TestObject;

            _blockFinder       = Substitute.For <IBlockTree>();
            _witnessRepository = new WitnessCollector(new MemDb(), LimboLogs.Instance);
            _witnessRpcModule  = new WitnessRpcModule(_witnessRepository, _blockFinder);
        }
Пример #6
0
        public void Collects_what_it_should_collect()
        {
            WitnessCollector witnessCollector = new WitnessCollector(new MemDb(), LimboLogs.Instance);

            witnessCollector.Add(TestItem.KeccakA);
            witnessCollector.Add(TestItem.KeccakB);
            witnessCollector.Collected.Should().Contain(TestItem.KeccakA);
            witnessCollector.Collected.Should().Contain(TestItem.KeccakB);
        }
Пример #7
0
        public void Can_collect_after_reset()
        {
            WitnessCollector witnessCollector = new WitnessCollector(new MemDb(), LimboLogs.Instance);

            witnessCollector.Add(TestItem.KeccakA);
            witnessCollector.Add(TestItem.KeccakB);
            witnessCollector.Reset();
            witnessCollector.Add(TestItem.KeccakC);
            witnessCollector.Collected.Should().HaveCount(1);
        }
Пример #8
0
        public void Can_persist_empty()
        {
            IKeyValueStore   keyValueStore    = new MemDb();
            WitnessCollector witnessCollector = new WitnessCollector(keyValueStore, LimboLogs.Instance);

            witnessCollector.Persist(Keccak.Zero);
            var witness = keyValueStore[Keccak.Zero.Bytes];

            witness.Should().BeNull();
        }
Пример #9
0
        public void Can_persist_and_load()
        {
            IKeyValueStore   keyValueStore    = new MemDb();
            WitnessCollector witnessCollector = new WitnessCollector(keyValueStore, LimboLogs.Instance);

            witnessCollector.Add(TestItem.KeccakA);
            witnessCollector.Add(TestItem.KeccakB);
            witnessCollector.Persist(Keccak.Zero);
            var witness = witnessCollector.Load(Keccak.Zero);

            witness.Should().HaveCount(2);
        }
Пример #10
0
        public void Can_persist_more()
        {
            IKeyValueStore   keyValueStore    = new MemDb();
            WitnessCollector witnessCollector = new WitnessCollector(keyValueStore, LimboLogs.Instance);

            witnessCollector.Add(TestItem.KeccakA);
            witnessCollector.Add(TestItem.KeccakB);
            witnessCollector.Persist(Keccak.Zero);
            var witness = keyValueStore[Keccak.Zero.Bytes];

            witness.Length.Should().Be(64);
        }
Пример #11
0
        public void Can_reset_non_empty_many_times()
        {
            WitnessCollector witnessCollector = new WitnessCollector(new MemDb(), LimboLogs.Instance);

            witnessCollector.Add(TestItem.KeccakA);
            witnessCollector.Reset();
            witnessCollector.Add(TestItem.KeccakA);
            witnessCollector.Reset();
            witnessCollector.Add(TestItem.KeccakA);
            witnessCollector.Reset();
            witnessCollector.Collected.Should().HaveCount(0);
        }
Пример #12
0
        public void Can_read_beyond_cache()
        {
            IKeyValueStore   keyValueStore    = new MemDb();
            WitnessCollector witnessCollector = new WitnessCollector(keyValueStore, LimboLogs.Instance);

            for (int i = 0; i < 255; i++)
            {
                witnessCollector.Add(TestItem.Keccaks[i]);
                witnessCollector.Persist(TestItem.Keccaks[i]);
            }

            witnessCollector.Persist(TestItem.KeccakA);
            witnessCollector.Persist(TestItem.KeccakB);

            witnessCollector.Load(TestItem.Keccaks[0]);
        }