Search in sources :

Example 1 with JTableCellFixture

use of org.assertj.swing.fixture.JTableCellFixture in project jabref by JabRef.

the class EntryTableTest method scrollThroughEntryList.

@Test
public void scrollThroughEntryList() {
    String path = getAbsolutePath(TEST_FILE_NAME);
    importBibIntoNewDatabase(path);
    JTableFixture entryTable = mainFrame.table();
    //use a pattern from the first row to select it since it seems to be the best way to get the cell object
    Pattern pattern = Pattern.compile("256.*");
    JTableCellFixture firstCell = entryTable.cell(pattern);
    entryTable.selectRows(0).doubleClick();
    //delay has to be shortened so that double click is recognized
    robot().settings().delayBetweenEvents(0);
    firstCell.doubleClick();
    robot().settings().delayBetweenEvents(SPEED_NORMAL);
    firstCell.click();
    //is the first table entry selected?
    assertColumnValue(entryTable, 0, TITLE_COLUMN_INDEX, entryTable.selectionValue());
    //go throught the table and check if the entry with the correct index is selected
    for (int i = 0; i < SCROLL_ACTION_EXECUTION; i++) {
        robot().pressAndReleaseKey(DOWN);
        Assert.assertTrue(entryTable.selectionValue() != null);
        assertColumnValue(entryTable, i + 1, TITLE_COLUMN_INDEX, entryTable.selectionValue());
    }
    //do the same going up again
    for (int i = SCROLL_ACTION_EXECUTION; i > 0; i--) {
        robot().pressAndReleaseKey(UP);
        Assert.assertTrue(entryTable.selectionValue() != null);
        assertColumnValue(entryTable, i - 1, TITLE_COLUMN_INDEX, entryTable.selectionValue());
    }
    closeDatabase();
    exitJabRef();
}
Also used : JTableCellFixture(org.assertj.swing.fixture.JTableCellFixture) Pattern(java.util.regex.Pattern) JTableFixture(org.assertj.swing.fixture.JTableFixture) Test(org.junit.Test)

Aggregations

Pattern (java.util.regex.Pattern)1 JTableCellFixture (org.assertj.swing.fixture.JTableCellFixture)1 JTableFixture (org.assertj.swing.fixture.JTableFixture)1 Test (org.junit.Test)1