package Ġcom . h bb 2 0 Ċ Ċ import Ġandroid . content . Context Ċ import Ġcom . h bb 2 0 . country picker . config . CP List Config Ċ import Ġcom . h bb 2 0 . country picker . config . CP Row Config Ċ import Ġcom . h bb 2 0 . country picker . data generator . CP DataStore Generator Ċ import Ġcom . h bb 2 0 . country picker . recyclerview . CP RecyclerView Helper Ċ import Ġio . mock k . mock k Ċ import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . Assert . assertTrue Ċ import Ġorg . junit . Test Ċ Ċ class ĠCP RecyclerView Helper Test Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġcontext Ġ= Ġmock k < Context > Ġ{} ĊĠĠĠ Ġprivate Ġval Ġdata Store Ġ= ĊĠĠĠĠĠĠĠ ĠCP DataStore Generator . generate ( context , Ġcountry FileReader Ġ= ĠMock Country FileReader ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġpreferred Countries Work With Alpha 2 () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġhelper Ġ= ĠCP RecyclerView Helper ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcp DataStore Ġ= Ġdata Store , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcp List Config Ġ= ĠCP List Config ( preferred Country Codes Ġ= Ġ" IN , AU "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Country ClickListener Ġ= Ġmock k () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" IN ", Ġhelper . all Preferred Countries [ 0 ]. alpha 2 ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" AU ", Ġhelper . all Preferred Countries [ 1 ]. alpha 2 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Code Before Preferred () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhelper Ġ= ĠCP RecyclerView Helper ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcp DataStore Ġ= Ġdata Store , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcp List Config Ġ= ĠCP List Config ( preferred Country Codes Ġ= Ġ" IN Ġ, AU "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Country ClickListener Ġ= Ġmock k () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" IN ", Ġhelper . all Preferred Countries [ 0 ]. alpha 2 ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" AU ", Ġhelper . all Preferred Countries [ 1 ]. alpha 2 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġpreferred Countries Work With Alpha 3 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhelper Ġ= ĠCP RecyclerView Helper ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcp DataStore Ġ= Ġdata Store , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcp List Config Ġ= ĠCP List Config ( preferred Country Codes Ġ= Ġ" IND , A US "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Country ClickListener Ġ= Ġmock k () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" IN ", Ġhelper . all Preferred Countries [ 0 ]. alpha 2 ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" AU ", Ġhelper . all Preferred Countries [ 1 ]. alpha 2 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġpreferred Countries Work With Alpha 2 and 3 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhelper Ġ= ĠCP RecyclerView Helper ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcp DataStore Ġ= Ġdata Store , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcp List Config Ġ= ĠCP List Config ( preferred Country Codes Ġ= Ġ" IN , A US "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Country ClickListener Ġ= Ġmock k () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" IN ", Ġhelper . all Preferred Countries [ 0 ]. alpha 2 ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" AU ", Ġhelper . all Preferred Countries [ 1 ]. alpha 2 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġinvalid Codes A vo ided S af ely () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhelper Ġ= ĠCP RecyclerView Helper ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcp DataStore Ġ= Ġdata Store , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcp List Config Ġ= ĠCP List Config ( preferred Country Codes Ġ= Ġ" XX , IN , YYY , 2 1 dk s aj , A US "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Country ClickListener Ġ= Ġmock k () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" IN ", Ġhelper . all Preferred Countries [ 0 ]. alpha 2 ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" AU ", Ġhelper . all Preferred Countries [ 1 ]. alpha 2 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġduplicate Codes Are Removed () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhelper Ġ= ĠCP RecyclerView Helper ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcp DataStore Ġ= Ġdata Store , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcp List Config Ġ= ĠCP List Config ( preferred Country Codes Ġ= Ġ" IN , A US , IN "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Country ClickListener Ġ= Ġmock k () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" IN ", Ġhelper . all Preferred Countries [ 0 ]. alpha 2 ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" AU ", Ġhelper . all Preferred Countries [ 1 ]. alpha 2 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġhelper . all Preferred Countries . size ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġduplicate Countries Are Removed () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhelper Ġ= ĠCP RecyclerView Helper ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcp DataStore Ġ= Ġdata Store , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcp List Config Ġ= ĠCP List Config ( preferred Country Codes Ġ= Ġ" IN , A US , IND "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Country ClickListener Ġ= Ġmock k () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" IN ", Ġhelper . all Preferred Countries [ 0 ]. alpha 2 ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" AU ", Ġhelper . all Preferred Countries [ 1 ]. alpha 2 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġhelper . all Preferred Countries . size ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` filter Ġfor Ġname `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhelper Ġ= ĠCP RecyclerView Helper ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcp DataStore Ġ= Ġdata Store , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Country ClickListener Ġ= Ġmock k () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġhelper . update Data For Query (" United ĠStates ") ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" US ", Ġhelper . controller Data . all Countries [ 0 ]. alpha 2 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġhelper . controller Data . all Countries . size ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` filter Ġfor Ġpart Ġof Ġname `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhelper Ġ= ĠCP RecyclerView Helper ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcp DataStore Ġ= Ġdata Store , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Country ClickListener Ġ= Ġmock k () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġhelper . update Data For Query (" United ") ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" US ", Ġhelper . controller Data . all Countries [ 0 ]. alpha 2 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġhelper . controller Data . all Countries . size ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` filter Ġfor Ġenglish Ġname `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhelper Ġ= ĠCP RecyclerView Helper ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcp DataStore Ġ= Ġdata Store , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Country ClickListener Ġ= Ġmock k () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġhelper . update Data For Query (" United ĠStates ") ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" US ", Ġhelper . controller Data . all Countries [ 0 ]. alpha 2 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġhelper . controller Data . all Countries . size ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` filter Ġfor Ġpart Ġof Ġenglish Ġname `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhelper Ġ= ĠCP RecyclerView Helper ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcp DataStore Ġ= Ġdata Store , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Country ClickListener Ġ= Ġmock k () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġhelper . update Data For Query (" n ited ") ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" US ", Ġhelper . controller Data . all Countries [ 0 ]. alpha 2 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġhelper . controller Data . all Countries . size ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` filter Ġfor Ġalpha 3 Ġcode `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhelper Ġ= ĠCP RecyclerView Helper ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcp DataStore Ġ= Ġdata Store , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcp Row Config Ġ= ĠCP Row Config ( highlighted Text Generator Ġ= Ġ{ Ġit . alpha 3 Ġ}), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Country ClickListener Ġ= Ġmock k () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġhelper . update Data For Query (" LK A ") ĊĠĠĠĠĠĠĠ ĠassertEquals (" LK ", Ġhelper . controller Data . all Countries [ 0 ]. alpha 2 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġhelper . controller Data . all Countries . size ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` filter Ġfor Ġalpha 2 Ġcode `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhelper Ġ= ĠCP RecyclerView Helper ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcp DataStore Ġ= Ġdata Store , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcp Row Config Ġ= ĠCP Row Config ( highlighted Text Generator Ġ= Ġ{ Ġit . alpha 2 Ġ}), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Country ClickListener Ġ= Ġmock k () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġhelper . update Data For Query (" LK ") ĊĠĠĠĠĠĠĠ ĠassertEquals (" LK ", Ġhelper . controller Data . all Countries [ 0 ]. alpha 2 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġhelper . controller Data . all Countries . size ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` filter Ġfor Ġphone Ġcode `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhelper Ġ= ĠCP RecyclerView Helper ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcp DataStore Ġ= Ġdata Store , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcp Row Config Ġ= ĠCP Row Config ( highlighted Text Generator Ġ= Ġ{ Ġit . phone Code . toString () Ġ}), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Country ClickListener Ġ= Ġmock k () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġhelper . update Data For Query (" 9 4 ") ĊĠĠĠĠĠĠĠ ĠassertEquals (" LK ", Ġhelper . controller Data . all Countries [ 0 ]. alpha 2 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġhelper . controller Data . all Countries . size ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` filter Ġfor Ġpartial Ġphone Ġcode `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhelper Ġ= ĠCP RecyclerView Helper ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcp DataStore Ġ= Ġdata Store , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcp Row Config Ġ= ĠCP Row Config ( highlighted Text Generator Ġ= Ġ{ Ġit . phone Code . toString () Ġ}), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Country ClickListener Ġ= Ġmock k () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġhelper . update Data For Query (" 9 ") ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( helper . controller Data . all Countries . any Ġ{ Ġit . alpha 2 Ġ== Ġ" AF " Ġ}) ĊĠĠĠĠĠĠĠ ĠassertTrue ( helper . controller Data . all Countries . any Ġ{ Ġit . alpha 2 Ġ== Ġ" IN " Ġ}) ĊĠĠĠĠĠĠĠ ĠassertTrue ( helper . controller Data . all Countries . any Ġ{ Ġit . alpha 2 Ġ== Ġ" LK " Ġ}) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 3 , Ġhelper . controller Data . all Countries . size ) ĊĠĠĠ Ġ} Ċ } Ċ