/******************************************************************************* * Copyright (c) 2012 Google, Inc. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Google, Inc. - initial API and implementation *******************************************************************************/ package context2.testcases; import java.awt.Point; import java.awt.event.InputEvent; import javax.swing.JTable; import javax.swing.table.TableModel; import com.windowtester.runtime.IUIContext; import com.windowtester.runtime.WidgetSearchException; import com.windowtester.runtime.locator.IWidgetLocator; import com.windowtester.runtime.locator.IWidgetReference; import com.windowtester.runtime.swing.UITestCaseSwing; import com.windowtester.runtime.swing.condition.WindowShowingCondition; import com.windowtester.runtime.swing.locator.JTableItemLocator; public class JTableTest extends UITestCaseSwing { JTable table; TableModel model; private IUIContext ui; /** * Create an Instance */ public JTableTest() { super(swing.samples.SimpleTable.class); } protected void setUp() throws Exception { ui = getUI(); } public void testClicks() throws WidgetSearchException { IWidgetLocator locator; ui.wait(new WindowShowingCondition("TableDemo")); locator = ui.click(new JTableItemLocator(new Point(0,0))); table = (JTable)((IWidgetReference)locator).getWidget(); model = table.getModel(); ui.assertThat(new JTableItemLocator(new Point(0,0)).isSelected()); assertEquals(1,table.getSelectedRowCount()); locator = ui.click(1,new JTableItemLocator(new Point(2,0)),InputEvent.BUTTON1_MASK | InputEvent.SHIFT_MASK); table = (JTable)((IWidgetReference)locator).getWidget(); model = table.getModel(); assertEquals(3,table.getSelectedRowCount()); ui.assertThat(new JTableItemLocator(new Point(2,0)).isSelected()); ui.assertThat(new JTableItemLocator(new Point(1,0)).isSelected()); ui.assertThat(new JTableItemLocator(new Point(0,0)).isSelected()); locator = ui.click(new JTableItemLocator(new Point(0,0))); table = (JTable)((IWidgetReference)locator).getWidget(); model = table.getModel(); assertEquals(1,table.getSelectedRowCount()); ui.click(1,new JTableItemLocator(new Point(2,0)),InputEvent.BUTTON1_MASK | InputEvent.CTRL_MASK); assertEquals(table.getSelectedRowCount(),2); ui.assertThat(new JTableItemLocator(new Point(1,0)).isSelected(false)); // } // public void testClicks() throws WidgetSearchException { // IWidgetLocator locator; locator = ui.click(new JTableItemLocator(new Point(0,1))); table = (JTable)((IWidgetReference)locator).getWidget(); model = table.getModel(); // System.out.println(table.getSelectedRow()); // System.out.println(table.getSelectedColumn()); assertEquals(model.getValueAt(table.getSelectedRow(),table.getSelectedColumn()),"two"); ui.click(new JTableItemLocator(new Point(1,3))); assertEquals(model.getValueAt(table.getSelectedRow(),table.getSelectedColumn()),"eight"); ui.click(new JTableItemLocator(new Point(5,1))); assertEquals(model.getValueAt(table.getSelectedRow(),table.getSelectedColumn()),"twenty-two"); ui.click(new JTableItemLocator(new Point(0,2))); assertEquals(model.getValueAt(table.getSelectedRow(),table.getSelectedColumn()),"three"); // ui.click(new JMenuItemLocator("File/Exit")); // } // public void testCtrlClicks() throws WidgetSearchException { // IWidgetLocator locator; // JTable table; // TableModel model; locator = ui.click(new JTableItemLocator(new Point(0,0))); table = (JTable)((IWidgetReference)locator).getWidget(); model = table.getModel(); ui.assertThat(new JTableItemLocator(new Point(0,0)).isSelected()); assertEquals(1,table.getSelectedRowCount()); ui.click(1,new JTableItemLocator(new Point(2,0)),InputEvent.BUTTON1_MASK | InputEvent.CTRL_MASK); ui.assertThat(new JTableItemLocator(new Point(0,0)).isSelected()); ui.assertThat(new JTableItemLocator(new Point(2,0)).isSelected()); assertEquals(table.getSelectedRowCount(),2); } }