| package org.eclipse.nebula.widgets.nattable.core.layer.impl.viewport |
| |
| import org.eclipse.nebula.widgets.nattable.core.layer.axis.impl.AxisImpl |
| import org.junit.Before |
| import org.junit.Test |
| |
| import static org.eclipse.nebula.widgets.nattable.core.layer.AxisTest.* |
| |
| 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(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, 2, 5, 12, 25 ] |
| ) |
| |
| // 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, 2, 5, 12, 25 ] |
| ) |
| } |
| |
| @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 range: |---------| |
| viewportAxis.pixelOrigin = 0 |
| viewportAxis.visiblePixelRange = 5 |
| testAxis( |
| viewportAxis, |
| #[ 0, 1 ], |
| #[ 0, 2, 5 ] |
| ) |
| } |
| |
| @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 range: |---------------------------------------------| |
| // |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.visiblePixelRange = 23 |
| testAxis( |
| viewportAxis, |
| #[ 1, 2, 3 ], |
| #[ 0, 3, 10, 23 ] |
| ) |
| } |
| |
| @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 range: |-------------------| |
| // |0 1 2|3 4 5 6 7 8 9| |
| viewportAxis.pixelOrigin = 2 |
| viewportAxis.visiblePixelRange = 10 |
| testAxis( |
| viewportAxis, |
| #[ 1, 2 ], |
| #[ 0, 3, 10 ] |
| ) |
| } |
| |
| @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 range: |---------------| |
| // |0 1|2 3 4|5 6 7 8 9 0 1| |
| viewportAxis.pixelOrigin = 0 |
| viewportAxis.visiblePixelRange = 8 |
| testAxis( |
| viewportAxis, |
| #[ 0, 1, 2 ], |
| #[ 0, 2, 5, 12 ] |
| ) |
| } |
| |
| @Test |
| def void midpointToEnd() { |
| // 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 range: |---------------------------------| |
| // |3 2 1 0 1 2 3|4 5 6 7 8 9 0 1 2 3 4 5 6| |
| viewportAxis.pixelOrigin = 8 |
| viewportAxis.visiblePixelRange = 17 |
| testAxis( |
| viewportAxis, |
| #[ 2, 3 ], |
| #[ -3, 4, 17 ] |
| ) |
| } |
| |
| @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 range: |-----------------------------| |
| // |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.visiblePixelRange = 15 |
| testAxis( |
| viewportAxis, |
| #[ 1, 2, 3 ], |
| #[ -2, 1, 8, 21 ] |
| ) |
| } |
| |
| @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 range: |-------------|+++++| |
| // |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.visiblePixelRange = 7 |
| testAxis( |
| "before expand", |
| viewportAxis, |
| #[ 1, 2 ], |
| #[ -2, 1, 8 ] |
| ) |
| |
| // 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 range: |+++++++++++++++++++| |
| // |2 1 0|1 2 3 4 5 6 7|8 9 0 1 2 3 4 5 6 7 8 9 0| |
| viewportAxis.visiblePixelRange = 10 |
| viewportAxis.handleResize |
| testAxis( |
| "after expand", |
| viewportAxis, |
| #[ 1, 2, 3 ], |
| #[ -2, 1, 8, 21 ] |
| ) |
| } |
| |
| @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 range: |-------------|+++++++++++++++++++++++++++++++++| |
| // |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.visiblePixelRange = 7 |
| testAxis( |
| "before expand", |
| viewportAxis, |
| #[ 1, 2 ], |
| #[ -2, 1, 8 ] |
| ) |
| |
| // 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 range: |+++++++++++++++++++++++++++++++++++++++++++++++| |
| // |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.visiblePixelRange = 24 |
| viewportAxis.handleResize |
| testAxis( |
| "after expand", |
| viewportAxis, |
| // #[ 1, 2, 3 ], |
| // #[ -2, 1, 8, 21 ] |
| #[ 0, 1, 2, 3 ], |
| #[ -1, 1, 4, 11, 24 ] |
| ) |
| } |
| |
| } |