@Before public void setUp() throws Exception { stepContribution = new StepContribution(mock(StepExecution.class)); chunkContext = mock(ChunkContext.class); tasklet = new TestTasklet(); adapter = new MethodInvokingTaskletAdapter(); adapter.setTargetObject(tasklet); }
@Test public void testArgumentSubsetWithOnlyStepContribution() throws Exception { adapter.setTargetMethod("execute4"); RepeatStatus repeatStatus = adapter.execute(stepContribution, chunkContext); assertEquals(RepeatStatus.FINISHED, repeatStatus); assertEquals(tasklet.getStepContribution(), stepContribution); }
@Test public void testArgumentSubsetWithOnlyChunkContextAndCompatibleReturnTypeVoid() throws Exception { adapter.setTargetMethod("execute9"); RepeatStatus repeatStatus = adapter.execute(stepContribution, chunkContext); assertEquals(RepeatStatus.FINISHED, repeatStatus); assertEquals(tasklet.getChunkContext(), chunkContext); }
@Test public void testSameSignatureWithDifferentMethodName() throws Exception { adapter.setTargetMethod("execute1"); RepeatStatus repeatStatus = adapter.execute(stepContribution, chunkContext); assertEquals(RepeatStatus.FINISHED, repeatStatus); assertEquals(tasklet.getStepContribution(), stepContribution); assertEquals(tasklet.getChunkContext(), chunkContext); }
@Test public void testArgumentSubsetWithOnlyStepContributionAndCompatibleReturnTypeBoolean() throws Exception { adapter.setTargetMethod("execute8"); RepeatStatus repeatStatus = adapter.execute(stepContribution, chunkContext); assertEquals(RepeatStatus.FINISHED, repeatStatus); assertEquals(tasklet.getStepContribution(), stepContribution); }
@Test public void testDifferentParametersOrder() throws Exception { adapter.setTargetMethod("execute2"); RepeatStatus repeatStatus = adapter.execute(stepContribution, chunkContext); assertEquals(RepeatStatus.FINISHED, repeatStatus); assertEquals(tasklet.getStepContribution(), stepContribution); assertEquals(tasklet.getChunkContext(), chunkContext); }
@Test public void testArgumentSubsetWithOnlyChunkContext() throws Exception { adapter.setTargetMethod("execute3"); RepeatStatus repeatStatus = adapter.execute(stepContribution, chunkContext); assertEquals(RepeatStatus.FINISHED, repeatStatus); assertEquals(tasklet.getChunkContext(), chunkContext); }
@Test public void testExactlySameSignature() throws Exception { adapter.setTargetMethod("execute"); RepeatStatus repeatStatus = adapter.execute(stepContribution, chunkContext); assertEquals(RepeatStatus.FINISHED, repeatStatus); assertEquals(tasklet.getStepContribution(), stepContribution); assertEquals(tasklet.getChunkContext(), chunkContext); }