package Ġsearch box Ċ Ċ import Ġcom . alg ol ia . instant search . core . Callback Ċ import Ġcom . alg ol ia . instant search . core . search box . Search Box View Ċ import Ġcom . alg ol ia . instant search . core . search box . Search Box ViewModel Ċ import Ġcom . alg ol ia . instant search . core . search box . connect View Ċ import Ġshould Equal Ċ import Ġshould Not BeNull Ċ import Ġkotlin . test . Test ĊĊ Ċ class ĠTest Search Box Connect View Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġtext Ġ= Ġ" text " ĊĊĠĠĠ Ġprivate Ġclass ĠMock View Ġ: ĠSearch Box View Ġ{ ĊĊĠĠĠĠĠĠĠ Ġvar Ġstring : ĠString ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġvar Ġquery Changed : ĠString ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġvar Ġquery Submitted : ĠString ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġset Text ( text : ĠString ?, Ġsubmit Query : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstring Ġ= Ġtext ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġvar Ġon Query Changed : ĠCallback < String ?> ? Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġquery Changed Ġ= Ġit ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġoverride Ġvar Ġon Query Submitted : ĠCallback < String ?> ? Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġquery Submitted Ġ= Ġit ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġconnect Should SetItem () Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠviewModel Ġ= ĠSearch Box ViewModel () ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠMock View () ĊĠĠĠĠĠĠĠ Ġval Ġconnection Ġ= ĠviewModel . connect View ( view ) ĊĊĠĠĠĠĠĠĠ ĠviewModel . query . value Ġ= Ġtext ĊĠĠĠĠĠĠĠ Ġconnection . connect () ĊĠĠĠĠĠĠĠ Ġview . string Ġshould Equal Ġtext ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġon Query Changed Should Call Subscription () Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠviewModel Ġ= ĠSearch Box ViewModel () ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠMock View () ĊĠĠĠĠĠĠĠ Ġvar Ġexpected : ĠString ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġval Ġconnection Ġ= ĠviewModel . connect View ( view ) ĊĊĠĠĠĠĠĠĠ ĠviewModel . query . subscribe Ġ{ Ġexpected Ġ= Ġit Ġ} ĊĠĠĠĠĠĠĠ Ġconnection . connect () ĊĠĠĠĠĠĠĠ Ġview . on Query Changed . should Not BeNull () ĊĠĠĠĠĠĠĠ Ġview . on Query Changed !! ( text ) ĊĠĠĠĠĠĠĠ ĠviewModel . query . value Ġshould Equal Ġtext ĊĠĠĠĠĠĠĠ Ġexpected Ġshould Equal Ġtext ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġon Query Submitted Should Call Subscription () Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠviewModel Ġ= ĠSearch Box ViewModel () ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠMock View () ĊĠĠĠĠĠĠĠ Ġvar Ġexpected : ĠString ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġval Ġconnection Ġ= ĠviewModel . connect View ( view ) ĊĊĠĠĠĠĠĠĠ ĠviewModel . event Submit . subscribe Ġ{ Ġexpected Ġ= Ġit Ġ} ĊĠĠĠĠĠĠĠ Ġconnection . connect () ĊĠĠĠĠĠĠĠ Ġview . on Query Submitted . should Not BeNull () ĊĠĠĠĠĠĠĠ Ġview . on Query Submitted !! ( text ) ĊĠĠĠĠĠĠĠ ĠviewModel . query . value Ġshould Equal Ġtext ĊĠĠĠĠĠĠĠ Ġexpected Ġshould Equal Ġtext ĊĠĠĠ Ġ} Ċ }