public async Task Can_replace_peer_with_better()
        {
            SetupSpeedStats(TestItem.PublicKeyA, 50);
            SetupSpeedStats(TestItem.PublicKeyB, 100);

            _pool.Start();
            _pool.AddPeer(new SimpleSyncPeerMock(TestItem.PublicKeyA, "A"));
            await WaitForPeersInitialization();

            var allocation = await _pool.Allocate(new BlocksSyncPeerAllocationStrategy(null));

            bool replaced = false;

            allocation.Replaced += (sender, args) => replaced = true;
            _pool.AddPeer(new SimpleSyncPeerMock(TestItem.PublicKeyB, "B"));

            await WaitFor(() => replaced, "peer to get replaced");

            Assert.True(replaced);
        }