package org.threadly.concurrent.wrapper.limiter; import static org.junit.Assert.*; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.threadly.concurrent.PriorityScheduler; @SuppressWarnings("javadoc") public class KeyedSubmitterSchedulerLimiterTest extends AbstractKeyedLimiterTest { protected PriorityScheduler scheduler; @Before public void setup() { scheduler = new PriorityScheduler(10); } @After public void cleanup() { scheduler.shutdownNow(); scheduler = null; } @Override protected AbstractKeyedLimiter<?> makeLimiter(int limit) { return new KeyedSubmitterSchedulerLimiter(scheduler, limit, null, true, 1); } @Test @SuppressWarnings("unused") public void constructorFail() { try { new KeyedSubmitterSchedulerLimiter(null, 10); fail("Exception should have thrown"); } catch (IllegalArgumentException e) { // expected } try { new KeyedSubmitterSchedulerLimiter(scheduler, 0); fail("Exception should have thrown"); } catch (IllegalArgumentException e) { // expected } } }