blob: 586a01493b2c8f95ea1d6662ae0a40de94bfcca1 [file] [log] [blame]
/*****************************************************************************
* Copyright (c) 2015, 2020 CEA LIST.
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which is available at https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Dirk Fauth <dirk.fauth@googlemail.com> - Initial API and implementation
*
*****************************************************************************/
package org.eclipse.nebula.widgets.nattable.fillhandle;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Calendar;
import java.util.Date;
import org.eclipse.nebula.widgets.nattable.NatTable;
import org.eclipse.nebula.widgets.nattable.config.AbstractRegistryConfiguration;
import org.eclipse.nebula.widgets.nattable.config.EditableRule;
import org.eclipse.nebula.widgets.nattable.config.IConfigRegistry;
import org.eclipse.nebula.widgets.nattable.copy.command.CopyDataToClipboardCommand;
import org.eclipse.nebula.widgets.nattable.data.IDataProvider;
import org.eclipse.nebula.widgets.nattable.edit.EditConfigAttributes;
import org.eclipse.nebula.widgets.nattable.fillhandle.command.FillHandlePasteCommand;
import org.eclipse.nebula.widgets.nattable.fillhandle.command.FillHandlePasteCommand.FillHandleOperation;
import org.eclipse.nebula.widgets.nattable.fillhandle.config.FillHandleConfigAttributes;
import org.eclipse.nebula.widgets.nattable.fillhandle.config.FillHandleConfiguration;
import org.eclipse.nebula.widgets.nattable.formula.TwoDimensionalArrayDataProvider;
import org.eclipse.nebula.widgets.nattable.layer.DataLayer;
import org.eclipse.nebula.widgets.nattable.selection.SelectionLayer;
import org.eclipse.nebula.widgets.nattable.selection.SelectionLayer.MoveDirectionEnum;
import org.eclipse.nebula.widgets.nattable.test.fixture.NatTableFixture;
import org.eclipse.swt.graphics.Rectangle;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class FillHandleSeriesTest {
IDataProvider dataProvider = new TwoDimensionalArrayDataProvider(new Object[10][10]);
SelectionLayer selectionLayer = new SelectionLayer(new DataLayer(this.dataProvider));
NatTable natTable = new NatTableFixture(this.selectionLayer, false);
@Before
public void setup() {
this.natTable.addConfiguration(new FillHandleConfiguration(this.selectionLayer));
this.natTable.addConfiguration(new AbstractRegistryConfiguration() {
@Override
public void configureRegistry(IConfigRegistry configRegistry) {
configRegistry.registerConfigAttribute(
EditConfigAttributes.CELL_EDITABLE_RULE,
EditableRule.ALWAYS_EDITABLE);
}
});
this.natTable.configure();
}
@After
public void tearDown() {
this.selectionLayer.clear();
this.selectionLayer.setFillHandleRegion(null);
}
@Test
public void testSingleCellIntegerValueDragDown() {
this.dataProvider.setDataValue(4, 4, Integer.valueOf("1"));
this.selectionLayer.setSelectedCell(4, 4);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 1, 4));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.DOWN, this.natTable.getConfigRegistry()));
assertEquals(Integer.valueOf("1"), this.selectionLayer.getDataValueByPosition(4, 4));
assertEquals(Integer.valueOf("2"), this.selectionLayer.getDataValueByPosition(4, 5));
assertEquals(Integer.valueOf("3"), this.selectionLayer.getDataValueByPosition(4, 6));
assertEquals(Integer.valueOf("4"), this.selectionLayer.getDataValueByPosition(4, 7));
}
@Test
public void testSingleCellIntegerValueDragUp() {
this.dataProvider.setDataValue(4, 4, Integer.valueOf("1"));
this.selectionLayer.setSelectedCell(4, 4);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 1, 1, 4));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.UP, this.natTable.getConfigRegistry()));
assertEquals(Integer.valueOf("-2"), this.selectionLayer.getDataValueByPosition(4, 1));
assertEquals(Integer.valueOf("-1"), this.selectionLayer.getDataValueByPosition(4, 2));
assertEquals(Integer.valueOf("0"), this.selectionLayer.getDataValueByPosition(4, 3));
assertEquals(Integer.valueOf("1"), this.selectionLayer.getDataValueByPosition(4, 4));
}
@Test
public void testSingleCellIntegerValueDragRight() {
this.dataProvider.setDataValue(4, 4, Integer.valueOf("1"));
this.selectionLayer.setSelectedCell(4, 4);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 4, 1));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.RIGHT, this.natTable.getConfigRegistry()));
assertEquals(Integer.valueOf("1"), this.selectionLayer.getDataValueByPosition(4, 4));
assertEquals(Integer.valueOf("2"), this.selectionLayer.getDataValueByPosition(5, 4));
assertEquals(Integer.valueOf("3"), this.selectionLayer.getDataValueByPosition(6, 4));
assertEquals(Integer.valueOf("4"), this.selectionLayer.getDataValueByPosition(7, 4));
}
@Test
public void testSingleCellIntegerValueDragLeft() {
this.dataProvider.setDataValue(4, 4, Integer.valueOf("1"));
this.selectionLayer.setSelectedCell(4, 4);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(1, 4, 4, 1));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.LEFT, this.natTable.getConfigRegistry()));
assertEquals(Integer.valueOf("-2"), this.selectionLayer.getDataValueByPosition(1, 4));
assertEquals(Integer.valueOf("-1"), this.selectionLayer.getDataValueByPosition(2, 4));
assertEquals(Integer.valueOf("0"), this.selectionLayer.getDataValueByPosition(3, 4));
assertEquals(Integer.valueOf("1"), this.selectionLayer.getDataValueByPosition(4, 4));
}
@Test
public void testSingleCellByteValueDragDown() {
this.dataProvider.setDataValue(4, 4, Byte.valueOf("1"));
this.selectionLayer.setSelectedCell(4, 4);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 1, 4));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.DOWN, this.natTable.getConfigRegistry()));
assertEquals(Byte.valueOf("1"), this.selectionLayer.getDataValueByPosition(4, 4));
assertEquals(Byte.valueOf("2"), this.selectionLayer.getDataValueByPosition(4, 5));
assertEquals(Byte.valueOf("3"), this.selectionLayer.getDataValueByPosition(4, 6));
assertEquals(Byte.valueOf("4"), this.selectionLayer.getDataValueByPosition(4, 7));
}
@Test
public void testSingleCellShortValueDragDown() {
this.dataProvider.setDataValue(4, 4, Short.valueOf("1"));
this.selectionLayer.setSelectedCell(4, 4);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 1, 4));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.DOWN, this.natTable.getConfigRegistry()));
assertEquals(Short.valueOf("1"), this.selectionLayer.getDataValueByPosition(4, 4));
assertEquals(Short.valueOf("2"), this.selectionLayer.getDataValueByPosition(4, 5));
assertEquals(Short.valueOf("3"), this.selectionLayer.getDataValueByPosition(4, 6));
assertEquals(Short.valueOf("4"), this.selectionLayer.getDataValueByPosition(4, 7));
}
@Test
public void testSingleCellLongValueDragDown() {
this.dataProvider.setDataValue(4, 4, Long.valueOf("1"));
this.selectionLayer.setSelectedCell(4, 4);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 1, 4));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.DOWN, this.natTable.getConfigRegistry()));
assertEquals(Long.valueOf("1"), this.selectionLayer.getDataValueByPosition(4, 4));
assertEquals(Long.valueOf("2"), this.selectionLayer.getDataValueByPosition(4, 5));
assertEquals(Long.valueOf("3"), this.selectionLayer.getDataValueByPosition(4, 6));
assertEquals(Long.valueOf("4"), this.selectionLayer.getDataValueByPosition(4, 7));
}
@Test
public void testSingleCellFloatValueDragDown() {
this.dataProvider.setDataValue(4, 4, Float.valueOf("1.4"));
this.selectionLayer.setSelectedCell(4, 4);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 1, 4));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.DOWN, this.natTable.getConfigRegistry()));
assertEquals(Float.valueOf("1.4"), this.selectionLayer.getDataValueByPosition(4, 4));
assertEquals(Float.valueOf("2.4"), this.selectionLayer.getDataValueByPosition(4, 5));
assertEquals(Float.valueOf("3.4"), this.selectionLayer.getDataValueByPosition(4, 6));
assertEquals(Float.valueOf("4.4"), this.selectionLayer.getDataValueByPosition(4, 7));
}
@Test
public void testSingleCellDoubleValueDragDown() {
this.dataProvider.setDataValue(4, 4, Double.valueOf("1.6"));
this.selectionLayer.setSelectedCell(4, 4);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 1, 4));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.DOWN, this.natTable.getConfigRegistry()));
assertEquals(Double.valueOf("1.6"), this.selectionLayer.getDataValueByPosition(4, 4));
assertEquals(Double.valueOf("2.6"), this.selectionLayer.getDataValueByPosition(4, 5));
assertEquals(Double.valueOf("3.6"), this.selectionLayer.getDataValueByPosition(4, 6));
assertEquals(Double.valueOf("4.6"), this.selectionLayer.getDataValueByPosition(4, 7));
}
@Test
public void testSingleCellBigIntegerValueDragDown() {
this.dataProvider.setDataValue(4, 4, BigInteger.valueOf(100));
this.selectionLayer.setSelectedCell(4, 4);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 1, 4));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.DOWN, this.natTable.getConfigRegistry()));
assertEquals(BigInteger.valueOf(100), this.selectionLayer.getDataValueByPosition(4, 4));
assertEquals(BigInteger.valueOf(101), this.selectionLayer.getDataValueByPosition(4, 5));
assertEquals(BigInteger.valueOf(102), this.selectionLayer.getDataValueByPosition(4, 6));
assertEquals(BigInteger.valueOf(103), this.selectionLayer.getDataValueByPosition(4, 7));
}
@Test
public void testSingleCellBigDecimalValueDragDown() {
this.dataProvider.setDataValue(4, 4, BigDecimal.valueOf(13.8d));
this.selectionLayer.setSelectedCell(4, 4);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 1, 4));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.DOWN, this.natTable.getConfigRegistry()));
assertEquals(BigDecimal.valueOf(13.8d), this.selectionLayer.getDataValueByPosition(4, 4));
assertEquals(BigDecimal.valueOf(14.8d), this.selectionLayer.getDataValueByPosition(4, 5));
assertEquals(BigDecimal.valueOf(15.8d), this.selectionLayer.getDataValueByPosition(4, 6));
assertEquals(BigDecimal.valueOf(16.8d), this.selectionLayer.getDataValueByPosition(4, 7));
}
@SuppressWarnings("deprecation")
@Test
public void testSingleCellDateValueDragDown() {
this.dataProvider.setDataValue(4, 4, new Date(2015, 9, 29));
this.selectionLayer.setSelectedCell(4, 4);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 1, 4));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.DOWN, this.natTable.getConfigRegistry()));
assertEquals(new Date(2015, 9, 29), this.selectionLayer.getDataValueByPosition(4, 4));
assertEquals(new Date(2015, 9, 30), this.selectionLayer.getDataValueByPosition(4, 5));
assertEquals(new Date(2015, 9, 31), this.selectionLayer.getDataValueByPosition(4, 6));
assertEquals(new Date(2015, 10, 1), this.selectionLayer.getDataValueByPosition(4, 7));
}
@SuppressWarnings("deprecation")
@Test
public void testSingleCellDateValueDragUp() {
this.dataProvider.setDataValue(4, 4, new Date(2015, 9, 2));
this.selectionLayer.setSelectedCell(4, 4);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 1, 1, 4));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.UP, this.natTable.getConfigRegistry()));
assertEquals(new Date(2015, 8, 29), this.selectionLayer.getDataValueByPosition(4, 1));
assertEquals(new Date(2015, 8, 30), this.selectionLayer.getDataValueByPosition(4, 2));
assertEquals(new Date(2015, 9, 1), this.selectionLayer.getDataValueByPosition(4, 3));
assertEquals(new Date(2015, 9, 2), this.selectionLayer.getDataValueByPosition(4, 4));
}
@Test
public void testMultiCellSameDiffIntegerValueDragDown() {
this.dataProvider.setDataValue(4, 4, Integer.valueOf("1"));
this.dataProvider.setDataValue(4, 5, Integer.valueOf("3"));
this.dataProvider.setDataValue(4, 6, Integer.valueOf("5"));
this.selectionLayer.selectCell(4, 4, false, true);
this.selectionLayer.selectCell(4, 5, false, true);
this.selectionLayer.selectCell(4, 6, false, true);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 1, 6));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.DOWN, this.natTable.getConfigRegistry()));
assertEquals(Integer.valueOf("1"), this.selectionLayer.getDataValueByPosition(4, 4));
assertEquals(Integer.valueOf("3"), this.selectionLayer.getDataValueByPosition(4, 5));
assertEquals(Integer.valueOf("5"), this.selectionLayer.getDataValueByPosition(4, 6));
assertEquals(Integer.valueOf("7"), this.selectionLayer.getDataValueByPosition(4, 7));
assertEquals(Integer.valueOf("9"), this.selectionLayer.getDataValueByPosition(4, 8));
assertEquals(Integer.valueOf("11"), this.selectionLayer.getDataValueByPosition(4, 9));
}
@Test
public void testMultiCellSameDiffIntegerValueDragRight() {
this.dataProvider.setDataValue(4, 4, Integer.valueOf("1"));
this.dataProvider.setDataValue(5, 4, Integer.valueOf("3"));
this.dataProvider.setDataValue(6, 4, Integer.valueOf("5"));
this.selectionLayer.selectCell(4, 4, false, true);
this.selectionLayer.selectCell(5, 4, false, true);
this.selectionLayer.selectCell(6, 4, false, true);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 6, 1));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.RIGHT, this.natTable.getConfigRegistry()));
assertEquals(Integer.valueOf("1"), this.selectionLayer.getDataValueByPosition(4, 4));
assertEquals(Integer.valueOf("3"), this.selectionLayer.getDataValueByPosition(5, 4));
assertEquals(Integer.valueOf("5"), this.selectionLayer.getDataValueByPosition(6, 4));
assertEquals(Integer.valueOf("7"), this.selectionLayer.getDataValueByPosition(7, 4));
assertEquals(Integer.valueOf("9"), this.selectionLayer.getDataValueByPosition(8, 4));
assertEquals(Integer.valueOf("11"), this.selectionLayer.getDataValueByPosition(9, 4));
}
@Test
public void testMultiCellSameDiffIntegerValueDragUp() {
this.dataProvider.setDataValue(4, 4, Integer.valueOf("1"));
this.dataProvider.setDataValue(4, 5, Integer.valueOf("3"));
this.dataProvider.setDataValue(4, 6, Integer.valueOf("5"));
this.selectionLayer.selectCell(4, 4, false, true);
this.selectionLayer.selectCell(4, 5, false, true);
this.selectionLayer.selectCell(4, 6, false, true);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 1, 1, 6));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.UP, this.natTable.getConfigRegistry()));
assertEquals(Integer.valueOf("-5"), this.selectionLayer.getDataValueByPosition(4, 1));
assertEquals(Integer.valueOf("-3"), this.selectionLayer.getDataValueByPosition(4, 2));
assertEquals(Integer.valueOf("-1"), this.selectionLayer.getDataValueByPosition(4, 3));
assertEquals(Integer.valueOf("1"), this.selectionLayer.getDataValueByPosition(4, 4));
assertEquals(Integer.valueOf("3"), this.selectionLayer.getDataValueByPosition(4, 5));
assertEquals(Integer.valueOf("5"), this.selectionLayer.getDataValueByPosition(4, 6));
}
@Test
public void testMultiCellSameDiffIntegerValueDragLeft() {
this.dataProvider.setDataValue(4, 4, Integer.valueOf("1"));
this.dataProvider.setDataValue(5, 4, Integer.valueOf("3"));
this.dataProvider.setDataValue(6, 4, Integer.valueOf("5"));
this.selectionLayer.selectCell(4, 4, false, true);
this.selectionLayer.selectCell(5, 4, false, true);
this.selectionLayer.selectCell(6, 4, false, true);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(1, 4, 6, 1));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.LEFT, this.natTable.getConfigRegistry()));
assertEquals(Integer.valueOf("-5"), this.selectionLayer.getDataValueByPosition(1, 4));
assertEquals(Integer.valueOf("-3"), this.selectionLayer.getDataValueByPosition(2, 4));
assertEquals(Integer.valueOf("-1"), this.selectionLayer.getDataValueByPosition(3, 4));
assertEquals(Integer.valueOf("1"), this.selectionLayer.getDataValueByPosition(4, 4));
assertEquals(Integer.valueOf("3"), this.selectionLayer.getDataValueByPosition(5, 4));
assertEquals(Integer.valueOf("5"), this.selectionLayer.getDataValueByPosition(6, 4));
}
@Test
public void testMultiCellSameDiffByteValueDragDown() {
this.dataProvider.setDataValue(4, 4, Byte.valueOf("1"));
this.dataProvider.setDataValue(4, 5, Byte.valueOf("3"));
this.dataProvider.setDataValue(4, 6, Byte.valueOf("5"));
this.selectionLayer.selectCell(4, 4, false, true);
this.selectionLayer.selectCell(4, 5, false, true);
this.selectionLayer.selectCell(4, 6, false, true);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 1, 6));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.DOWN, this.natTable.getConfigRegistry()));
assertEquals(Byte.valueOf("1"), this.selectionLayer.getDataValueByPosition(4, 4));
assertEquals(Byte.valueOf("3"), this.selectionLayer.getDataValueByPosition(4, 5));
assertEquals(Byte.valueOf("5"), this.selectionLayer.getDataValueByPosition(4, 6));
assertEquals(Byte.valueOf("7"), this.selectionLayer.getDataValueByPosition(4, 7));
assertEquals(Byte.valueOf("9"), this.selectionLayer.getDataValueByPosition(4, 8));
assertEquals(Byte.valueOf("11"), this.selectionLayer.getDataValueByPosition(4, 9));
}
@Test
public void testMultiCellSameDiffShortValueDragDown() {
this.dataProvider.setDataValue(4, 4, Short.valueOf("1"));
this.dataProvider.setDataValue(4, 5, Short.valueOf("3"));
this.dataProvider.setDataValue(4, 6, Short.valueOf("5"));
this.selectionLayer.selectCell(4, 4, false, true);
this.selectionLayer.selectCell(4, 5, false, true);
this.selectionLayer.selectCell(4, 6, false, true);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 1, 6));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.DOWN, this.natTable.getConfigRegistry()));
assertEquals(Short.valueOf("1"), this.selectionLayer.getDataValueByPosition(4, 4));
assertEquals(Short.valueOf("3"), this.selectionLayer.getDataValueByPosition(4, 5));
assertEquals(Short.valueOf("5"), this.selectionLayer.getDataValueByPosition(4, 6));
assertEquals(Short.valueOf("7"), this.selectionLayer.getDataValueByPosition(4, 7));
assertEquals(Short.valueOf("9"), this.selectionLayer.getDataValueByPosition(4, 8));
assertEquals(Short.valueOf("11"), this.selectionLayer.getDataValueByPosition(4, 9));
}
@Test
public void testMultiCellSameDiffLongValueDragDown() {
this.dataProvider.setDataValue(4, 4, Long.valueOf("1"));
this.dataProvider.setDataValue(4, 5, Long.valueOf("3"));
this.dataProvider.setDataValue(4, 6, Long.valueOf("5"));
this.selectionLayer.selectCell(4, 4, false, true);
this.selectionLayer.selectCell(4, 5, false, true);
this.selectionLayer.selectCell(4, 6, false, true);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 1, 6));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.DOWN, this.natTable.getConfigRegistry()));
assertEquals(Long.valueOf("1"), this.selectionLayer.getDataValueByPosition(4, 4));
assertEquals(Long.valueOf("3"), this.selectionLayer.getDataValueByPosition(4, 5));
assertEquals(Long.valueOf("5"), this.selectionLayer.getDataValueByPosition(4, 6));
assertEquals(Long.valueOf("7"), this.selectionLayer.getDataValueByPosition(4, 7));
assertEquals(Long.valueOf("9"), this.selectionLayer.getDataValueByPosition(4, 8));
assertEquals(Long.valueOf("11"), this.selectionLayer.getDataValueByPosition(4, 9));
}
@Test
public void testMultiCellSameDiffFloatValueDragDown() {
this.dataProvider.setDataValue(4, 4, Float.valueOf("1.3"));
this.dataProvider.setDataValue(4, 5, Float.valueOf("2.6"));
this.dataProvider.setDataValue(4, 6, Float.valueOf("3.9"));
this.selectionLayer.selectCell(4, 4, false, true);
this.selectionLayer.selectCell(4, 5, false, true);
this.selectionLayer.selectCell(4, 6, false, true);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 1, 6));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.DOWN, this.natTable.getConfigRegistry()));
assertEquals(Float.valueOf("1.3"), this.selectionLayer.getDataValueByPosition(4, 4));
assertEquals(Float.valueOf("2.6"), this.selectionLayer.getDataValueByPosition(4, 5));
assertEquals(Float.valueOf("3.9"), this.selectionLayer.getDataValueByPosition(4, 6));
assertEquals(Float.valueOf("5.2"), this.selectionLayer.getDataValueByPosition(4, 7));
assertEquals(Float.valueOf("6.5"), this.selectionLayer.getDataValueByPosition(4, 8));
assertEquals(Float.valueOf("7.8"), this.selectionLayer.getDataValueByPosition(4, 9));
}
@Test
public void testMultiCellSameDiffDoubleValueDragDown() {
this.dataProvider.setDataValue(4, 4, Double.valueOf("1.3"));
this.dataProvider.setDataValue(4, 5, Double.valueOf("2.6"));
this.dataProvider.setDataValue(4, 6, Double.valueOf("3.9"));
this.selectionLayer.selectCell(4, 4, false, true);
this.selectionLayer.selectCell(4, 5, false, true);
this.selectionLayer.selectCell(4, 6, false, true);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 1, 6));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.DOWN, this.natTable.getConfigRegistry()));
assertEquals(Double.valueOf("1.3"), this.selectionLayer.getDataValueByPosition(4, 4));
assertEquals(Double.valueOf("2.6"), this.selectionLayer.getDataValueByPosition(4, 5));
assertEquals(Double.valueOf("3.9"), this.selectionLayer.getDataValueByPosition(4, 6));
assertEquals(Double.valueOf("5.2"), this.selectionLayer.getDataValueByPosition(4, 7));
assertEquals(Double.valueOf("6.5"), this.selectionLayer.getDataValueByPosition(4, 8));
assertEquals(Double.valueOf("7.8"), this.selectionLayer.getDataValueByPosition(4, 9));
}
@Test
public void testMultiCellSameDiffBigIntegerValueDragDown() {
this.dataProvider.setDataValue(4, 4, BigInteger.valueOf(1));
this.dataProvider.setDataValue(4, 5, BigInteger.valueOf(3));
this.dataProvider.setDataValue(4, 6, BigInteger.valueOf(5));
this.selectionLayer.selectCell(4, 4, false, true);
this.selectionLayer.selectCell(4, 5, false, true);
this.selectionLayer.selectCell(4, 6, false, true);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 1, 6));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.DOWN, this.natTable.getConfigRegistry()));
assertEquals(BigInteger.valueOf(1), this.selectionLayer.getDataValueByPosition(4, 4));
assertEquals(BigInteger.valueOf(3), this.selectionLayer.getDataValueByPosition(4, 5));
assertEquals(BigInteger.valueOf(5), this.selectionLayer.getDataValueByPosition(4, 6));
assertEquals(BigInteger.valueOf(7), this.selectionLayer.getDataValueByPosition(4, 7));
assertEquals(BigInteger.valueOf(9), this.selectionLayer.getDataValueByPosition(4, 8));
assertEquals(BigInteger.valueOf(11), this.selectionLayer.getDataValueByPosition(4, 9));
}
@Test
public void testMultiCellSameDiffBigDecimalValueDragDown() {
this.dataProvider.setDataValue(4, 4, BigDecimal.valueOf(1.2d));
this.dataProvider.setDataValue(4, 5, BigDecimal.valueOf(2.4d));
this.dataProvider.setDataValue(4, 6, BigDecimal.valueOf(3.6d));
this.selectionLayer.selectCell(4, 4, false, true);
this.selectionLayer.selectCell(4, 5, false, true);
this.selectionLayer.selectCell(4, 6, false, true);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 1, 6));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.DOWN, this.natTable.getConfigRegistry()));
assertEquals(BigDecimal.valueOf(1.2d), this.selectionLayer.getDataValueByPosition(4, 4));
assertEquals(BigDecimal.valueOf(2.4d), this.selectionLayer.getDataValueByPosition(4, 5));
assertEquals(BigDecimal.valueOf(3.6d), this.selectionLayer.getDataValueByPosition(4, 6));
assertEquals(BigDecimal.valueOf(4.8d), this.selectionLayer.getDataValueByPosition(4, 7));
assertEquals(BigDecimal.valueOf(6d), this.selectionLayer.getDataValueByPosition(4, 8));
assertEquals(BigDecimal.valueOf(7.2d), this.selectionLayer.getDataValueByPosition(4, 9));
}
@SuppressWarnings("deprecation")
@Test
public void testMultiCellSameDiffDateValueDragDown() {
this.dataProvider.setDataValue(4, 4, new Date(2015, 9, 2));
this.dataProvider.setDataValue(4, 5, new Date(2015, 9, 5));
this.dataProvider.setDataValue(4, 6, new Date(2015, 9, 8));
this.selectionLayer.selectCell(4, 4, false, true);
this.selectionLayer.selectCell(4, 5, false, true);
this.selectionLayer.selectCell(4, 6, false, true);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 1, 6));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.DOWN, this.natTable.getConfigRegistry()));
assertEquals(new Date(2015, 9, 2), this.selectionLayer.getDataValueByPosition(4, 4));
assertEquals(new Date(2015, 9, 5), this.selectionLayer.getDataValueByPosition(4, 5));
assertEquals(new Date(2015, 9, 8), this.selectionLayer.getDataValueByPosition(4, 6));
assertEquals(new Date(2015, 9, 11), this.selectionLayer.getDataValueByPosition(4, 7));
assertEquals(new Date(2015, 9, 14), this.selectionLayer.getDataValueByPosition(4, 8));
assertEquals(new Date(2015, 9, 17), this.selectionLayer.getDataValueByPosition(4, 9));
}
@SuppressWarnings("deprecation")
@Test
public void testMultiCellSameDiffDateYearValueDragDown() {
this.dataProvider.setDataValue(4, 4, new Date(2002, 9, 2));
this.dataProvider.setDataValue(4, 5, new Date(2004, 9, 5));
this.dataProvider.setDataValue(4, 6, new Date(2006, 9, 8));
this.selectionLayer.selectCell(4, 4, false, true);
this.selectionLayer.selectCell(4, 5, false, true);
this.selectionLayer.selectCell(4, 6, false, true);
this.natTable.getConfigRegistry().registerConfigAttribute(
FillHandleConfigAttributes.INCREMENT_DATE_FIELD,
Calendar.YEAR);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 1, 6));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.DOWN, this.natTable.getConfigRegistry()));
assertEquals(new Date(2002, 9, 2), this.selectionLayer.getDataValueByPosition(4, 4));
assertEquals(new Date(2004, 9, 5), this.selectionLayer.getDataValueByPosition(4, 5));
assertEquals(new Date(2006, 9, 8), this.selectionLayer.getDataValueByPosition(4, 6));
assertEquals(new Date(2008, 9, 2), this.selectionLayer.getDataValueByPosition(4, 7));
assertEquals(new Date(2010, 9, 5), this.selectionLayer.getDataValueByPosition(4, 8));
assertEquals(new Date(2012, 9, 8), this.selectionLayer.getDataValueByPosition(4, 9));
}
@Test
public void testMultiCellSameDiffByteValueDragRight() {
this.dataProvider.setDataValue(4, 4, Byte.valueOf("1"));
this.dataProvider.setDataValue(5, 4, Byte.valueOf("3"));
this.dataProvider.setDataValue(6, 4, Byte.valueOf("5"));
this.selectionLayer.selectCell(4, 4, false, true);
this.selectionLayer.selectCell(5, 4, false, true);
this.selectionLayer.selectCell(6, 4, false, true);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 6, 1));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.RIGHT, this.natTable.getConfigRegistry()));
assertEquals(Byte.valueOf("1"), this.selectionLayer.getDataValueByPosition(4, 4));
assertEquals(Byte.valueOf("3"), this.selectionLayer.getDataValueByPosition(5, 4));
assertEquals(Byte.valueOf("5"), this.selectionLayer.getDataValueByPosition(6, 4));
assertEquals(Byte.valueOf("7"), this.selectionLayer.getDataValueByPosition(7, 4));
assertEquals(Byte.valueOf("9"), this.selectionLayer.getDataValueByPosition(8, 4));
assertEquals(Byte.valueOf("11"), this.selectionLayer.getDataValueByPosition(9, 4));
}
@Test
public void testMultiCellSameDiffShortValueDragRight() {
this.dataProvider.setDataValue(4, 4, Short.valueOf("1"));
this.dataProvider.setDataValue(5, 4, Short.valueOf("3"));
this.dataProvider.setDataValue(6, 4, Short.valueOf("5"));
this.selectionLayer.selectCell(4, 4, false, true);
this.selectionLayer.selectCell(5, 4, false, true);
this.selectionLayer.selectCell(6, 4, false, true);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 6, 1));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.RIGHT, this.natTable.getConfigRegistry()));
assertEquals(Short.valueOf("1"), this.selectionLayer.getDataValueByPosition(4, 4));
assertEquals(Short.valueOf("3"), this.selectionLayer.getDataValueByPosition(5, 4));
assertEquals(Short.valueOf("5"), this.selectionLayer.getDataValueByPosition(6, 4));
assertEquals(Short.valueOf("7"), this.selectionLayer.getDataValueByPosition(7, 4));
assertEquals(Short.valueOf("9"), this.selectionLayer.getDataValueByPosition(8, 4));
assertEquals(Short.valueOf("11"), this.selectionLayer.getDataValueByPosition(9, 4));
}
@Test
public void testMultiCellSameDiffLongValueDragRight() {
this.dataProvider.setDataValue(4, 4, Long.valueOf("1"));
this.dataProvider.setDataValue(5, 4, Long.valueOf("3"));
this.dataProvider.setDataValue(6, 4, Long.valueOf("5"));
this.selectionLayer.selectCell(4, 4, false, true);
this.selectionLayer.selectCell(5, 4, false, true);
this.selectionLayer.selectCell(6, 4, false, true);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 6, 1));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.RIGHT, this.natTable.getConfigRegistry()));
assertEquals(Long.valueOf("1"), this.selectionLayer.getDataValueByPosition(4, 4));
assertEquals(Long.valueOf("3"), this.selectionLayer.getDataValueByPosition(5, 4));
assertEquals(Long.valueOf("5"), this.selectionLayer.getDataValueByPosition(6, 4));
assertEquals(Long.valueOf("7"), this.selectionLayer.getDataValueByPosition(7, 4));
assertEquals(Long.valueOf("9"), this.selectionLayer.getDataValueByPosition(8, 4));
assertEquals(Long.valueOf("11"), this.selectionLayer.getDataValueByPosition(9, 4));
}
@Test
public void testMultiCellSameDiffFloatValueDragRight() {
this.dataProvider.setDataValue(4, 4, Float.valueOf("1.3"));
this.dataProvider.setDataValue(5, 4, Float.valueOf("2.6"));
this.dataProvider.setDataValue(6, 4, Float.valueOf("3.9"));
this.selectionLayer.selectCell(4, 4, false, true);
this.selectionLayer.selectCell(5, 4, false, true);
this.selectionLayer.selectCell(6, 4, false, true);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 6, 1));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.RIGHT, this.natTable.getConfigRegistry()));
assertEquals(Float.valueOf("1.3"), this.selectionLayer.getDataValueByPosition(4, 4));
assertEquals(Float.valueOf("2.6"), this.selectionLayer.getDataValueByPosition(5, 4));
assertEquals(Float.valueOf("3.9"), this.selectionLayer.getDataValueByPosition(6, 4));
assertEquals(Float.valueOf("5.2"), this.selectionLayer.getDataValueByPosition(7, 4));
assertEquals(Float.valueOf("6.5"), this.selectionLayer.getDataValueByPosition(8, 4));
assertEquals(Float.valueOf("7.8"), this.selectionLayer.getDataValueByPosition(9, 4));
}
@Test
public void testMultiCellSameDiffDoubleValueDragRight() {
this.dataProvider.setDataValue(4, 4, Double.valueOf("1.3"));
this.dataProvider.setDataValue(5, 4, Double.valueOf("2.6"));
this.dataProvider.setDataValue(6, 4, Double.valueOf("3.9"));
this.selectionLayer.selectCell(4, 4, false, true);
this.selectionLayer.selectCell(5, 4, false, true);
this.selectionLayer.selectCell(6, 4, false, true);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 6, 1));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.RIGHT, this.natTable.getConfigRegistry()));
assertEquals(Double.valueOf("1.3"), this.selectionLayer.getDataValueByPosition(4, 4));
assertEquals(Double.valueOf("2.6"), this.selectionLayer.getDataValueByPosition(5, 4));
assertEquals(Double.valueOf("3.9"), this.selectionLayer.getDataValueByPosition(6, 4));
assertEquals(Double.valueOf("5.2"), this.selectionLayer.getDataValueByPosition(7, 4));
assertEquals(Double.valueOf("6.5"), this.selectionLayer.getDataValueByPosition(8, 4));
assertEquals(Double.valueOf("7.8"), this.selectionLayer.getDataValueByPosition(9, 4));
}
@Test
public void testMultiCellSameDiffBigIntegerValueDragRight() {
this.dataProvider.setDataValue(4, 4, BigInteger.valueOf(1));
this.dataProvider.setDataValue(5, 4, BigInteger.valueOf(3));
this.dataProvider.setDataValue(6, 4, BigInteger.valueOf(5));
this.selectionLayer.selectCell(4, 4, false, true);
this.selectionLayer.selectCell(5, 4, false, true);
this.selectionLayer.selectCell(6, 4, false, true);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 6, 1));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.RIGHT, this.natTable.getConfigRegistry()));
assertEquals(BigInteger.valueOf(1), this.selectionLayer.getDataValueByPosition(4, 4));
assertEquals(BigInteger.valueOf(3), this.selectionLayer.getDataValueByPosition(5, 4));
assertEquals(BigInteger.valueOf(5), this.selectionLayer.getDataValueByPosition(6, 4));
assertEquals(BigInteger.valueOf(7), this.selectionLayer.getDataValueByPosition(7, 4));
assertEquals(BigInteger.valueOf(9), this.selectionLayer.getDataValueByPosition(8, 4));
assertEquals(BigInteger.valueOf(11), this.selectionLayer.getDataValueByPosition(9, 4));
}
@Test
public void testMultiCellSameDiffBigDecimalValueDragRight() {
this.dataProvider.setDataValue(4, 4, BigDecimal.valueOf(1.2d));
this.dataProvider.setDataValue(5, 4, BigDecimal.valueOf(2.4d));
this.dataProvider.setDataValue(6, 4, BigDecimal.valueOf(3.6d));
this.selectionLayer.selectCell(4, 4, false, true);
this.selectionLayer.selectCell(5, 4, false, true);
this.selectionLayer.selectCell(6, 4, false, true);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 6, 1));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.RIGHT, this.natTable.getConfigRegistry()));
assertEquals(BigDecimal.valueOf(1.2d), this.selectionLayer.getDataValueByPosition(4, 4));
assertEquals(BigDecimal.valueOf(2.4d), this.selectionLayer.getDataValueByPosition(5, 4));
assertEquals(BigDecimal.valueOf(3.6d), this.selectionLayer.getDataValueByPosition(6, 4));
assertEquals(BigDecimal.valueOf(4.8d), this.selectionLayer.getDataValueByPosition(7, 4));
assertEquals(BigDecimal.valueOf(6d), this.selectionLayer.getDataValueByPosition(8, 4));
assertEquals(BigDecimal.valueOf(7.2d), this.selectionLayer.getDataValueByPosition(9, 4));
}
@SuppressWarnings("deprecation")
@Test
public void testMultiCellSameDiffDateValueDragRight() {
this.dataProvider.setDataValue(4, 4, new Date(2002, 9, 2));
this.dataProvider.setDataValue(5, 4, new Date(2002, 9, 5));
this.dataProvider.setDataValue(6, 4, new Date(2002, 9, 8));
this.selectionLayer.selectCell(4, 4, false, true);
this.selectionLayer.selectCell(5, 4, false, true);
this.selectionLayer.selectCell(6, 4, false, true);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 6, 1));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.RIGHT, this.natTable.getConfigRegistry()));
assertEquals(new Date(2002, 9, 2), this.selectionLayer.getDataValueByPosition(4, 4));
assertEquals(new Date(2002, 9, 5), this.selectionLayer.getDataValueByPosition(5, 4));
assertEquals(new Date(2002, 9, 8), this.selectionLayer.getDataValueByPosition(6, 4));
assertEquals(new Date(2002, 9, 11), this.selectionLayer.getDataValueByPosition(7, 4));
assertEquals(new Date(2002, 9, 14), this.selectionLayer.getDataValueByPosition(8, 4));
assertEquals(new Date(2002, 9, 17), this.selectionLayer.getDataValueByPosition(9, 4));
}
@Test
public void testMultiCellDifferentIntegerValueDragDown() {
this.dataProvider.setDataValue(4, 4, Integer.valueOf("1"));
this.dataProvider.setDataValue(4, 5, Integer.valueOf("2"));
this.dataProvider.setDataValue(4, 6, Integer.valueOf("4"));
this.selectionLayer.selectCell(4, 4, false, true);
this.selectionLayer.selectCell(4, 5, false, true);
this.selectionLayer.selectCell(4, 6, false, true);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 1, 6));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.DOWN, this.natTable.getConfigRegistry()));
// as there is no common diff value in the cells we simply perform a
// copy operation
assertEquals(Integer.valueOf("1"), this.selectionLayer.getDataValueByPosition(4, 4));
assertEquals(Integer.valueOf("2"), this.selectionLayer.getDataValueByPosition(4, 5));
assertEquals(Integer.valueOf("4"), this.selectionLayer.getDataValueByPosition(4, 6));
assertEquals(Integer.valueOf("1"), this.selectionLayer.getDataValueByPosition(4, 7));
assertEquals(Integer.valueOf("2"), this.selectionLayer.getDataValueByPosition(4, 8));
assertEquals(Integer.valueOf("4"), this.selectionLayer.getDataValueByPosition(4, 9));
}
@Test
public void testMultiCellIntegerValueDragDown() {
// column 4 simple series
this.dataProvider.setDataValue(4, 4, Integer.valueOf("1"));
this.dataProvider.setDataValue(4, 5, Integer.valueOf("2"));
this.dataProvider.setDataValue(4, 6, Integer.valueOf("3"));
// column 5 calculated series
this.dataProvider.setDataValue(5, 4, Integer.valueOf("2"));
this.dataProvider.setDataValue(5, 5, Integer.valueOf("4"));
this.dataProvider.setDataValue(5, 6, Integer.valueOf("6"));
// column 6 incontiguous
this.dataProvider.setDataValue(6, 4, Integer.valueOf("1"));
this.dataProvider.setDataValue(6, 5, Integer.valueOf("2"));
this.dataProvider.setDataValue(6, 6, Integer.valueOf("4"));
this.selectionLayer.selectCell(4, 4, false, true);
this.selectionLayer.selectCell(6, 6, true, false);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 3, 6));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.DOWN, this.natTable.getConfigRegistry()));
// simple series
assertEquals(Integer.valueOf("1"), this.selectionLayer.getDataValueByPosition(4, 4));
assertEquals(Integer.valueOf("2"), this.selectionLayer.getDataValueByPosition(4, 5));
assertEquals(Integer.valueOf("3"), this.selectionLayer.getDataValueByPosition(4, 6));
assertEquals(Integer.valueOf("4"), this.selectionLayer.getDataValueByPosition(4, 7));
assertEquals(Integer.valueOf("5"), this.selectionLayer.getDataValueByPosition(4, 8));
assertEquals(Integer.valueOf("6"), this.selectionLayer.getDataValueByPosition(4, 9));
// series with 2 difference
assertEquals(Integer.valueOf("2"), this.selectionLayer.getDataValueByPosition(5, 4));
assertEquals(Integer.valueOf("4"), this.selectionLayer.getDataValueByPosition(5, 5));
assertEquals(Integer.valueOf("6"), this.selectionLayer.getDataValueByPosition(5, 6));
assertEquals(Integer.valueOf("8"), this.selectionLayer.getDataValueByPosition(5, 7));
assertEquals(Integer.valueOf("10"), this.selectionLayer.getDataValueByPosition(5, 8));
assertEquals(Integer.valueOf("12"), this.selectionLayer.getDataValueByPosition(5, 9));
// as there is no common diff value in the cells we simply perform a
// copy operation
assertEquals(Integer.valueOf("1"), this.selectionLayer.getDataValueByPosition(6, 4));
assertEquals(Integer.valueOf("2"), this.selectionLayer.getDataValueByPosition(6, 5));
assertEquals(Integer.valueOf("4"), this.selectionLayer.getDataValueByPosition(6, 6));
assertEquals(Integer.valueOf("1"), this.selectionLayer.getDataValueByPosition(6, 7));
assertEquals(Integer.valueOf("2"), this.selectionLayer.getDataValueByPosition(6, 8));
assertEquals(Integer.valueOf("4"), this.selectionLayer.getDataValueByPosition(6, 9));
}
@Test
public void testMultiCellIntegerValueDragRight() {
// column 4 simple series
this.dataProvider.setDataValue(4, 4, Integer.valueOf("1"));
this.dataProvider.setDataValue(5, 4, Integer.valueOf("2"));
this.dataProvider.setDataValue(6, 4, Integer.valueOf("3"));
// column 5 calculated series
this.dataProvider.setDataValue(4, 5, Integer.valueOf("2"));
this.dataProvider.setDataValue(5, 5, Integer.valueOf("4"));
this.dataProvider.setDataValue(6, 5, Integer.valueOf("6"));
// column 6 incontiguous
this.dataProvider.setDataValue(4, 6, Integer.valueOf("1"));
this.dataProvider.setDataValue(5, 6, Integer.valueOf("2"));
this.dataProvider.setDataValue(6, 6, Integer.valueOf("4"));
this.selectionLayer.selectCell(4, 4, false, true);
this.selectionLayer.selectCell(6, 6, true, false);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 6, 3));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.RIGHT, this.natTable.getConfigRegistry()));
// simple series
assertEquals(Integer.valueOf("1"), this.selectionLayer.getDataValueByPosition(4, 4));
assertEquals(Integer.valueOf("2"), this.selectionLayer.getDataValueByPosition(5, 4));
assertEquals(Integer.valueOf("3"), this.selectionLayer.getDataValueByPosition(6, 4));
assertEquals(Integer.valueOf("4"), this.selectionLayer.getDataValueByPosition(7, 4));
assertEquals(Integer.valueOf("5"), this.selectionLayer.getDataValueByPosition(8, 4));
assertEquals(Integer.valueOf("6"), this.selectionLayer.getDataValueByPosition(9, 4));
// series with 2 difference
assertEquals(Integer.valueOf("2"), this.selectionLayer.getDataValueByPosition(4, 5));
assertEquals(Integer.valueOf("4"), this.selectionLayer.getDataValueByPosition(5, 5));
assertEquals(Integer.valueOf("6"), this.selectionLayer.getDataValueByPosition(6, 5));
assertEquals(Integer.valueOf("8"), this.selectionLayer.getDataValueByPosition(7, 5));
assertEquals(Integer.valueOf("10"), this.selectionLayer.getDataValueByPosition(8, 5));
assertEquals(Integer.valueOf("12"), this.selectionLayer.getDataValueByPosition(9, 5));
// as there is no common diff value in the cells we simply perform a
// copy operation
assertEquals(Integer.valueOf("1"), this.selectionLayer.getDataValueByPosition(4, 6));
assertEquals(Integer.valueOf("2"), this.selectionLayer.getDataValueByPosition(5, 6));
assertEquals(Integer.valueOf("4"), this.selectionLayer.getDataValueByPosition(6, 6));
assertEquals(Integer.valueOf("1"), this.selectionLayer.getDataValueByPosition(7, 6));
assertEquals(Integer.valueOf("2"), this.selectionLayer.getDataValueByPosition(8, 6));
assertEquals(Integer.valueOf("4"), this.selectionLayer.getDataValueByPosition(9, 6));
}
@Test
public void testByteNullCellValueDragDown() {
this.dataProvider.setDataValue(4, 4, Byte.valueOf("1"));
this.selectionLayer.selectCell(4, 4, false, true);
this.selectionLayer.selectCell(4, 5, false, true);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 1, 6));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.DOWN, this.natTable.getConfigRegistry()));
assertEquals(Byte.valueOf("1"), this.selectionLayer.getDataValueByPosition(4, 4));
assertNull(this.selectionLayer.getDataValueByPosition(4, 5));
assertEquals(Byte.valueOf("1"), this.selectionLayer.getDataValueByPosition(4, 6));
assertNull(this.selectionLayer.getDataValueByPosition(4, 7));
assertEquals(Byte.valueOf("1"), this.selectionLayer.getDataValueByPosition(4, 8));
assertNull(this.selectionLayer.getDataValueByPosition(4, 9));
}
@Test
public void testShortNullCellValueDragDown() {
this.dataProvider.setDataValue(4, 4, Short.valueOf("1"));
this.selectionLayer.selectCell(4, 4, false, true);
this.selectionLayer.selectCell(4, 5, false, true);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 1, 6));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.DOWN, this.natTable.getConfigRegistry()));
assertEquals(Short.valueOf("1"), this.selectionLayer.getDataValueByPosition(4, 4));
assertNull(this.selectionLayer.getDataValueByPosition(4, 5));
assertEquals(Short.valueOf("1"), this.selectionLayer.getDataValueByPosition(4, 6));
assertNull(this.selectionLayer.getDataValueByPosition(4, 7));
assertEquals(Short.valueOf("1"), this.selectionLayer.getDataValueByPosition(4, 8));
assertNull(this.selectionLayer.getDataValueByPosition(4, 9));
}
@Test
public void testIntegerNullCellValueDragDown() {
this.dataProvider.setDataValue(4, 4, Integer.valueOf("1"));
this.selectionLayer.selectCell(4, 4, false, true);
this.selectionLayer.selectCell(4, 5, false, true);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 1, 6));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.DOWN, this.natTable.getConfigRegistry()));
assertEquals(Integer.valueOf("1"), this.selectionLayer.getDataValueByPosition(4, 4));
assertNull(this.selectionLayer.getDataValueByPosition(4, 5));
assertEquals(Integer.valueOf("1"), this.selectionLayer.getDataValueByPosition(4, 6));
assertNull(this.selectionLayer.getDataValueByPosition(4, 7));
assertEquals(Integer.valueOf("1"), this.selectionLayer.getDataValueByPosition(4, 8));
assertNull(this.selectionLayer.getDataValueByPosition(4, 9));
}
@Test
public void testLongNullCellValueDragDown() {
this.dataProvider.setDataValue(4, 4, Long.valueOf("1"));
this.selectionLayer.selectCell(4, 4, false, true);
this.selectionLayer.selectCell(4, 5, false, true);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 1, 6));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.DOWN, this.natTable.getConfigRegistry()));
assertEquals(Long.valueOf("1"), this.selectionLayer.getDataValueByPosition(4, 4));
assertNull(this.selectionLayer.getDataValueByPosition(4, 5));
assertEquals(Long.valueOf("1"), this.selectionLayer.getDataValueByPosition(4, 6));
assertNull(this.selectionLayer.getDataValueByPosition(4, 7));
assertEquals(Long.valueOf("1"), this.selectionLayer.getDataValueByPosition(4, 8));
assertNull(this.selectionLayer.getDataValueByPosition(4, 9));
}
@Test
public void testFloatNullCellValueDragDown() {
this.dataProvider.setDataValue(4, 4, Float.valueOf("1"));
this.selectionLayer.selectCell(4, 4, false, true);
this.selectionLayer.selectCell(4, 5, false, true);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 1, 6));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.DOWN, this.natTable.getConfigRegistry()));
assertEquals(Float.valueOf("1"), this.selectionLayer.getDataValueByPosition(4, 4));
assertNull(this.selectionLayer.getDataValueByPosition(4, 5));
assertEquals(Float.valueOf("1"), this.selectionLayer.getDataValueByPosition(4, 6));
assertNull(this.selectionLayer.getDataValueByPosition(4, 7));
assertEquals(Float.valueOf("1"), this.selectionLayer.getDataValueByPosition(4, 8));
assertNull(this.selectionLayer.getDataValueByPosition(4, 9));
}
@Test
public void testDoubleNullCellValueDragDown() {
this.dataProvider.setDataValue(4, 4, Double.valueOf("1"));
this.selectionLayer.selectCell(4, 4, false, true);
this.selectionLayer.selectCell(4, 5, false, true);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 1, 6));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.DOWN, this.natTable.getConfigRegistry()));
assertEquals(Double.valueOf("1"), this.selectionLayer.getDataValueByPosition(4, 4));
assertNull(this.selectionLayer.getDataValueByPosition(4, 5));
assertEquals(Double.valueOf("1"), this.selectionLayer.getDataValueByPosition(4, 6));
assertNull(this.selectionLayer.getDataValueByPosition(4, 7));
assertEquals(Double.valueOf("1"), this.selectionLayer.getDataValueByPosition(4, 8));
assertNull(this.selectionLayer.getDataValueByPosition(4, 9));
}
@Test
public void testBigIntegerNullCellValueDragDown() {
this.dataProvider.setDataValue(4, 4, BigInteger.valueOf(1));
this.selectionLayer.selectCell(4, 4, false, true);
this.selectionLayer.selectCell(4, 5, false, true);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 1, 6));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.DOWN, this.natTable.getConfigRegistry()));
assertEquals(BigInteger.valueOf(1), this.selectionLayer.getDataValueByPosition(4, 4));
assertNull(this.selectionLayer.getDataValueByPosition(4, 5));
assertEquals(BigInteger.valueOf(1), this.selectionLayer.getDataValueByPosition(4, 6));
assertNull(this.selectionLayer.getDataValueByPosition(4, 7));
assertEquals(BigInteger.valueOf(1), this.selectionLayer.getDataValueByPosition(4, 8));
assertNull(this.selectionLayer.getDataValueByPosition(4, 9));
}
@Test
public void testBigDecimalNullCellValueDragDown() {
this.dataProvider.setDataValue(4, 4, BigDecimal.valueOf(1));
this.selectionLayer.selectCell(4, 4, false, true);
this.selectionLayer.selectCell(4, 5, false, true);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 1, 6));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.DOWN, this.natTable.getConfigRegistry()));
assertEquals(BigDecimal.valueOf(1), this.selectionLayer.getDataValueByPosition(4, 4));
assertNull(this.selectionLayer.getDataValueByPosition(4, 5));
assertEquals(BigDecimal.valueOf(1), this.selectionLayer.getDataValueByPosition(4, 6));
assertNull(this.selectionLayer.getDataValueByPosition(4, 7));
assertEquals(BigDecimal.valueOf(1), this.selectionLayer.getDataValueByPosition(4, 8));
assertNull(this.selectionLayer.getDataValueByPosition(4, 9));
}
@SuppressWarnings("deprecation")
@Test
public void testDateNullCellValueDragDown() {
this.dataProvider.setDataValue(4, 4, new Date(2015, 9, 13));
this.selectionLayer.selectCell(4, 4, false, true);
this.selectionLayer.selectCell(4, 5, false, true);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 1, 6));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.DOWN, this.natTable.getConfigRegistry()));
assertEquals(new Date(2015, 9, 13), this.selectionLayer.getDataValueByPosition(4, 4));
assertNull(this.selectionLayer.getDataValueByPosition(4, 5));
assertEquals(new Date(2015, 9, 13), this.selectionLayer.getDataValueByPosition(4, 6));
assertNull(this.selectionLayer.getDataValueByPosition(4, 7));
assertEquals(new Date(2015, 9, 13), this.selectionLayer.getDataValueByPosition(4, 8));
assertNull(this.selectionLayer.getDataValueByPosition(4, 9));
}
@Test
public void testMultiCellDifferentTypesDragDown() {
this.dataProvider.setDataValue(4, 4, Float.valueOf("3.5"));
this.dataProvider.setDataValue(4, 5, BigInteger.valueOf(1));
this.selectionLayer.selectCell(4, 4, false, true);
this.selectionLayer.selectCell(4, 5, false, true);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 1, 4));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.DOWN, this.natTable.getConfigRegistry()));
// result should be a copy because of different data types
assertEquals(Float.valueOf("3.5"), this.selectionLayer.getDataValueByPosition(4, 4));
assertEquals(BigInteger.valueOf(1), this.selectionLayer.getDataValueByPosition(4, 5));
assertEquals(Float.valueOf("3.5"), this.selectionLayer.getDataValueByPosition(4, 6));
assertEquals(BigInteger.valueOf(1), this.selectionLayer.getDataValueByPosition(4, 7));
}
@Test
public void testMultiCellDifferentTypesDragRight() {
this.dataProvider.setDataValue(4, 4, Integer.valueOf("1"));
this.dataProvider.setDataValue(5, 4, Float.valueOf("3.5"));
this.selectionLayer.selectCell(4, 4, false, true);
this.selectionLayer.selectCell(5, 4, false, true);
this.natTable.doCommand(new CopyDataToClipboardCommand(
"\t", //$NON-NLS-1$
System.getProperty("line.separator"), //$NON-NLS-1$
this.natTable.getConfigRegistry()));
this.selectionLayer.setFillHandleRegion(new Rectangle(4, 4, 4, 1));
this.natTable.doCommand(
new FillHandlePasteCommand(FillHandleOperation.SERIES, MoveDirectionEnum.RIGHT, this.natTable.getConfigRegistry()));
// result should be a copy because of different data types
assertEquals(Integer.valueOf("1"), this.selectionLayer.getDataValueByPosition(4, 4));
assertEquals(Float.valueOf("3.5"), this.selectionLayer.getDataValueByPosition(5, 4));
assertEquals(Integer.valueOf("1"), this.selectionLayer.getDataValueByPosition(6, 4));
assertEquals(Float.valueOf("3.5"), this.selectionLayer.getDataValueByPosition(7, 4));
}
}