@Test public void testInitialNoConcurrency() { int n = 10; FakeConnectionProvider connector = new FakeConnectionProvider(); FakeConnectionManager mgr = new FakeConnectionManager(-1, 1, connector); List<FakeWaiter> waiters = new ArrayList<>(); for (int i = 0; i < n; i++) { FakeWaiter waiter = new FakeWaiter(); mgr.getConnection(waiter); waiters.add(waiter); } FakeConnection conn = connector.assertRequest(); conn.concurrency(0).connect().awaitConnected(); conn.concurrency(n - 1); assertWaitUntil(() -> waiters.stream().filter(FakeWaiter::isSuccess).count() == n - 1); waiters.stream().filter(FakeWaiter::isSuccess).findFirst().get().recycle(); waiters.forEach(waiter -> { assertWaitUntil(waiter::isSuccess); }); }
@Test public void testInitialConcurrency() { int n = 10; FakeConnectionProvider connector = new FakeConnectionProvider(); FakeConnectionManager mgr = new FakeConnectionManager(-1, 1, connector); List<FakeWaiter> waiters = new ArrayList<>(); for (int i = 0; i < n; i++) { FakeWaiter waiter = new FakeWaiter(); mgr.getConnection(waiter); waiters.add(waiter); } FakeConnection conn = connector.assertRequest(); conn.concurrency(n).connect(); waiters.forEach(waiter -> { assertWaitUntil(waiter::isSuccess); }); waiters.forEach(FakeWaiter::recycle); }
@Test public void testInitialNoConcurrency() { int n = 10; FakeConnectionProvider connector = new FakeConnectionProvider(); FakeConnectionManager mgr = new FakeConnectionManager(-1, 1, connector); List<FakeWaiter> waiters = new ArrayList<>(); for (int i = 0; i < n; i++) { FakeWaiter waiter = new FakeWaiter(); mgr.getConnection(waiter); waiters.add(waiter); } FakeConnection conn = connector.assertRequest(); conn.concurrency(0).connect().awaitConnected(); conn.concurrency(n - 1); assertWaitUntil(() -> waiters.stream().filter(FakeWaiter::isSuccess).count() == n - 1); waiters.stream().filter(FakeWaiter::isSuccess).findFirst().get().recycle(); waiters.forEach(waiter -> { assertWaitUntil(waiter::isSuccess); }); }
@Test public void testInitialConcurrency() { int n = 10; FakeConnectionProvider connector = new FakeConnectionProvider(); FakeConnectionManager mgr = new FakeConnectionManager(-1, 1, connector); List<FakeWaiter> waiters = new ArrayList<>(); for (int i = 0; i < n; i++) { FakeWaiter waiter = new FakeWaiter(); mgr.getConnection(waiter); waiters.add(waiter); } FakeConnection conn = connector.assertRequest(); conn.concurrency(n).connect(); waiters.forEach(waiter -> { assertWaitUntil(waiter::isSuccess); }); waiters.forEach(FakeWaiter::recycle); }