@@ -0,0 +1,1961 @@
+package de.skuzzle.inject.async;%0A%0Aimport static org.mockito.Matchers.eq;%0Aimport static org.mockito.Matchers.isA;%0Aimport static org.mockito.Mockito.verify;%0A%0Aimport java.lang.reflect.Method;%0Aimport java.util.concurrent.ScheduledExecutorService;%0Aimport java.util.concurrent.TimeUnit;%0A%0Aimport org.junit.Test;%0Aimport org.junit.runner.RunWith;%0Aimport org.mockito.InjectMocks;%0Aimport org.mockito.Mock;%0Aimport org.mockito.runners.MockitoJUnitRunner;%0A%0Aimport com.google.inject.Injector;%0A%0Aimport de.skuzzle.inject.async.annotation.Scheduled;%0Aimport de.skuzzle.inject.async.annotation.Scheduler;%0Aimport de.skuzzle.inject.async.annotation.SimpleScheduleType;%0Aimport de.skuzzle.inject.async.annotation.SimpleTrigger;%0A%0A@RunWith(MockitoJUnitRunner.class)%0Apublic class SimpleTriggerStrategyTest %7B%0A%0A    @Mock%0A    private Injector injector;%0A    @InjectMocks%0A    private SimpleTriggerStrategy subject;%0A%0A    @Mock%0A    private ScheduledExecutorService executorService;%0A%0A%0A    @Scheduled%0A    @Scheduler(ScheduledExecutorService.class)%0A    @SimpleTrigger(value = 5000,%0A            initialDelay = 12,%0A            scheduleType = SimpleScheduleType.WITH_FIXED_DELAY,%0A            timeUnit = TimeUnit.HOURS)%0A    public void methodWithSimpleTrigger() %7B%0A%0A    %7D%0A%0A    @Scheduled%0A    @Scheduler(ScheduledExecutorService.class)%0A    public void methodWithoutTrigger() %7B%0A    %7D%0A%0A    @Test(expected = IllegalArgumentException.class)%0A    public void testNoTrigger() throws Exception %7B%0A        final Method method = getClass().getMethod(%22methodWithoutTrigger%22);%0A        this.subject.schedule(method, this, this.executorService);%0A%0A    %7D%0A%0A    @Test%0A    public void testSchedule() throws Exception %7B%0A        final Method method = getClass().getMethod(%22methodWithSimpleTrigger%22);%0A        this.subject.schedule(method, this, this.executorService);%0A        verify(this.executorService).scheduleWithFixedDelay(%0A                isA(InvokeMethodRunnable.class), eq(12L), eq(5000L), eq(TimeUnit.HOURS));%0A    %7D%0A%7D%0A

Add tests