assertEquals(3, checkboxes.size());
TestBenchElement cell_3_0 = table.getCell(3, 0);
// move to the center of the cell
new Actions(getDriver()).moveToElement(cell_3_0).perform();
sleep(1000);
// ensure the tooltip is present
checkTooltip("Cell description item 3, Text");
clearTooltip();
// move outside the cell
new Actions(getDriver()).moveToElement(checkboxes.get(2)).perform();
// move to the corner of the cell
new Actions(getDriver()).moveToElement(cell_3_0, 0, 0).perform();
sleep(1000);
// ensure the tooltip is present
checkTooltip("Cell description item 3, Text");
clearTooltip();
// uncheck cell tooltips
checkboxes.get(1).findElement(By.tagName("input")).click();
TestBenchElement cell_1_1 = table.getCell(1, 1);
// move to the center of the cell
new Actions(getDriver()).moveToElement(cell_1_1).perform();
sleep(1000);
// ensure the tooltip is present
checkTooltip("Button 1 description");
clearTooltip();
// move to the corner of the element, outside of the button
new Actions(getDriver()).moveToElement(cell_1_1, 0, 0).perform();
sleep(1000);
// ensure the tooltip is present
checkTooltip("Row description item 1");
clearTooltip();
// check cell tooltips
checkboxes.get(1).findElement(By.tagName("input")).click();
TestBenchElement cell_4_2 = table.getCell(4, 2);
// move to the center of the cell
new Actions(getDriver()).moveToElement(cell_4_2).perform();
sleep(1000);
// ensure the tooltip is present
checkTooltip("Textfield's own description");
clearTooltip();
// move to the corner of the element, outside of the textfield
new Actions(getDriver()).moveToElement(cell_4_2, 0, 0).perform();
sleep(1000);
// ensure the tooltip is present
checkTooltip("Cell description item 4, Generated component");
clearTooltip();