| package org.eclipse.nebula.widgets.nattable.core.layer.impl.viewport |
| |
| import org.eclipse.nebula.widgets.nattable.core.layer.axis.impl.AxisImpl |
| import org.eclipse.nebula.widgets.nattable.core.layer.axis.impl.NotSoBigAxis |
| import org.junit.Before |
| import org.junit.Test |
| |
| import static org.eclipse.nebula.widgets.nattable.core.layer.AxisTest.* |
| import static extension org.eclipse.nebula.widgets.nattable.core.layer.axis.AxisInvariants.* |
| |
| class ViewportAxisTest { |
| |
| AxisImpl underlyingAxis |
| ViewportAxis viewportAxis |
| |
| @Before |
| def void before() { |
| // segment position: | 0 | 1 | 2 | 3 | |
| // pixel location: 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 |
| underlyingAxis = new AxisImpl(4, 100) => [ |
| setPixelSizeOfSegmentPosition(2, 0) |
| setPixelSizeOfSegmentPosition(3, 1) |
| setPixelSizeOfSegmentPosition(7, 2) |
| setPixelSizeOfSegmentPosition(13, 3) |
| ] |
| viewportAxis = new ViewportAxis(new NotSoBigAxis(underlyingAxis), null) |
| } |
| |
| @Test |
| def void baseline() { |
| // segment position: | 0 | 1 | 2 | 3 | |
| // pixel location: 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 |
| testAxis( |
| "underlyingAxis", |
| underlyingAxis, |
| #[ 0, 1, 2, 3 ], |
| #[ 0.0, 2.0, 5.0, 12.0, 25.0 ] |
| ) |
| |
| // By default, viewport visible pixel size is 10 |
| testAxis( |
| "viewportAxis", |
| viewportAxis, |
| #[ 0, 1, 2 ], |
| #[ 0.0, 2.0, 5.0, 12.0 ] |
| ) |
| |
| viewportAxis.visiblePixelSize = underlyingAxis.pixelSize |
| // segment position: | 0 | 1 | 2 | 3 | |
| // pixel location: 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 |
| testAxis( |
| "viewportAxis", |
| viewportAxis, |
| #[ 0, 1, 2, 3 ], |
| #[ 0.0, 2.0, 5.0, 12.0, 25.0 ] |
| ) |
| } |
| |
| @Test |
| def void beginningToBoundary() { |
| // segment position: | 0 | 1 | 2 | 3 | |
| // pixel location: 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 |
| // visible pixel size: |---------| |
| viewportAxis.pixelOrigin = 0 |
| viewportAxis.visiblePixelSize = 5 |
| testAxis( |
| viewportAxis, |
| #[ 0, 1 ], |
| #[ 0.0, 2.0, 5.0 ] |
| ) |
| } |
| |
| @Test |
| def void boundaryToEnd() { |
| // segment position: | 0 | 1 | 2 | 3 | |
| // pixel location: 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 |
| // visible pixel size: |---------------------------------------------| |
| // |0 1 2|3 4 5 6 7 8 9|0 1 2 3 4 5 6 7 8 9 0 1 2| |
| viewportAxis.pixelOrigin = 2 |
| viewportAxis.visiblePixelSize = 23 |
| testAxis( |
| viewportAxis, |
| #[ 1, 2, 3 ], |
| #[ 0.0, 3.0, 10.0, 23.0 ] |
| ) |
| } |
| |
| @Test |
| def void boundaryToBoundary() { |
| // segment position: | 0 | 1 | 2 | 3 | |
| // pixel location: 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 |
| // visible pixel size: |-------------------| |
| // |0 1 2|3 4 5 6 7 8 9| |
| viewportAxis.pixelOrigin = 2 |
| viewportAxis.visiblePixelSize = 10 |
| testAxis( |
| viewportAxis, |
| #[ 1, 2 ], |
| #[ 0.0, 3.0, 10.0 ] |
| ) |
| } |
| |
| @Test |
| def void beginningToMidpoint() { |
| // segment position: | 0 | 1 | 2 | 3 | |
| // pixel location: 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 |
| // visible pixel size: |---------------| |
| // |0 1|2 3 4|5 6 7 8 9 0 1| |
| viewportAxis.pixelOrigin = 0 |
| viewportAxis.visiblePixelSize = 8 |
| testAxis( |
| viewportAxis, |
| #[ 0, 1, 2 ], |
| #[ 0.0, 2.0, 5.0, 12.0 ] |
| ) |
| } |
| |
| @Test |
| def void beforeMidpointToEnd() { |
| // segment position: | 0 | 1 | 2 | 3 | |
| // pixel location: 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 |
| // visible pixel size: |---------------------------------| |
| // |3 2 1 0 1 2 3|4 5 6 7 8 9 0 1 2 3 4 5 6| |
| viewportAxis.pixelOrigin = 8 |
| viewportAxis.visiblePixelSize = 17 |
| testAxis( |
| viewportAxis, |
| #[ 2, 3 ], |
| #[ -3.0, 4.0, 17.0 ] |
| ) |
| } |
| |
| @Test |
| def void afterMidpointToEnd() { |
| // segment position: | 0 | 1 | 2 | 3 | |
| // pixel location: 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 |
| // visible pixel size: |-------------------| |
| // |4 5 6 7 8 9 0 1 2 3 4 5 6| |
| viewportAxis.pixelOrigin = 17 |
| viewportAxis.visiblePixelSize = 10 |
| testAxis( |
| viewportAxis, |
| #[ 3 ], |
| #[ -5.0, 8.0 ] |
| ) |
| } |
| |
| @Test |
| def void midpointToMidpoint() { |
| // segment position: | 0 | 1 | 2 | 3 | |
| // pixel location: 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 |
| // visible pixel size: |-----------------------------| |
| // |2 1 0|1 2 3 4 5 6 7|8 9 0 1 2 3 4 5 6 7 8 9 0| |
| viewportAxis.pixelOrigin = 4 |
| viewportAxis.visiblePixelSize = 15 |
| testAxis( |
| viewportAxis, |
| #[ 1, 2, 3 ], |
| #[ -2.0, 1.0, 8.0, 21.0 ] |
| ) |
| } |
| |
| @Test |
| def void expandRight() { |
| // segment position: | 0 | 1 | 2 | 3 | |
| // pixel location: 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 |
| // visible pixel size: |-------------|+++++| |
| // |2 1 0|1 2 3 4 5 6 7|8 9 0 1 2 3 4 5 6 7 8 9 0| |
| viewportAxis.pixelOrigin = 4 |
| viewportAxis.visiblePixelSize = 7 |
| testAxis( |
| "before expand", |
| viewportAxis, |
| #[ 1, 2 ], |
| #[ -2.0, 1.0, 8.0 ] |
| ) |
| |
| // segment position: | 0 | 1 | 2 | 3 | |
| // pixel location: 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 |
| // visible pixel size: |+++++++++++++++++++| |
| // |2 1 0|1 2 3 4 5 6 7|8 9 0 1 2 3 4 5 6 7 8 9 0| |
| viewportAxis.visiblePixelSize = 10 |
| viewportAxis.handleResize |
| testAxis( |
| "after expand", |
| viewportAxis, |
| #[ 1, 2, 3 ], |
| #[ -2.0, 1.0, 8.0, 21.0 ] |
| ) |
| } |
| |
| @Test |
| def void expandBeyondEnd() { |
| // segment position: | 0 | 1 | 2 | 3 | |
| // pixel location: 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 |
| // visible pixel size: |-------------|+++++++++++++++++++++++++++++++++| |
| // |2 1 0|1 2 3 4 5 6 7|8 9 0 1 2 3 4 5 6 7 8 9 0|1 2 3 |
| viewportAxis.pixelOrigin = 4 |
| viewportAxis.visiblePixelSize = 7 |
| testAxis( |
| "before expand", |
| viewportAxis, |
| #[ 1, 2 ], |
| #[ -2.0, 1.0, 8.0 ] |
| ) |
| |
| // segment position: | 0 | 1 | 2 | 3 | |
| // pixel location: 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 |
| // visible pixel size: |+++++++++++++++++++++++++++++++++++++++++++++++| |
| // |1 0|1 2 3|4 5 6 7 8 9 0|1 2 3 4 5 6 7 8 9 0 1 2 3| |
| viewportAxis.visiblePixelSize = 24 |
| viewportAxis.handleResize |
| testAxis( |
| "after expand", |
| viewportAxis, |
| #[ 0, 1, 2, 3 ], |
| #[ -1.0, 1.0, 4.0, 11.0, 24.0 ] |
| ) |
| } |
| |
| } |