package Ġcom . pat ry kk os ier ad z ki . ry an air android challenge . ui . stations Ċ Ċ import Ġcom . pat ry kk os ier ad z ki . ry an air android challenge . R Ċ import Ġcom . pat ry kk os ier ad z ki . ry an air android challenge . utils . Fragment Scenario Robot Ċ import Ġcom . pat ry kk os ier ad z ki . ry an air android challenge . utils . Robot Test Ċ import Ġcom . pat ry kk os ier ad z ki . ry an air android challenge . utils . declare Mocks Test Rule Ċ import Ġcom . pat ry kk os ier ad z ki . ry an air android challenge . utils . mock ViewModel Rule Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ import Ġorg . k oin . test . mock . declare Mock Ċ Ċ class ĠSelect Station Dialog Fragment Should Ġ: ĠRobot Test < Select Station Dialog Fragment Robot >() Ġ{ ĊĊĠĠĠ Ġ@ get : Rule ĊĠĠĠ Ġval Ġmock Rule Ġ= Ġmock ViewModel Rule < Select Station ViewModel , ĠSelect Station ViewState >( ĊĠĠĠĠĠĠĠ Ġdefault ViewState Ġ= ĠSelect Station ViewState ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġin Progress Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ get : Rule ĊĠĠĠ Ġval Ġrule Ġ= Ġdeclare Mocks Test Rule Ġ{ ĊĠĠĠĠĠĠĠ Ġdeclare Mock < Select Station ViewModel >() ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġshow Station Dialog Fragment () Ġ{ ĊĠĠĠĠĠĠĠ Ġwith Robot Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Dialog Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcapture (" 0 1 _ Station _ list _ empty ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Mock St ations () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcapture (" 0 1 _ Station _ list _ filled ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Mock Filter () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcapture (" 0 1 _ Station _ list _ filtered ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Robot () Ġ= ĠSelect Station Dialog Fragment Robot () Ċ } Ċ Ċ class ĠSelect Station Dialog Fragment Robot Ġ: ĊĠĠĠ ĠFragment Scenario Robot < Select Station ViewState , ĠSelect Station ViewModel >() Ġ{ ĊĠĠĠ Ġfun Ġstart Dialog Fragment () Ġ{ ĊĠĠĠĠĠĠĠ Ġstart Dialog Fragment Ġ{ ĠSelect Station Dialog Fragment () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Mock St ations () Ġ{ ĊĠĠĠĠĠĠĠ Ġset ViewState ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSelect Station ViewState ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġavailable St ations Ġ= Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfiltered St ations Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStation Header Item (" Pol and "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStation Group ListItem (" W ars aw ", Ġ" W AW "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStation Group ListItem (" W ro cl aw ", Ġ" W RO "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStation Group ListItem (" K at ow ice ", Ġ" K TW "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStation Header Item (" L ondon "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStation Group ListItem (" He ath row ", Ġ" L HR "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStation Group ListItem (" G at wick ", Ġ" L GW "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStation Group ListItem (" Stan st ed ", Ġ" ST N "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfilter Ġ= Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġin Progress Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Mock Filter () Ġ{ ĊĠĠĠĠĠĠĠ ĠR . id . station Filter EditText . input Text (" W ro ") ĊĠĠĠĠĠĠĠ Ġset ViewState ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSelect Station ViewState ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġavailable St ations Ġ= Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfiltered St ations Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStation Header Item (" Pol and "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStation Group ListItem (" W ro cl aw ", Ġ" W RO "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfilter Ġ= Ġ" W ro ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġin Progress Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ