public void Disposing_pool_socket_does_not_dispose_wrapped_socket() {
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();
Assert.AreEqual(1, sockets.Count);
s1.Dispose();
Assert.IsFalse(s1.Connected);
Assert.IsTrue(sockets[0].Connected);
}