package net.bytebuddy.build.gradle; import net.bytebuddy.test.utility.MockitoRule; import org.gradle.api.Action; import org.gradle.api.Project; import org.gradle.api.logging.Logger; import org.gradle.api.tasks.compile.AbstractCompile; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.rules.TestRule; import org.mockito.Mock; import static org.mockito.Matchers.any; import static org.mockito.Mockito.*; public class PostCompilationActionTest { @Rule public TestRule mockitoRule = new MockitoRule(this); @Mock private Project project; @Mock private Logger logger; @Mock private ByteBuddyExtension byteBuddyExtension; @Mock private AbstractCompile task; @Before public void setUp() throws Exception { when(project.getLogger()).thenReturn(logger); } @Test public void testApplication() throws Exception { when(byteBuddyExtension.implies(task)).thenReturn(true); new PostCompilationAction(project, byteBuddyExtension).execute(task); verify(task).doLast(any(TransformationAction.class)); } @Test @SuppressWarnings("unchecked") public void testNoApplication() throws Exception { when(byteBuddyExtension.implies(task)).thenReturn(false); new PostCompilationAction(project, byteBuddyExtension).execute(task); verify(task, never()).doLast(any(Action.class)); } }