private IControlConnection Create(bool keepContactPointsUnresolved)
        {
            _connectionFactory = new FakeConnectionFactory();
            var config = new TestConfigurationBuilder
            {
                ConnectionFactory           = _connectionFactory,
                KeepContactPointsUnresolved = keepContactPointsUnresolved
            }.Build();

            _cp1 = new TestContactPoint(new List <IConnectionEndPoint>
            {
                new ConnectionEndPoint(_endpoint1, config.ServerNameResolver, _cp1)
            });
            _cp2 = new TestContactPoint(new List <IConnectionEndPoint>
            {
                new ConnectionEndPoint(_endpoint2, config.ServerNameResolver, _cp2)
            });
            _localhost = new TestContactPoint(new List <IConnectionEndPoint>
            {
                new ConnectionEndPoint(_endpoint1, config.ServerNameResolver, _localhost),
                new ConnectionEndPoint(_endpoint2, config.ServerNameResolver, _localhost)
            });
            return(new ControlConnection(
                       Mock.Of <IInternalCluster>(),
                       new ProtocolEventDebouncer(
                           new FakeTimerFactory(), TimeSpan.Zero, TimeSpan.Zero),
                       ProtocolVersion.V3,
                       config,
                       new Metadata(config),
                       new List <IContactPoint>
            {
                _cp1,
                _cp2,
                _localhost
            }));
        }