package arez.integration.dagger.codegen;

import arez.integration.AbstractArezIntegrationTest;
import javax.annotation.Nonnull;
import static org.testng.Assert.*;

public class AbstractCodegenIntegrationTest
  extends AbstractArezIntegrationTest
{
  final void assertClassNotPresent( @Nonnull final String className )
  {
    assertThrows( ClassNotFoundException.class, () -> Class.forName( "arez.integration.dagger.codegen." + className ) );
  }

  final void assertClassPresent( @Nonnull final String className )
    throws ClassNotFoundException
  {
    assertNotNull( Class.forName( "arez.integration.dagger.codegen." + className ) );
  }
}

@@ -243,16 +243,26 @@
 est%0A%7B%0A  
+protected 
 final vo
@@ -398,42 +398,26 @@
 me( 
-%22arez.integration.dagger.codegen.%22
+getPackagePrefix()
  + c
@@ -437,16 +437,26 @@
 %0A  %7D%0A%0A  
+protected 
 final vo
@@ -588,56 +588,175 @@
 me( 
-%22arez.integration.dagger.codegen.%22 + className )
+getPackagePrefix() + className ) );%0A  %7D%0A%0A  @Nonnull%0A  private String getPackagePrefix()%0A  %7B%0A    return getClass().getCanonicalName().replaceAll( %22%5E(.*%5C%5C.)%5B%5E.%5D+$%22, %22$1%22
  );%0A

Make assertions work in other packages