package test.${businessObject.packageName};
import test.fr.paris.lutece.LuteceTestCase;
import fr.paris.lutece.plugins.${businessObject.pluginName}.business.${businessObject.className};
import fr.paris.lutece.plugins.${businessObject.pluginName}.business.${businessObject.className}Home;
import fr.paris.lutece.portal.service.plugin.PluginService;
import fr.paris.lutece.portal.service.plugin.Plugin;
public class ${businessObject.className}BusinessTest extends LuteceTestCase
{
<#list businessObject.attributes as attribute>
<#if attribute.type = "String">
private final static ${attribute.type} ${attribute.name?upper_case}1 = "${attribute.name}1";
private final static ${attribute.type} ${attribute.name?upper_case}2 = "${attribute.name}2";
<#else>
private final static ${attribute.type} ${attribute.name?upper_case}1 = 1;
private final static ${attribute.type} ${attribute.name?upper_case}2 = 2;
#if>
#list>
public void testBusiness( )
{
Plugin plugin = PluginService.getPlugin( "${businessObject.pluginName}" );
${businessObject.className} ${businessObject.instanceName} = new ${businessObject.className}();
<#list businessObject.attributes as attribute>
${businessObject.instanceName}.set${attribute.name}( ${attribute.name?upper_case}1 );
#list>
${businessObject.className}Home.create( ${businessObject.instanceName} , plugin );
${businessObject.className} ${businessObject.instanceName}Stored = ${businessObject.className}Home.findByPrimaryKey( ${businessObject.instanceName}.getId() , plugin );
<#list businessObject.attributes as attribute>
assertEquals( ${businessObject.instanceName}Stored.get${attribute.name}() , ${businessObject.instanceName}.get${attribute.name}() );
#list>
<#list businessObject.attributes as attribute>
${businessObject.instanceName}.set${attribute.name}( ${attribute.name?upper_case}2 );
#list>
${businessObject.className}Home.update( ${businessObject.instanceName} , plugin );
${businessObject.instanceName}Stored = ${businessObject.className}Home.findByPrimaryKey( ${businessObject.instanceName}.getId() , plugin );
<#list businessObject.attributes as attribute>
assertEquals( ${businessObject.instanceName}Stored.get${attribute.name}() , ${businessObject.instanceName}.get${attribute.name}() );
#list>
${businessObject.className}Home.get${businessObject.className}sList( plugin );
${businessObject.className}Home.remove( ${businessObject.instanceName}.getId() , plugin );
${businessObject.instanceName}Stored = ${businessObject.className}Home.findByPrimaryKey( ${businessObject.instanceName}.getId() , plugin );
assertNull( ${businessObject.instanceName}Stored );
}
}