Exemplo n.º 1
0
        public void Can_recalculate_and_clear_with_root_only()
        {
            StateSyncFeed.IPendingSyncItems items = Init();
            StateSyncItem stateSyncItem           = new StateSyncItem(Keccak.Zero, NodeDataType.State, 0, 0);

            items.PushToSelectedStream(stateSyncItem, 0);
            items.RecalculatePriorities();
            items.Clear();
            items.Count.Should().Be(0);
        }
Exemplo n.º 2
0
        public void Prefers_left_single_branch()
        {
            StateSyncFeed.IPendingSyncItems items = Init();
            items.MaxStateLevel = 64;

            PushState(items, 1, 15); // branch child 16
            PushState(items, 1, 1);  // branch child 1
            PushState(items, 1, 0);  // branch child 0

            items.RecalculatePriorities();
            List <StateSyncItem> batch = items.TakeBatch(256);

            batch[0].Rightness.Should().Be(0);
            batch[1].Rightness.Should().Be(1);
            batch[2].Rightness.Should().Be(15);
        }
Exemplo n.º 3
0
        public void Prioritizes_depth()
        {
            StateSyncFeed.IPendingSyncItems items = Init();
            items.MaxStateLevel = 64;

            PushState(items, 0, 0);
            PushState(items, 32, 0);
            PushState(items, 64, 0);

            items.RecalculatePriorities();
            List <StateSyncItem> batch = items.TakeBatch(256);

            items.Count.Should().Be(0);
            batch[0].Level.Should().Be(64);
            batch[1].Level.Should().Be(32);
            batch[2].Level.Should().Be(0);
        }
Exemplo n.º 4
0
        public void Prioritizes_code_over_storage_over_state()
        {
            StateSyncFeed.IPendingSyncItems items = Init();
            items.MaxStateLevel = 64;

            PushState(items, 64, 0);
            PushStorage(items, 32, 0);
            PushCode(items);

            items.RecalculatePriorities();
            List <StateSyncItem> batch = items.TakeBatch(256);

            items.Count.Should().Be(0);
            batch[0].NodeDataType.Should().Be(NodeDataType.Code);
            batch[1].NodeDataType.Should().Be(NodeDataType.Storage);
            batch[2].NodeDataType.Should().Be(NodeDataType.State);
        }
Exemplo n.º 5
0
 public void Can_recalculate_priorities_at_start()
 {
     StateSyncFeed.IPendingSyncItems items = Init();
     items.RecalculatePriorities().Should().NotBeNullOrWhiteSpace();
 }