/* * codjo.net * * Common Apache License 2.0 */ package net.codjo.segmentation.server.preference.family; import junit.framework.TestCase; import org.xml.sax.InputSource; /** * Classe de test de <code>XmlPreferenceLoader</code>. */ public class XmlPreferenceLoaderTest extends TestCase { private XmlPreferenceLoader loader; public void test_load() throws Exception { // Chargement loader.load(new InputSource( XmlPreferenceLoaderTest.class.getResourceAsStream("XmlPreferenceLoaderTest.xml"))); // Assert assertEquals("Toutes les familles sont charg�s", 3, loader.familyCount()); assertNotNull("La famille 'PortfolioSegmentation' est pr�sente", loader.getFamilyPreference("PortfolioSegmentation")); assertNotNull("La famille 'SecuritySegmentation' est pr�sente", loader.getFamilyPreference("SecuritySegmentation")); // Family PortfolioSegmentation XmlFamilyPreference preference = loader.getFamilyPreference("SecuritySegmentation"); assertEquals("SecuritySegmentation", preference.getFamilyId()); assertEquals("AP_SECURITY", preference.getRootTable()); assertEquals("AP_DEST_SECURITY", preference.getDestinationTable()); // Family PortfolioSegmentation preference = loader.getFamilyPreference("PortfolioSegmentation"); assertEquals("PortfolioSegmentation", preference.getFamilyId()); assertEquals("AP_PORTFOLIO", preference.getRootTable()); assertEquals("AP_DEST_PORTFOLIO", preference.getDestinationTable()); assertEquals("[photo, segmentationId]", preference.getArgumentNameList().toString()); assertEquals("[net.codjo.segmentation.server.preference.family.FunctionHolderMock, " + "net.codjo.segmentation.server.preference.family.DefaultFunctionHolder]", preference.getFunctionHolderClassList().toString()); assertEquals(3, preference.getFunctionHolderList().size()); assertEquals("PHOTO = '$photo$' and AXE_ID = $segmentationId$", preference.getDeleteConfig().getRootExpression().getWhereClause()); assertNotNull("La config-select est charg�", preference.getSelectConfig()); assertEquals("AP_PORTFOLIO", preference.getSelectConfig().getRootTableName()); assertEquals(2, preference.getVariables().size()); assertEquals("varchar", preference.getVariables().get(0).getSqlType()); assertEquals("PTF_CONSOLIDE", preference.getVariables().get(0).getName()); assertEquals("Portefeuille", preference.getVariables().get(0).getLabel()); assertEquals("int", preference.getVariables().get(1).getSqlType()); assertEquals("PHOTO_CONSOLIDE", preference.getVariables().get(1).getName()); assertEquals("Photo", preference.getVariables().get(1).getLabel()); } public void test_select_filter() throws Exception { // Chargement loader.load(new InputSource(XmlPreferenceLoaderTest.class.getResourceAsStream( "XmlPreferenceLoaderTest.xml"))); assertNotNull("La famille 'OutstandSegmentation' est pr�sente", loader.getFamilyPreference("OutstandSegmentation")); // Family OutstandSegmentation XmlFamilyPreference preference = loader.getFamilyPreference("OutstandSegmentation"); assertFalse(preference.hasFilter()); // assertNotNull("Un filtre n'a pas �t� positionn�", preference.getFilter()); // assertEquals(NoRowFilter.class.getName(), // preference.getFilter().getClass().getName()); // RowFilter filter = preference.getFilter(); // assertFalse(filter.isRowExcluded(null, null)); } public void test_resultConfig() throws Exception { loader.load(new InputSource(XmlPreferenceLoaderTest.class.getResourceAsStream( "XmlPreferenceLoaderTest.xml"))); XmlFamilyPreference preference = loader.getFamilyPreference("OutstandSegmentation"); TableFieldInfo fieldInfo = preference.getResultColumns().get(0); assertEquals(1, preference.getResultColumns().size()); assertEquals("myKey", fieldInfo.getColumnJavaName()); assertEquals("SEG_RESULT_EVENT", fieldInfo.getColumnTable()); assertEquals("MY_KEY", fieldInfo.getColumnSqlName()); assertEquals("Ma cl�", fieldInfo.getColumnLabel()); } @Override protected void setUp() throws Exception { loader = new XmlPreferenceLoader(); } }