public void Too_many_busy_connections_throws() {
Func<ISocket> socketFactory = () => new MockSocket();
var pool = new ConnectionPool(socketFactory) { MaxConnections = 5 };
var s1 = pool.GetSocket();
var s2 = pool.GetSocket();
var s3 = pool.GetSocket();
var s4 = pool.GetSocket();
var s5 = pool.GetSocket();
try {
pool.GetSocket();
Assert.Fail("didn't throw");
} catch(PoolExhaustedException) {
return;
} catch(Exception e) {
Assert.Fail(string.Format("threw {0} instead of PoolExhaustedException", e));
}
}