@Test
void shouldTryMultipleServersAfterRediscovery()
{

    Set<BoltServerAddress> unavailableAddresses = asOrderedSet( A );
    ConnectionPool connectionPool = newConnectionPoolMockWithFailures( unavailableAddresses );
    RoutingTable routingTable = new ClusterRoutingTable( defaultDatabase(), new FakeClock() );
    routingTable.update( new ClusterComposition( -1, new LinkedHashSet<>( Arrays.asList( A, B ) ), emptySet(), emptySet() ) );
    LoadBalancer loadBalancer = newLoadBalancer( connectionPool, routingTable );
    Connection connection = await( loadBalancer.acquireConnection( newBoltV4ConnectionContext() ) );
    assertNotNull( connection );
    assertEquals( B, connection.serverAddress() );
    // routing table should've forgotten A
    assertArrayEquals( new BoltServerAddress[]{B}, routingTable.readers().toArray() );
}