private void runTransform(Transform transform, TransformOutputProvider outputProvider) throws Exception { // Cleaning output directory. FileUtil.deleteDirectory(outputJarsDir); outputJarsDir.mkdirs(); // Preparing Transform invocation. TransformInput input = new TransformInputBuilder().addJarInputFolder(inputJarsDir).build(); TransformInput referencedInput = new TransformInputBuilder().addJarInput(androidClassPath).build(); TransformInvocation invocation = new TransformInvocationBuilder() .addInput(input) .addReferencedInput(referencedInput) .setOutputProvider(outputProvider) .build(); // Running the transform invocation. transform.transform(invocation); } }
@Test public void addInput_shouldAddAnInput() throws Exception { TransformInvocation invocation = builder.addInput(transformInput).setOutputProvider(outputProvider).build(); assertThat(invocation.getInputs()).containsExactly(transformInput); assertThat(invocation.getReferencedInputs()).isEmpty(); assertThat(invocation.getOutputProvider()).isEqualTo(outputProvider); }
@Test public void addReferencedInput_shouldAddReferencedInput() throws Exception { TransformInvocation invocation = builder.addReferencedInput(transformInput).setOutputProvider(outputProvider).build(); assertThat(invocation.getInputs()).isEmpty(); assertThat(invocation.getReferencedInputs()).containsExactly(transformInput); assertThat(invocation.getOutputProvider()).isEqualTo(outputProvider); }
@Test(expected = IllegalArgumentException.class) public void whenOutputProviderNotSet_shouldThrowException() throws Exception { builder.build(); } }
@Before public void setUp() throws Exception { MockitoAnnotations.initMocks(this); builder = new TransformInvocationBuilder(); }