@Override
    public boolean canPass(Node node, int acquireCount) {
        return canPass(node, acquireCount, false);
    }
@Test
    public void testPace() throws InterruptedException {
        WarmUpRateLimiterController controller = new WarmUpRateLimiterController(10, 10, 1000, 3);

        Node node = mock(Node.class);

        when(node.passQps()).thenReturn(100d);
        when(node.previousPassQps()).thenReturn(100d);

        assertTrue(controller.canPass(node, 1));

        // Easily fail in single request testing, so we increase it to 10 requests and test the average time
        long start = System.currentTimeMillis();
        int requests = 10;
        for (int i = 0; i < requests; i++) {
            assertTrue(controller.canPass(node, 1));
        }
        float cost = (System.currentTimeMillis() - start) / 1.0f / requests;
        assertTrue(Math.abs(cost - 100) < 10);
    }