blob: 0c2568b0afb5ae4acffaa939150d671dd45308c2 [file] [log] [blame]
/**************************************************************
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
package fvt.gui.sc.cell;
import static org.junit.Assert.*;
import static testlib.gui.AppTool.*;
import static testlib.gui.UIMap.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.openoffice.test.common.Logger;
import testlib.gui.AppTool;
import testlib.gui.SCTool;
public class Cells {
@Rule
public Logger log = Logger.getLogger(this);
@Before
public void setUp() throws Exception {
app.start();
AppTool.newSpreadsheet();
}
@After
public void tearDown() throws Exception {
app.stop();
}
/**
* Shift row and column, insert entire row and column
*
* @throws Exception
*/
@Test
public void testShiftRowandColumn() {
// Input data to cell range A1:B2
SCTool.selectRange("A1");
typeKeys("1<right>2<down><left>3<right>4");
// Set expected result after executing shift cell down
String[][] expectedShiftCellDownResult = new String[][] { { "", "2" },
{ "1", "4" }, { "3", "" }, };
// Select Cell A1
SCTool.selectRange("Sheet1.A1");
// Launch insert cells dialog via menu
calc.menuItem("Insert->Cells...").select();
// Select the first option "shift cells down" from dialog
typeKeys("<enter>");
// Verify results after shift one cell down
assertArrayEquals("Verify results after shift one cell down",
expectedShiftCellDownResult, SCTool.getCellTexts("A1:B3"));
// Set expected result after executing shift cell right
String[][] expectedShiftCellRightResult = new String[][] {
{ "", "1", "2" }, { "3", "4", "" }, };
// Undo
calc.menuItem("Edit->Undo: Insert").select();
// Select cell B2
SCTool.selectRange("Sheet1.A1");
// Launch insert cells dialog via menu
calc.menuItem("Insert->Cells...").select();
// Select the second option "shift cells right" from dialog
typeKeys("<down>");
typeKeys("<enter>");
// Verify results after shift one cell right
assertArrayEquals("Verify results after shift one cell right",
expectedShiftCellRightResult, SCTool.getCellTexts("A1:C2"));
// Set expected result after executing insert entire row
String[][] expectedEntireRowResult = new String[][] { { "", "" },
{ "1", "2" }, { "3", "4" }, };
// Undo
calc.menuItem("Edit->Undo: Insert").select();
// Select Cell B2
SCTool.selectRange("Sheet1.A1");
// Launch insert cells dialog via menu
calc.menuItem("Insert->Cells...").select();
// Select the third option "Entire row" from dialog
typeKeys("<down>");
typeKeys("<enter>");
// Verify results after insert entire row
assertArrayEquals("Verify results after insert entire row",
expectedEntireRowResult, SCTool.getCellTexts("A1:B3"));
// Set expected result after executing insert entire column
String[][] expectedEntireColumnResult = new String[][] {
{ "", "1", "2" }, { "", "3", "4" }, };
// Undo
calc.menuItem("Edit->Undo: Insert").select();
// Select Cell A1
SCTool.selectRange("Sheet1.A1");
// Launch insert cells dialog via menu
calc.menuItem("Insert->Cells...").select();
// Select the fourth option "Entire column" from dialog
typeKeys("<down>");
typeKeys("<enter>");
// Verify the results after inserting entire column
assertArrayEquals("Verify the results after inserting entire column",
expectedEntireColumnResult, SCTool.getCellTexts("A1:C2"));
}
}