public void testInFlightRequestCountCalculation() {
String clusterId = "cluster1";
String incrementErrorMessage = "Could not increment in-flight request count: ";
String decrementErrorMessage = "Could not decrement in-flight request count: ";
FutureTask<Object> task = new FutureTask<Object>(new InFlightRequestIncrementCallable(clusterId));
executeTask(task);
Assert.assertEquals(incrementErrorMessage, 1, LoadBalancerStatisticsCollector.getInstance().getInFlightRequestCount(clusterId));
task = new FutureTask<Object>(new InFlightRequestIncrementCallable(clusterId));
executeTask(task);
Assert.assertEquals(incrementErrorMessage, 2, LoadBalancerStatisticsCollector.getInstance().getInFlightRequestCount(clusterId));
task = new FutureTask<Object>(new InFlightRequestIncrementCallable(clusterId));
executeTask(task);
Assert.assertEquals(incrementErrorMessage, 3, LoadBalancerStatisticsCollector.getInstance().getInFlightRequestCount(clusterId));
task = new FutureTask<Object>(new InFlightRequestDecrementCallable(clusterId));
executeTask(task);