/*
* codjo.net
*
* Common Apache License 2.0
*/
package net.codjo.utils;
import javax.swing.table.AbstractTableModel;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
/**
* Classe Test pour <code>TableMultiFilterGui</code> .
*
* @author $Author: gonnot $
* @version $Revision: 1.1.1.1 $
*/
public class TableMultiFilterGuiTest extends TestCase {
TableFilter filterModel;
TableFilterTest.BasicModel model;
TableMultiFilterGui multiFilterGui;
/**
* Constructor for the TableMultiFilterGuiTest object
*
* @param name Description of Parameter
*/
public TableMultiFilterGuiTest(String name) {
super(name);
}
/**
* A unit test for JUnit
*/
public void test_getModel_NoDuplicateItem() {
multiFilterGui.setTableFilter(filterModel, 0);
assertEquals(multiFilterGui.getRowCount(), 2);
assertEquals(multiFilterGui.getValueAt(0, 0), Boolean.FALSE);
assertEquals(multiFilterGui.getValueAt(0, 1), new Integer(0));
assertEquals(multiFilterGui.getValueAt(1, 0), Boolean.FALSE);
assertEquals(multiFilterGui.getValueAt(1, 1), new Integer(1));
}
/**
* A unit test for JUnit
*/
public void test_getModel_NoDuplicateItem_DuringModelUpdate() {
multiFilterGui.setTableFilter(filterModel, 0);
model.simulateDataChange(5);
assertEquals(multiFilterGui.getRowCount(), 2);
assertEquals(multiFilterGui.getValueAt(0, 1), new Integer(5));
assertEquals(multiFilterGui.getValueAt(1, 1), new Integer(6));
}
/**
* A unit test for JUnit
*/
public void test_getModel_NoDuplicateItem_NullValue() {
ModelWithNullValue modelNV = new ModelWithNullValue();
filterModel = new TableFilter(modelNV);
multiFilterGui.setTableFilter(filterModel, 0);
assertEquals(multiFilterGui.getRowCount(), 2);
assertEquals(multiFilterGui.getValueAt(0, 1), null);
assertEquals(multiFilterGui.getValueAt(1, 1), new Integer(0));
}
/**
* A unit test for JUnit
*/
public void test_setFilter() {
multiFilterGui.setTableFilter(filterModel, 0);
assertEquals(multiFilterGui.getRowCount(), 2);
filterModel.setFilter(0, new Integer(1));
assertEquals(multiFilterGui.getRowCount(), 2);
}
/**
* A unit test for JUnit
*/
public void test_setFilter_User() {
multiFilterGui.setTableFilter(filterModel, 0);
assertEquals("Par defaut 0 n'est pas dans le filtre",
multiFilterGui.getValueAt(0, 0), Boolean.FALSE);
assertEquals("NoFilter", filterModel.getFilterValue(0), null);
multiFilterGui.setValueAt(Boolean.TRUE, 0, 0);
assertEquals("0 est dans le filtre", multiFilterGui.getValueAt(0, 0), Boolean.TRUE);
assertEquals("etat du Filtre", filterModel.getFilterValue(0), new Integer(0));
}
/**
* A unit test for JUnit
*/
public void test_setFilter_Programaticaly() {
multiFilterGui.setTableFilter(filterModel, 0);
assertNull("NoFilter", filterModel.getFilterValue(0));
assertEquals("No_filter 0 ", multiFilterGui.getValueAt(0, 0), Boolean.FALSE);
assertEquals("No_filter 1 ", multiFilterGui.getValueAt(1, 0), Boolean.FALSE);
filterModel.setFilter(0, new Integer(1));
assertEquals("No_filter 0 ", multiFilterGui.getValueAt(0, 0), Boolean.FALSE);
assertEquals("Filter 1 ", multiFilterGui.getValueAt(1, 0), Boolean.TRUE);
}
/**
* The JUnit setup method
*
* @exception java.lang.Exception Description of Exception
*/
protected void setUp() throws java.lang.Exception {
model = new TableFilterTest.BasicModel();
filterModel = new TableFilter(model);
multiFilterGui = new TableMultiFilterGui();
}
/**
* The teardown method for JUnit
*
* @exception java.lang.Exception Description of Exception
*/
protected void tearDown() throws java.lang.Exception {}
/**
* A unit test suite for JUnit
*
* @return The test suite
*/
public static Test suite() {
return new TestSuite(TableMultiFilterGuiTest.class);
}
/**
* Overview.
*
* <p>
* Description
* </p>
*
* @author $Author: gonnot $
* @version $Revision: 1.1.1.1 $
*/
static class ModelWithNullValue extends AbstractTableModel {
/**
* DOCUMENT ME!
*
* @return The ColumnCount value
*/
public int getColumnCount() {
return 1;
}
/**
* DOCUMENT ME!
*
* @return The RowCount value
*/
public int getRowCount() {
return 3;
}
/**
* Gets the ColumnName attribute of the BasicModel object
*
* @param aColumn Description of Parameter
*
* @return The ColumnName value
*/
public String getColumnName(int aColumn) {
return "COL_" + aColumn;
}
/**
* DOCUMENT ME!
*
* @param row Description of Parameter
* @param col Description of Parameter
*
* @return The ValueAt value
*/
public Object getValueAt(int row, int col) {
switch (row) {
case 0:
return new Integer(0);
case 1:
return null;
case 2:
return new Integer(0);
}
return null;
}
}
}