### Question:
BouquetPluginAndroidConfig extends BouquetPluginConfig { @Override protected void configurePlugin() { getProject().getDependencies().add(CONFIGURATION, "org.aspectj:aspectjrt:" + ASPECTJ_VERSION); getProject().getDependencies().add(CONFIGURATION, "com.quanturium.bouquet:bouquet-runtime:" + BOUQUET_VERSION); getProject().getDependencies().add(CONFIGURATION, "com.quanturium.bouquet:bouquet-runtime-android:" + BOUQUET_VERSION); BaseExtension androidExtension = (BaseExtension) getProject().getExtensions().getByName("android"); if (!((BouquetExtension) getProject().getExtensions().getByName(BOUQUET_EXTENSION)).isEnabled()) { getProject().getLogger().debug("Skipping weaving. Bouquet is not enabled"); return; } AspectJAndroidTransform aspectJAndroidTransform = new AspectJAndroidTransform(getProject(), androidExtension); androidExtension.registerTransform(aspectJAndroidTransform); if (getProjectType() == ProjectType.ANDROID_APP) { ((AppExtension) androidExtension).getApplicationVariants().all(applicationVariant -> { if (applicationVariant.getBuildType().isDebuggable()) { aspectJAndroidTransform.addVariant(applicationVariant); } }); } else if (getProjectType() == ProjectType.ANDROID_LIBRARY) { ((LibraryExtension) androidExtension).getLibraryVariants().all(libraryVariant -> { if (libraryVariant.getBuildType().isDebuggable()) { aspectJAndroidTransform.addVariant(libraryVariant); } }); } } BouquetPluginAndroidConfig(Project project, ProjectType projectType);   }### Answer:
@Test public void configurePlugin() { when(project.getDependencies()).thenReturn(dependencyHandler); when(project.getExtensions()).thenReturn(extensionContainer); when(extensionContainer.getByName("android")).thenReturn(appExtension); BouquetExtension bouquetExtension = new BouquetExtension(); bouquetExtension.setEnabled(true); when(extensionContainer.getByName("bouquet")).thenReturn(bouquetExtension); when(appExtension.getApplicationVariants()).thenReturn(domainObjectSet); bouquetPluginAndroidConfig.configurePlugin(); verify(dependencyHandler).add("implementation","org.aspectj:aspectjrt:" + ASPECTJ_VERSION); verify(dependencyHandler).add("implementation", "com.quanturium.bouquet:bouquet-runtime:" + BOUQUET_VERSION); verify(dependencyHandler).add("implementation", "com.quanturium.bouquet:bouquet-runtime-android:" + BOUQUET_VERSION); verify(appExtension).registerTransform(any(AspectJAndroidTransform.class)); verifyNoMoreInteractions(dependencyHandler); }