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