package com.vaadin.v7.tests.server.component.table;
import static org.junit.Assert.assertArrayEquals;
import org.junit.Test;
import com.vaadin.v7.ui.Table;
public class TableVisibleColumnsTest {
String[] defaultColumns3 = new String[] { "Property 0", "Property 1",
"Property 2" };
@Test
public void defaultVisibleColumns() {
for (int properties = 0; properties < 10; properties++) {
Table t = TableGeneratorTest
.createTableWithDefaultContainer(properties, 10);
Object[] expected = new Object[properties];
for (int i = 0; i < properties; i++) {
expected[i] = "Property " + i;
}
org.junit.Assert.assertArrayEquals("getVisibleColumns", expected,
t.getVisibleColumns());
}
}
@Test
public void explicitVisibleColumns() {
Table t = TableGeneratorTest.createTableWithDefaultContainer(5, 10);
Object[] newVisibleColumns = new Object[] { "Property 1",
"Property 2" };
t.setVisibleColumns(newVisibleColumns);
assertArrayEquals("Explicit visible columns, 5 properties",
newVisibleColumns, t.getVisibleColumns());
}
@Test
public void invalidVisibleColumnIds() {
Table t = TableGeneratorTest.createTableWithDefaultContainer(3, 10);
try {
t.setVisibleColumns(
new Object[] { "a", "Property 2", "Property 3" });
junit.framework.Assert.fail("IllegalArgumentException expected");
} catch (IllegalArgumentException e) {
// OK, expected
}
assertArrayEquals(defaultColumns3, t.getVisibleColumns());
}
@Test
public void duplicateVisibleColumnIds() {
Table t = TableGeneratorTest.createTableWithDefaultContainer(3, 10);
try {
t.setVisibleColumns(new Object[] { "Property 0", "Property 1",
"Property 2", "Property 1" });
} catch (IllegalArgumentException e) {
// OK, expected
}
assertArrayEquals(defaultColumns3, t.getVisibleColumns());
}
@Test
public void noVisibleColumns() {
Table t = TableGeneratorTest.createTableWithDefaultContainer(3, 10);
t.setVisibleColumns(new Object[] {});
assertArrayEquals(new Object[] {}, t.getVisibleColumns());
}
}