package Ġorg . hex works . z ir con . internal . fragment . impl Ċ Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . hex works . z ir con . api . Draw Sur faces Ċ import Ġorg . hex works . z ir con . api . application . AppConfig Ċ import Ġorg . hex works . z ir con . api . data . Position Ċ import Ġorg . hex works . z ir con . api . data . Size Ċ import Ġorg . hex works . z ir con . api . graphics . Tile Graphics Ċ import Ġorg . hex works . z ir con . api . u ie vent .* Ċ import Ġorg . hex works . z ir con . convert Character Tiles ToString Ċ import Ġorg . hex works . z ir con . internal . component . renderer . Vertical ScrollBar Renderer Ċ import Ġorg . hex works . z ir con . internal . renderer . Test Renderer Ċ import Ġorg . junit . Test Ċ Ċ class ĠVertical Scroll able List Test Ġ{ ĊĠĠĠ Ġprivate Ġval Ġgraphics : ĠTile Graphics Ġ= ĊĠĠĠĠĠĠĠ ĠDraw Sur faces ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. tile Graphics Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Size ( Size . create ( 8 , Ġ 1 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġprivate Ġval Ġscroll able List Fragment Ġ= ĠVertical Scroll able List ( ĊĠĠĠĠĠĠĠ Ġgraphics . size , ĊĠĠĠĠĠĠĠ ĠPosition . zero (), ĊĠĠĠĠĠĠĠ Ġ( 1 .. 2 0 ). map Ġ{ Ġ" Item Ġ$ it " Ġ}, ĊĠĠĠĠĠĠĠ Ġscrollbar Renderer Ġ= ĠTest Scrollbar Renderer ĊĠĠĠ Ġ) ĊĠĠĠ Ġprivate Ġval Ġtest Renderer Ġ= ĠTest Renderer ( AppConfig . default Configuration (), Ġgraphics ). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġwith Component Container Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Fragment ( scroll able List Fragment ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġrenders Correct ly () Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Renderer . render () ĊĠĠĠĠĠĠĠ ĠassertThat ( graphics . convert Character Tiles ToString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 1 Ġâĸ ² ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 2 Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 3 Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 4 Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 5 Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 6 Ġ| ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 7 Ġ| ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 8 Ġ| ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 9 Ġ| ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 1 0 âĸ ¼ ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġscroll s Correct ly () Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Renderer . render () ĊĠĠĠĠĠĠĠ ĠassertThat ( graphics . convert Character Tiles ToString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 1 Ġâĸ ² ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 2 Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 3 Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 4 Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 5 Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 6 Ġ| ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 7 Ġ| ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 8 Ġ| ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 9 Ġ| ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 1 0 âĸ ¼ ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġtest Renderer . dispatch ( TAB ) Ġ// Ġtop Ġarrow ĊĠĠĠĠĠĠĠ Ġtest Renderer . dispatch ( TAB ) Ġ// Ġscrollbar ĊĠĠĠĠĠĠĠ Ġtest Renderer . dispatch ( TAB ) Ġ// Ġbottom Ġarrow ĊĠĠĠĠĠĠĠ ĠassertThat ( test Renderer . dispatch ( SPACE )). isEqualTo ( Processed ) ĊĠĠĠĠĠĠĠ Ġtest Renderer . render () ĊĠĠĠĠĠĠĠ ĠassertThat ( graphics . convert Character Tiles ToString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 2 Ġâĸ ² ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 3 Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 4 Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 5 Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 6 Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 7 Ġ| ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 8 Ġ| ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 9 Ġ| ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 1 0 | ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 1 1 âĸ ¼ ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġscroll sTo Bottom Correct ly () Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Renderer . dispatch ( TAB ) Ġ// Ġtop Ġarrow ĊĠĠĠĠĠĠĠ Ġtest Renderer . dispatch ( TAB ) Ġ// Ġscrollbar ĊĠĠĠĠĠĠĠ Ġtest Renderer . dispatch ( TAB ) Ġ// Ġbottom Ġarrow ĊĠĠĠĠĠĠĠ Ġrepeat ( 2 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Renderer . dispatch ( SPACE ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġtest Renderer . render () ĊĠĠĠĠĠĠĠ ĠassertThat ( graphics . convert Character Tiles ToString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 1 1 âĸ ² ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 1 2 | ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 1 3 | ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 1 4 | ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 1 5 | ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 1 6 + ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 1 7 + ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 1 8 + ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 1 9 + ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 2 0 âĸ ¼ ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcan Scroll By Mouse Press ing Empty Bar () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpos Ġ= ĠPosition . create ( 7 , Ġ 6 ) ĊĠĠĠĠĠĠĠ Ġtest Renderer . dispatch ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMouseEvent ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMouse EventType . MOUSE _ PRES SED , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpos ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġtest Renderer . render () ĊĠĠĠĠĠĠĠ ĠassertThat ( graphics . convert Character Tiles ToString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 4 Ġâĸ ² ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 5 Ġ| ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 6 Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 7 Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 8 Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 9 Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 1 0 | ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 1 1 | ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 1 2 | ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 1 3 âĸ ¼ ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcan Scroll Using Mouse Wheel () Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Renderer . dispatch ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMouseEvent ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMouse EventType . MOUSE _ W HE EL _ ROT ATED _ DOWN , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPosition . create ( 7 , Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġtest Renderer . render () ĊĠĠĠĠĠĠĠ ĠassertThat ( graphics . convert Character Tiles ToString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 4 Ġâĸ ² ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 5 Ġ| ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 6 Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 7 Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 8 Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 9 Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 1 0 | ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 1 1 | ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 1 2 | ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Ġ 1 3 âĸ ¼ ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġval ĠSPACE Ġ= ĠKeyboard Event ( ĊĠĠĠ Ġtype Ġ= ĠKeyboard EventType . KEY _ PRES SED , ĊĠĠĠ Ġcode Ġ= ĠKeyCode . SPACE , ĊĠĠĠ Ġkey Ġ= Ġ" Ġ" Ċ ) Ċ Ċ private Ġval ĠTAB Ġ= ĠKeyboard Event ( ĊĠĠĠ Ġtype Ġ= ĠKeyboard EventType . KEY _ PRES SED , ĊĠĠĠ Ġkey Ġ= Ġ"\ t ", ĊĠĠĠ Ġcode Ġ= ĠKeyCode . TAB Ċ ) Ċ Ċ private Ġobject ĠTest Scrollbar Renderer Ġ: ĠVertical ScrollBar Renderer () Ġ{ ĊĠĠĠ Ġoverride Ġval Ġabove Bar Character Ġ= Ġ' |' ĊĠĠĠ Ġoverride Ġval Ġbelow Bar Character Ġ= Ġ' |' ĊĠĠĠ Ġoverride Ġval Ġbar Character Ġ= Ġ'+' Ċ } Ċ