/************************************************************** | |
* | |
* 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")); | |
} | |
} |