acquisitionContext.reset(); acquisitionContext.setAcquisitionTime(System.currentTimeMillis());
acquisitionContext.reset(); acquisitionContext.setAcquisitionTime(System.currentTimeMillis());
@Test public void testIdleWaitTime() { // given a job acquisition strategy and a job acquisition context // with no acquired jobs JobAcquisitionContext context = new JobAcquisitionContext(); context.submitAcquiredJobs(ENGINE_NAME, buildAcquiredJobs(NUM_JOBS_TO_ACQUIRE, 0, 0)); // when reconfiguring the strategy strategy.reconfigure(context); // then the job acquisition strategy returns the level 1 idle time Assert.assertEquals(BASE_IDLE_WAIT_TIME, strategy.getWaitTime()); // when resubmitting the same acquisition result for (int idleLevel = 1; idleLevel < 6; idleLevel++) { context.reset(); context.submitAcquiredJobs(ENGINE_NAME, buildAcquiredJobs(NUM_JOBS_TO_ACQUIRE, 0, 0)); strategy.reconfigure(context); Assert.assertEquals((long) (BASE_IDLE_WAIT_TIME * Math.pow(IDLE_INCREASE_FACTOR, idleLevel)), strategy.getWaitTime()); } // and the maximum idle level is finally reached context.reset(); context.submitAcquiredJobs(ENGINE_NAME, buildAcquiredJobs(NUM_JOBS_TO_ACQUIRE, 0, 0)); strategy.reconfigure(context); Assert.assertEquals(MAX_IDLE_TIME, strategy.getWaitTime()); }
@Test public void testAcquisitionAfterIdleWait() { // given a job acquisition strategy and a job acquisition context // with no acquired jobs JobAcquisitionContext context = new JobAcquisitionContext(); context.submitAcquiredJobs(ENGINE_NAME, buildAcquiredJobs(NUM_JOBS_TO_ACQUIRE, 0, 0)); strategy.reconfigure(context); Assert.assertEquals(BASE_IDLE_WAIT_TIME, strategy.getWaitTime()); // when receiving a successful acquisition result context.reset(); context.submitAcquiredJobs(ENGINE_NAME, buildAcquiredJobs(NUM_JOBS_TO_ACQUIRE, NUM_JOBS_TO_ACQUIRE, 0)); strategy.reconfigure(context); // then the idle wait time has been reset Assert.assertEquals(0L, strategy.getWaitTime()); }
@Override public synchronized void run() { acquisitionContext.reset(); acquisitionContext.setAcquisitionTime(System.currentTimeMillis());
acquisitionContext.reset(); acquisitionContext.setAcquisitionTime(System.currentTimeMillis());
@Test public void testIdleWaitTime() { // given a job acquisition strategy and a job acquisition context // with no acquired jobs JobAcquisitionContext context = new JobAcquisitionContext(); context.submitAcquiredJobs(ENGINE_NAME, buildAcquiredJobs(NUM_JOBS_TO_ACQUIRE, 0, 0)); // when reconfiguring the strategy strategy.reconfigure(context); // then the job acquisition strategy returns the level 1 idle time Assert.assertEquals(BASE_IDLE_WAIT_TIME, strategy.getWaitTime()); // when resubmitting the same acquisition result for (int idleLevel = 1; idleLevel < 6; idleLevel++) { context.reset(); context.submitAcquiredJobs(ENGINE_NAME, buildAcquiredJobs(NUM_JOBS_TO_ACQUIRE, 0, 0)); strategy.reconfigure(context); Assert.assertEquals((long) (BASE_IDLE_WAIT_TIME * Math.pow(IDLE_INCREASE_FACTOR, idleLevel)), strategy.getWaitTime()); } // and the maximum idle level is finally reached context.reset(); context.submitAcquiredJobs(ENGINE_NAME, buildAcquiredJobs(NUM_JOBS_TO_ACQUIRE, 0, 0)); strategy.reconfigure(context); Assert.assertEquals(MAX_IDLE_TIME, strategy.getWaitTime()); }
@Test public void testAcquisitionAfterIdleWait() { // given a job acquisition strategy and a job acquisition context // with no acquired jobs JobAcquisitionContext context = new JobAcquisitionContext(); context.submitAcquiredJobs(ENGINE_NAME, buildAcquiredJobs(NUM_JOBS_TO_ACQUIRE, 0, 0)); strategy.reconfigure(context); Assert.assertEquals(BASE_IDLE_WAIT_TIME, strategy.getWaitTime()); // when receiving a successful acquisition result context.reset(); context.submitAcquiredJobs(ENGINE_NAME, buildAcquiredJobs(NUM_JOBS_TO_ACQUIRE, NUM_JOBS_TO_ACQUIRE, 0)); strategy.reconfigure(context); // then the idle wait time has been reset Assert.assertEquals(0L, strategy.getWaitTime()); }