Search in sources :

Example 1 with TerminationPolicy

use of com.linkedin.parseq.retry.termination.TerminationPolicy in project parseq by linkedin.

the class TestTerminationPolicy method testRequireAny.

@Test
public void testRequireAny() {
    TerminationPolicy policy = TerminationPolicy.requireAny(TerminationPolicy.limitAttempts(10), TerminationPolicy.limitDuration(100));
    assertFalse(policy.shouldTerminate(0, 0));
    assertFalse(policy.shouldTerminate(0, 99));
    assertFalse(policy.shouldTerminate(9, 0));
    assertFalse(policy.shouldTerminate(9, 99));
    assertTrue(policy.shouldTerminate(10, 99));
    assertTrue(policy.shouldTerminate(9, 100));
    assertTrue(policy.shouldTerminate(20, 100));
    assertTrue(policy.shouldTerminate(10, 200));
}
Also used : TerminationPolicy(com.linkedin.parseq.retry.termination.TerminationPolicy) BaseEngineTest(com.linkedin.parseq.BaseEngineTest) Test(org.testng.annotations.Test)

Example 2 with TerminationPolicy

use of com.linkedin.parseq.retry.termination.TerminationPolicy in project parseq by linkedin.

the class TestTerminationPolicy method testLimitAttempts.

@Test
public void testLimitAttempts() {
    TerminationPolicy policy = TerminationPolicy.limitAttempts(10);
    assertFalse(policy.shouldTerminate(0, 0));
    assertFalse(policy.shouldTerminate(9, 0));
    assertTrue(policy.shouldTerminate(10, 0));
    assertTrue(policy.shouldTerminate(100, 0));
}
Also used : TerminationPolicy(com.linkedin.parseq.retry.termination.TerminationPolicy) BaseEngineTest(com.linkedin.parseq.BaseEngineTest) Test(org.testng.annotations.Test)

Example 3 with TerminationPolicy

use of com.linkedin.parseq.retry.termination.TerminationPolicy in project parseq by linkedin.

the class TestTerminationPolicy method testNeverTerminate.

@Test
public void testNeverTerminate() {
    TerminationPolicy policy = TerminationPolicy.neverTerminate();
    assertFalse(policy.shouldTerminate(0, 0));
    assertFalse(policy.shouldTerminate(10, 0));
    assertFalse(policy.shouldTerminate(0, 100));
}
Also used : TerminationPolicy(com.linkedin.parseq.retry.termination.TerminationPolicy) BaseEngineTest(com.linkedin.parseq.BaseEngineTest) Test(org.testng.annotations.Test)

Example 4 with TerminationPolicy

use of com.linkedin.parseq.retry.termination.TerminationPolicy in project parseq by linkedin.

the class TestTerminationPolicy method testLimitDuration.

@Test
public void testLimitDuration() {
    TerminationPolicy policy = TerminationPolicy.limitDuration(100);
    assertFalse(policy.shouldTerminate(10, 0));
    assertFalse(policy.shouldTerminate(0, 99));
    assertTrue(policy.shouldTerminate(10, 100));
    assertTrue(policy.shouldTerminate(0, 200));
}
Also used : TerminationPolicy(com.linkedin.parseq.retry.termination.TerminationPolicy) BaseEngineTest(com.linkedin.parseq.BaseEngineTest) Test(org.testng.annotations.Test)

Example 5 with TerminationPolicy

use of com.linkedin.parseq.retry.termination.TerminationPolicy in project parseq by linkedin.

the class TestTerminationPolicy method testRequireBoth.

@Test
public void testRequireBoth() {
    TerminationPolicy policy = TerminationPolicy.requireBoth(TerminationPolicy.limitAttempts(10), TerminationPolicy.limitDuration(100));
    assertFalse(policy.shouldTerminate(20, 0));
    assertFalse(policy.shouldTerminate(0, 200));
    assertFalse(policy.shouldTerminate(9, 99));
    assertFalse(policy.shouldTerminate(9, 100));
    assertFalse(policy.shouldTerminate(10, 99));
    assertTrue(policy.shouldTerminate(10, 100));
    assertTrue(policy.shouldTerminate(20, 100));
    assertTrue(policy.shouldTerminate(10, 200));
}
Also used : TerminationPolicy(com.linkedin.parseq.retry.termination.TerminationPolicy) BaseEngineTest(com.linkedin.parseq.BaseEngineTest) Test(org.testng.annotations.Test)

Aggregations

BaseEngineTest (com.linkedin.parseq.BaseEngineTest)8 TerminationPolicy (com.linkedin.parseq.retry.termination.TerminationPolicy)8 Test (org.testng.annotations.Test)8 GuavaRateLimiter (com.linkedin.parseq.retry.termination.GuavaRateLimiter)1 RateLimiter (com.linkedin.parseq.retry.termination.RateLimiter)1