/* DO NOT EDIT: File is auto-generated */
package <%= to_package(repository.ejb.qualified_abstract_service_test_name) %>;

@java.lang.SuppressWarnings( { "UnusedDeclaration" } )
@javax.annotation.Generated( "Domgen" )
public abstract class <%= repository.ejb.abstract_service_test_name %>
  extends <%= repository.jpa? ? repository.jpa.qualified_base_entity_test_name : 'org.realityforge.guiceyloops.server.AbstractServerTest' %>
{
  @java.lang.Override
  protected com.google.inject.Module getDefaultTestModule()
  {
    return new <%= repository.ejb.qualified_services_module_name %>( this );
  }

  @java.lang.Override
  protected com.google.inject.Module[] getModules()
  {
    final java.util.ArrayList<com.google.inject.Module> modules = new java.util.ArrayList<>();
    java.util.Collections.addAll( modules, super.getModules() );
<% repository.ejb.extra_test_modules.each do |test_module| -%>
    modules.add( new <%= test_module %>() );
<% end -%>
    return modules.toArray( new com.google.inject.Module[ modules.size() ] );
  }
}

/* DO NOT EDIT: File is auto-generated */
package <%= to_package(repository.ejb.qualified_abstract_service_test_name) %>;

@java.lang.SuppressWarnings( { "UnusedDeclaration" } )
@javax.annotation.Generated( "Domgen" )
public abstract class <%= repository.ejb.abstract_service_test_name %>
  extends <%= repository.jpa? ? repository.jpa.qualified_base_entity_test_name : 'org.realityforge.guiceyloops.server.AbstractServerTest' %>
{
  @javax.annotation.Nullable
  protected com.google.inject.Module new<%= repository.name %>ServicesModule()
  {
    return new <%= repository.ejb.qualified_services_module_name %>( this );
  }

  @java.lang.Override
  protected com.google.inject.Module getDefaultTestModule()
  {
    return null;
  }

  @java.lang.Override
  protected com.google.inject.Module[] getModules()
  {
    final java.util.ArrayList<com.google.inject.Module> modules = new java.util.ArrayList<>();
    java.util.Collections.addAll( modules, super.getModules() );
<% repository.ejb.extra_test_modules.each do |test_module| -%>
    modules.add( new <%= test_module %>() );
<% end -%>
    addModule( modules, new<%= repository.name %>ServicesModule() );
    return modules.toArray( new com.google.inject.Module[ modules.size() ] );
  }
}

Make it easy to customize the services module in same way it is easy to customize entity modules
Make it easy to customize the services module in same way it is easy to customize entity modules
