package net.sf.colossus.gui;
import junit.framework.TestCase;
import net.sf.colossus.common.Options;
public class ColumnWidthPersistingJTableTest extends TestCase
{
public void TestParseWidthProperty()
{
ColumnWidthPersistingJTable.ColumnWidthPersistingTableColumnModel model = new ColumnWidthPersistingJTable.ColumnWidthPersistingTableColumnModel(
"irrelevent", null);
Options testOptions = new Options("irrelevant");
testOptions.setOption("invalid",
"this is not a valid column width string");
assertEquals(-1, model.getPreferredWidth(testOptions, "invalid", 0));
testOptions.setOption("no data", "0::0:,0,,::,:");
assertEquals(-1, model.getPreferredWidth(testOptions, "no data", 0));
testOptions.setOption("valid", "3:5,19:193,0:11,2:99,");
assertEquals(11, model.getPreferredWidth(testOptions, "valid", 0));
assertEquals(-1, model.getPreferredWidth(testOptions, "valid", 1));
assertEquals(99, model.getPreferredWidth(testOptions, "valid", 2));
assertEquals(5, model.getPreferredWidth(testOptions, "valid", 3));
assertEquals(193, model.getPreferredWidth(testOptions, "valid", 19));
testOptions.setOption("extraspace", "3 : 5, 19:193 , 0 : 11 ,2:99,");
assertEquals(11, model.getPreferredWidth(testOptions, "extraspace", 0));
assertEquals(-1, model.getPreferredWidth(testOptions, "extraspace", 1));
assertEquals(99, model.getPreferredWidth(testOptions, "extraspace", 2));
assertEquals(5, model.getPreferredWidth(testOptions, "extraspace", 3));
assertEquals(193, model.getPreferredWidth(testOptions, "extraspace",
19));
assertEquals(-1, model.getPreferredWidth(testOptions, "non-existent",
0));
}
}