@@ -0,0 +1,1566 @@
+package arez.integration.dagger;%0A%0Aimport arez.annotations.ArezComponent;%0Aimport arez.annotations.ComponentDependency;%0Aimport arez.annotations.Feature;%0Aimport arez.component.DisposeNotifier;%0Aimport arez.integration.AbstractArezIntegrationTest;%0Aimport javax.annotation.Nonnull;%0Aimport javax.inject.Inject;%0Aimport org.testng.annotations.Test;%0Aimport static org.testng.Assert.*;%0A%0Apublic class DaggerCodeGenTest%0A  extends AbstractArezIntegrationTest%0A%7B%0A  protected final void assertClassNotPresent( @Nonnull final String className )%0A  %7B%0A    assertThrows( ClassNotFoundException.class, () -%3E Class.forName( getPackagePrefix() + className ) );%0A  %7D%0A%0A  protected final void assertClassPresent( @Nonnull final String className )%0A    throws ClassNotFoundException%0A  %7B%0A    assertNotNull( Class.forName( getPackagePrefix() + className ) );%0A  %7D%0A%0A  @Nonnull%0A  private String getPackagePrefix()%0A  %7B%0A    return getClass().getCanonicalName() + %22_%22;%0A  %7D%0A%0A  static class MyDependency%0A  %7B%0A    @Inject%0A    MyDependency()%0A    %7B%0A    %7D%0A  %7D%0A%0A  @ArezComponent( dagger = Feature.ENABLE )%0A  public static abstract class MyComponent%0A  %7B%0A    MyComponent( @SuppressWarnings( %22unused%22 ) MyDependency myDependency )%0A    %7B%0A    %7D%0A%0A    @ComponentDependency%0A    final DisposeNotifier myDependency()%0A    %7B%0A      return null;%0A    %7D%0A  %7D%0A%0A  @Test%0A  public void scenario()%0A    throws Exception%0A  %7B%0A    assertClassPresent( %22Arez_MyComponent%22 );%0A    assertClassPresent( %22MyComponentDaggerModule%22 );%0A    assertClassNotPresent( %22Arez_MyDependency%22 );%0A    assertClassNotPresent( %22MyDependencyDaggerModule%22 );%0A  %7D%0A%7D%0A

Add a sinple test to verify expected code generation occurs