test/jdk/sanity/client/SwingSet/src/TableDemoTest.java
author akolarkunnu
Fri, 16 Mar 2018 14:12:12 +0530
changeset 49298 9f19db69967a
child 51921 372cbac1a862
permissions -rw-r--r--
8197554: Create test for SwingSet TableDemo Reviewed-by: serb
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
49298
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
     1
/*
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
     2
 * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
     4
 *
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
     7
 * published by the Free Software Foundation.
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
     8
 *
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
     9
 * This code is distributed in the hope that it will be useful, but WITHOUT
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    10
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    11
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    12
 * version 2 for more details (a copy is included in the LICENSE file that
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    13
 * accompanied this code).
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    14
 *
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    15
 * You should have received a copy of the GNU General Public License version
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    16
 * 2 along with this work; if not, write to the Free Software Foundation,
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    17
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    18
 *
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    19
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    20
 * or visit www.oracle.com if you need additional information or have any
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    21
 * questions.
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    22
 */
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    23
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    24
import static com.sun.swingset3.demos.table.TableDemo.COLUMN1_NAME;
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    25
import static com.sun.swingset3.demos.table.TableDemo.COLUMN2_NAME;
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    26
import static com.sun.swingset3.demos.table.TableDemo.COLUMN3_NAME;
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    27
import static com.sun.swingset3.demos.table.TableDemo.COLUMN4_NAME;
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    28
import static com.sun.swingset3.demos.table.TableDemo.DEMO_TITLE;
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    29
import static com.sun.swingset3.demos.table.TableDemo.ROW_HEIGHT;
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    30
import static org.jemmy2ext.JemmyExt.EXACT_STRING_COMPARATOR;
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    31
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    32
import java.util.ArrayList;
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    33
import java.util.List;
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    34
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    35
import javax.swing.JTable;
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    36
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    37
import org.jtregext.GuiTestListener;
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    38
import org.netbeans.jemmy.ClassReference;
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    39
import org.netbeans.jemmy.operators.JCheckBoxOperator;
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    40
import org.netbeans.jemmy.operators.JFrameOperator;
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    41
import org.netbeans.jemmy.operators.JTableHeaderOperator;
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    42
import org.netbeans.jemmy.operators.JTableOperator;
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    43
import org.netbeans.jemmy.operators.JTextFieldOperator;
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    44
import org.testng.annotations.Listeners;
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    45
import org.testng.annotations.Test;
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    46
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    47
import com.sun.swingset3.demos.table.OscarCandidate;
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    48
import com.sun.swingset3.demos.table.OscarTableModel;
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    49
import com.sun.swingset3.demos.table.TableDemo;
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    50
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    51
/*
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    52
 * @test
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    53
 * @key headful
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    54
 * @summary Verifies SwingSet3 TableDemo page by checking different properties
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    55
 * of the JTable like number of row, number of columns and actions like
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    56
 * selection of cell, sorting based on column, filtering based on text and
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    57
 * moving of the column
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    58
 *
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    59
 * @library /sanity/client/lib/jemmy/src
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    60
 * @library /sanity/client/lib/Extensions/src
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    61
 * @library /sanity/client/lib/SwingSet3/src
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    62
 * @modules java.desktop
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    63
 *          java.logging
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    64
 * @build org.jemmy2ext.JemmyExt
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    65
 * @build com.sun.swingset3.demos.table.TableDemo
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    66
 * @run testng TableDemoTest
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    67
 */
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    68
@Listeners(GuiTestListener.class)
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    69
public class TableDemoTest {
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    70
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    71
    private final static int MAX_ROW_COUNT = 524;
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    72
    private final static int MAX_COL_COUNT = 4;
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    73
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    74
    private final static String FILTER_TEXT = "Sunrise";
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    75
    private final static String FILTER_RESET_TEXT = "";
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    76
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    77
    private final static int [] SELECT_ROW_INDICES ={10, 11, 18};
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    78
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    79
    private final static int MOVE_COL_START_INDEX = 1;
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    80
    private final static int MOVE_COL_END_INDEX = 2;
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    81
    private final static String MOVE_COL_VAL_TEXT1 = "Sunrise";
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    82
    private final static String MOVE_COL_VAL_TEXT2 = "Most Unique Artistic Picture";
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    83
    private final static int MOVE_COL_VAL_ROW = 0;
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    84
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    85
    private final static int SORT_COL = 1;
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    86
    private final static int[] SORT_VAL_ROWS =new int[] {0, 250, 523};
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    87
    private final static String[][] ASC_PRE_SORT_ROW_VAL = new String[][] {
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    88
        {"1928", "Best Actor", "The Way of All Flesh", "[Emil Jannings]"},
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    89
        {"1933", "Best Director", "Cavalcade", "[Frank Lloyd]"},
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    90
        {"1936", "Best Engineering Effects", "My Man Godfrey", "[Eric Hatch, Morris Ryskind]"}};
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    91
    private final static String[][] ASC_POST_SORT_ROW_VAL = new String[][] {
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    92
        {"1928", "Best Actor", "The Way of All Flesh", "[Emil Jannings]"},
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    93
        {"1936", "Best Director", "My Man Godfrey", "[Gregory La Cava]"},
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    94
        {"1928", "Most Unique Artistic Picture", "The Crowd", "[]"}};
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    95
    private final static String[][] DESC_POST_SORT_ROW_VAL = new String[][] {
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    96
        {"1928", "Most Unique Artistic Picture", "Sunrise", "[]"},
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    97
        {"1934", "Best Engineering Effects", "Viva Villa!", "[Ben Hecht]"},
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    98
        {"1936", "Best Actor", "San Francisco", "[Spencer Tracy]"}};
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
    99
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   100
    /**
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   101
     * Tests the different properties of JTable like number of rows, number
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   102
     * of columns and actions like selection of cell, sorting based on column,
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   103
     * filtering based on text and moving of the column.
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   104
     *
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   105
     * @throws Exception
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   106
     */
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   107
    @Test
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   108
    public void test() throws Exception {
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   109
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   110
        new ClassReference(TableDemo.class.getCanonicalName()).startApplication();
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   111
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   112
        JFrameOperator frameOperator = new JFrameOperator(DEMO_TITLE);
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   113
        frameOperator.setComparator(EXACT_STRING_COMPARATOR);
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   114
        frameOperator.setVerification(true);
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   115
        JTableOperator tableOperator = new JTableOperator(frameOperator);
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   116
        JTableHeaderOperator tableHeaderOperator = new JTableHeaderOperator(frameOperator);
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   117
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   118
        checkTableBasicProperties(tableOperator);
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   119
        checkCellSelection(tableOperator);
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   120
        checkSortTable(tableOperator, tableHeaderOperator);
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   121
        checkMoveColumn(tableOperator, tableHeaderOperator);
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   122
        checkFilterTable(frameOperator, tableOperator);
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   123
    }
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   124
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   125
    /**
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   126
     * Verifies the table basic properties number of columns, rows and row height
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   127
     *
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   128
     * @param tableOperator
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   129
     */
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   130
    private void checkTableBasicProperties(JTableOperator tableOperator) {
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   131
        tableOperator.waitStateOnQueue(comp
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   132
                -> MAX_COL_COUNT == ((JTable)comp).getColumnCount());
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   133
        waitRowCount(tableOperator, MAX_ROW_COUNT);
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   134
        tableOperator.waitStateOnQueue(comp
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   135
                -> ROW_HEIGHT == ((JTable)comp).getRowHeight());
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   136
    }
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   137
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   138
    /**
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   139
     * Selects one table cell and verifies the selected cell's row number and column number
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   140
     *
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   141
     * @param tableOperator
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   142
     */
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   143
    private void checkCellSelection(JTableOperator tableOperator) {
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   144
        int noOfColumns = tableOperator.getColumnCount();
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   145
        for (int i = 0; i < SELECT_ROW_INDICES.length; i++) {
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   146
            int rowIndex = SELECT_ROW_INDICES[i];
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   147
            for (int j = 0; j < noOfColumns; j++) {
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   148
                int colIndex = j;
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   149
                tableOperator.clickOnCell(rowIndex, colIndex);
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   150
                tableOperator.waitStateOnQueue(comp
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   151
                        -> rowIndex == ((JTable)comp).getSelectedRow() &&
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   152
                        colIndex == ((JTable)comp).getSelectedColumn());
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   153
            }
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   154
        }
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   155
    }
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   156
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   157
    /**
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   158
     * Filter table based on specific text and winners check box, and verifies row count
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   159
     *
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   160
     * @param frameOperator
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   161
     * @param tableOperator
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   162
     */
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   163
    private void checkFilterTable(JFrameOperator frameOperator,
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   164
            JTableOperator tableOperator) {
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   165
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   166
        int [] filterRowCount = getFilteredCount(tableOperator, FILTER_TEXT);
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   167
        JTextFieldOperator filterField = new JTextFieldOperator(frameOperator);
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   168
        JCheckBoxOperator winnersCheckbox = new JCheckBoxOperator(frameOperator);
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   169
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   170
        // Filtering based on FILTER_TEXT
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   171
        filterField.setText(FILTER_TEXT);
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   172
        waitRowCount(tableOperator, filterRowCount[0]);
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   173
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   174
        // Filtering based on WinnersCheckbox
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   175
        winnersCheckbox.setSelected(true);
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   176
        waitRowCount(tableOperator, filterRowCount[1]);
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   177
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   178
        // Resets the winners check box
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   179
        winnersCheckbox.setSelected(false);
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   180
        waitRowCount(tableOperator, filterRowCount[0]);
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   181
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   182
        // Resets the filter text field
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   183
        filterField.setText(FILTER_RESET_TEXT);
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   184
        waitRowCount(tableOperator, MAX_ROW_COUNT);
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   185
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   186
    }
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   187
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   188
    private int[] getFilteredCount(JTableOperator tableOperator, String filterText){
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   189
        OscarTableModel tableModel = (OscarTableModel)tableOperator.getModel();
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   190
        int noOfRows = tableModel.getRowCount();
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   191
        int filteredRowCount = 0;
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   192
        int filteredWinnersRowCount = 0;
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   193
        for (int i = 0; i < noOfRows; i++) {
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   194
            OscarCandidate candidate = tableModel.getCandidate(i);
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   195
            if(isMovieOrPersonsContainsText(candidate, filterText)){
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   196
                filteredRowCount++;
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   197
                if(candidate.isWinner()) {
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   198
                    filteredWinnersRowCount++;
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   199
                }
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   200
            }
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   201
        }
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   202
        return new int[] {filteredRowCount, filteredWinnersRowCount};
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   203
    }
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   204
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   205
    private boolean isMovieOrPersonsContainsText(
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   206
            OscarCandidate candidate, String filterText){
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   207
        String movie = candidate.getMovieTitle();
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   208
        if(movie != null && movie.contains(filterText)) {
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   209
            return true;
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   210
        } else {
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   211
            List<String> persons = candidate.getPersons();
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   212
            for (String person : persons) {
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   213
                if(person != null && person.contains(filterText)) {
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   214
                    return true;
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   215
                }
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   216
            }
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   217
        }
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   218
        return false;
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   219
    }
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   220
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   221
    /**
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   222
     * Moves to swap the columns, move again to reset back, verify column name
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   223
     * and cell values in both the scenarios.
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   224
     *
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   225
     * @param tableOperator
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   226
     * @param tableHeaderOperator
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   227
     */
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   228
    private void checkMoveColumn(JTableOperator tableOperator,
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   229
            JTableHeaderOperator tableHeaderOperator) {
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   230
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   231
        String[] columnNames = {COLUMN1_NAME, COLUMN3_NAME, COLUMN2_NAME, COLUMN4_NAME};
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   232
        // Moving the column from 'start index' to 'end index'
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   233
        moveColumn(tableOperator, tableHeaderOperator, columnNames,
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   234
                MOVE_COL_START_INDEX, MOVE_COL_END_INDEX);
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   235
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   236
        // Resets the columns to original position(from 'end index' to 'start index')
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   237
        columnNames[1] = COLUMN2_NAME;
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   238
        columnNames[2] = COLUMN3_NAME;
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   239
        moveColumn(tableOperator, tableHeaderOperator, columnNames,
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   240
                MOVE_COL_END_INDEX, MOVE_COL_START_INDEX);
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   241
    }
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   242
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   243
    /**
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   244
     * Moves to swap the columns, verify column name and cell values.
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   245
     *
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   246
     * @param tableOperator
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   247
     * @param tableHeaderOperator
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   248
     * @param columnNames
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   249
     * @param moveCol
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   250
     * @param moveToCol
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   251
     */
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   252
    private void moveColumn(JTableOperator tableOperator, JTableHeaderOperator tableHeaderOperator,
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   253
            String[] columnNames, int moveCol, int moveToCol){
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   254
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   255
        tableHeaderOperator.moveColumn(moveCol, moveToCol);
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   256
        checkColumnNames(tableOperator, columnNames);
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   257
        tableOperator.waitCell(MOVE_COL_VAL_TEXT1, MOVE_COL_VAL_ROW, moveCol);
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   258
        tableOperator.waitCell(MOVE_COL_VAL_TEXT2, MOVE_COL_VAL_ROW, moveToCol);
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   259
    }
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   260
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   261
    private void checkColumnNames(JTableOperator tableOperator, String[] columnNames) {
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   262
        for (int i = 0; i < tableOperator.getColumnCount(); i++) {
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   263
            int columnIndex = i;
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   264
            tableOperator.waitStateOnQueue(comp -> columnNames[columnIndex].equals(
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   265
                    ((JTable)comp).getColumnModel().getColumn(columnIndex).getHeaderValue()));
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   266
        }
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   267
    }
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   268
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   269
    /**
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   270
     * Sorts the table based on one particular column in ascending and descending order,
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   271
     * and verifies cell values
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   272
     *
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   273
     * @param tableOperator
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   274
     * @param tableHeaderOperator
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   275
     */
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   276
    private void checkSortTable(JTableOperator tableOperator,
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   277
            JTableHeaderOperator tableHeaderOperator) {
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   278
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   279
        // Verifying the row values before sort
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   280
        checkTableRows(tableOperator, ASC_PRE_SORT_ROW_VAL);
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   281
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   282
        // Getting all award category values before stating the sort
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   283
        // to prepare the expected result
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   284
        ArrayList<String> awardCats = new ArrayList<>();
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   285
        for (int i = 0; i < tableOperator.getRowCount(); i++) {
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   286
            awardCats.add((String) tableOperator.getValueAt(i, SORT_COL));
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   287
        }
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   288
        // Sorting awardCats(expected result) in ascending order
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   289
        awardCats.sort((s1, s2) -> s1.compareTo(s2));
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   290
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   291
        // Sorting table based on column 'Award Category' in ascending order
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   292
        sortTable(tableOperator, tableHeaderOperator, awardCats,
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   293
                ASC_POST_SORT_ROW_VAL);
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   294
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   295
        // Sorting awardCats(expected result) in descending order
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   296
        awardCats.sort((s1, s2) -> s2.compareTo(s1));
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   297
        // Sorting table based on column 'Award Category' in descending order
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   298
        sortTable(tableOperator, tableHeaderOperator, awardCats,
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   299
                DESC_POST_SORT_ROW_VAL);
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   300
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   301
    }
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   302
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   303
    private void checkColumnSorted(JTableOperator tableOperator,
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   304
            ArrayList<String> awardCatExp){
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   305
        ArrayList<String> awardCatActual = new ArrayList<>();
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   306
        for (int i = 0; i < tableOperator.getRowCount(); i++) {
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   307
            awardCatActual.add((String) tableOperator.getValueAt(i, SORT_COL));
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   308
        }
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   309
        tableOperator.waitStateOnQueue(comp -> awardCatExp.equals(awardCatActual));
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   310
    }
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   311
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   312
    private void checkTableRows(JTableOperator tableOperator, String[][] rowValues) {
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   313
        for (int i = 0; i < SORT_VAL_ROWS.length; i++) {
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   314
            tableOperator.waitCell(rowValues[i][0], SORT_VAL_ROWS[i], 0);
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   315
            tableOperator.waitCell(rowValues[i][1], SORT_VAL_ROWS[i], 1);
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   316
            tableOperator.waitCell(rowValues[i][2], SORT_VAL_ROWS[i], 2);
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   317
            tableOperator.waitCell(rowValues[i][3], SORT_VAL_ROWS[i], 3);
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   318
        }
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   319
    }
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   320
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   321
    /**
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   322
     * Sorts the table based on one particular column and verifies cell values
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   323
     *
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   324
     * @param tableOperator
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   325
     * @param tableHeaderOperator
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   326
     * @param awardCatExp
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   327
     * @param rowValues
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   328
     */
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   329
    private void sortTable(JTableOperator tableOperator, JTableHeaderOperator tableHeaderOperator,
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   330
            ArrayList<String> awardCatExp, String[][] rowValues) {
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   331
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   332
        tableHeaderOperator.selectColumn(SORT_COL);
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   333
        checkColumnSorted(tableOperator, awardCatExp);
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   334
        // Verifying the row values after sort
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   335
        checkTableRows(tableOperator, rowValues);
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   336
    }
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   337
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   338
    /**
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   339
     * Waits the number of rows on table equal to the count specified
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   340
     *
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   341
     * @param tableOperator
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   342
     * @param count
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   343
     */
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   344
    private void waitRowCount(JTableOperator tableOperator, int count) {
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   345
        tableOperator.waitStateOnQueue(comp
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   346
                -> count == ((JTable)comp).getRowCount());
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   347
    }
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   348
9f19db69967a 8197554: Create test for SwingSet TableDemo
akolarkunnu
parents:
diff changeset
   349
}