public void Disconnected_socket_in_available_pool_is_disposed_on_attempted_reuse() {
var sockets = new List<MockSocket>();
Func<ISocket> socketFactory = () => {
var socket = new MockSocket();
sockets.Add(socket);
return socket;
};
var pool = new ConnectionPool(socketFactory);
var s1 = pool.GetSocket();
s1.Dispose();
Assert.AreEqual(1, sockets.Count);
sockets[0].Dispose();
var s2 = pool.GetSocket();
Assert.AreEqual(2, sockets.Count);
}