/* * codjo.net * * Common Apache License 2.0 */ package net.codjo.segmentation.gui.preference; import java.util.ArrayList; import java.util.Collections; import java.util.List; import junit.framework.TestCase; /** * Classe de test de {@link net.codjo.segmentation.gui.preference.DBStructureFilter}. */ public class DBStructureVariableTest extends TestCase { private DBStructureVariable structureVar; protected void setUp() throws Exception { structureVar = new DBStructureVariable(); } public void test_getColums() throws Exception { structureVar.setSubDBStructure(new PreferenceGuiTest.FakeDBStructure() { public List getColumnsFor(String tableName) { List columnsList = new ArrayList(); columnsList.add(tableName + ".COL1"); columnsList.add(tableName + ".COL2"); return columnsList; } }); List colList = structureVar.getColumnsFor("AP_TOTO"); assertEquals(2, colList.size()); assertEquals("AP_TOTO.COL1", colList.get(0)); assertEquals("AP_TOTO.COL2", colList.get(1)); } public void test_getColumnLabelFor() throws Exception { structureVar.setSubDBStructure(new PreferenceGuiTest.FakeDBStructure() { public String getColumnLabelFor(String tableName, String sqlField) { return "logic " + tableName + " " + sqlField; } }); assertEquals("logic AP_TOTO COL1", structureVar.getColumnLabelFor("AP_TOTO", "COL1")); } public void test_getColumnLabelFor_var() throws Exception { structureVar.setSubDBStructure(new PreferenceGuiTest.FakeDBStructure()); structureVar.addVariable("VAR_1", "label"); List colList = structureVar.getColumnsFor(DBStructureVariable.VAR_TABLE); assertEquals(1, colList.size()); assertEquals("label", structureVar.getColumnLabelFor(DBStructureVariable.VAR_TABLE, "VAR_1")); assertEquals("var_unknown", structureVar.getColumnLabelFor(DBStructureVariable.VAR_TABLE, "var_unknown")); } public void test_getVariables() throws Exception { structureVar.setSubDBStructure(new PreferenceGuiTest.FakeDBStructure()); structureVar.addVariable("VAR_1", "label 0"); structureVar.addVariable("VAR_1", "label 1"); List colList = structureVar.getColumnsFor(DBStructureVariable.VAR_TABLE); assertEquals(1, colList.size()); assertEquals("VAR_1", colList.get(0)); } public void test_getVariables_list() throws Exception { structureVar.setSubDBStructure(new PreferenceGuiTest.FakeDBStructure()); structureVar.addVariable("VAR_1", "label VAR_1"); structureVar.addVariable("VAR_2", "label VAR_2"); List colList = structureVar.getColumnsFor(DBStructureVariable.VAR_TABLE); Collections.sort(colList); assertEquals(2, colList.size()); assertEquals("VAR_1", colList.get(0)); assertEquals("VAR_2", colList.get(1)); } }