blob: ece8eb0f419a9ca176c891ffeccfc52451068975 [file] [log] [blame]
package org.eclipse.nebula.widgets.nattable.renderer.swt.layer.viewport
import java.math.BigDecimal
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.runners.MockitoJUnitRunner
import static org.junit.Assert.*
import static org.mockito.Mockito.*
import static extension org.eclipse.nebula.widgets.nattable.core.layer.axis.AxisInvariants.*
@RunWith(typeof(MockitoJUnitRunner))
class ScrollBarHandlerRangeSmallerThanIntTest extends AbstractScrollBarHandlerTest {
new() {
super(10, 200)
}
@Test
def void viewportAtBeginning() {
scrollBarHandler.recalculateScrollBarSize
verify(scrollBar).maximum = 2000 // axis pixel size
verify(scrollBar).thumb = 500 // visible pixel size
verify(scrollBar).increment = 125 // 1/4 of visible pixel size
verify(scrollBar).pageIncrement = 500
verify(scrollBar).selection = 0
}
@Test
def void viewportAtEnd() {
viewportAxis.pixelOrigin = 1999
scrollBarHandler.recalculateScrollBarSize
verify(scrollBar).maximum = 2000 // axis pixel size
verify(scrollBar).thumb = 500 // visible pixel size
verify(scrollBar).increment = 125 // 1/4 of visible pixel size
verify(scrollBar).pageIncrement = 500
verify(scrollBar).selection = 1999
}
@Test
def void moveViewportABit() {
when(scrollBar.selection).thenReturn(1)
scrollBarHandler.updateViewportOrigin
assertEquals(BigDecimal::ONE, viewportAxis.pixelOrigin)
}
@Test
def void moveViewportToEnd() {
when(scrollBar.selection).thenReturn(1990)
scrollBarHandler.updateViewportOrigin
assertTrue('''viewport origin «viewportAxis.pixelOrigin» + visible pixel size «viewportAxis.visiblePixelSize» should be >= underlying axis pixel size «viewportAxis.underlyingAxis.pixelSize»''', viewportAxis.pixelOrigin + viewportAxis.visiblePixelSize >= new BigDecimal(2000))
}
}