@Test
public void dependsOnTest() {

    TransformationUtility tuA = getNewTestTransformationUtility().setName("A");
    TransformationUtility tuB = getNewTestTransformationUtility().setName("B");
    tuB.dependsOn("A");
    assertFalse(tuA.hasBeenPerformed());
    PerformResult performResultA = tuA.perform(transformedAppFolder, transformationContext);
    assertTrue(tuA.hasBeenPerformed());
    assertEquals(performResultA.getType(), PerformResult.Type.EXECUTION_RESULT);
    assertEquals(performResultA.getExecutionResult().getType(), TUExecutionResult.Type.VALUE);
    assertEquals(((TUExecutionResult) performResultA.getExecutionResult()).getValue(), transformedAppFolder);
    Mockito.when(transformationContext.getResult("A")).thenReturn(performResultA);
    assertFalse(tuB.hasBeenPerformed());
    PerformResult performResultB = tuB.perform(transformedAppFolder, transformationContext);
    assertTrue(tuB.hasBeenPerformed());
    assertEquals(performResultB.getType(), PerformResult.Type.EXECUTION_RESULT);
    assertEquals(performResultB.getExecutionResult().getType(), TUExecutionResult.Type.VALUE);
    assertEquals(((TUExecutionResult) performResultB.getExecutionResult()).getValue(), transformedAppFolder);
}