package Ġcom . far mer bb . task bar . util Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . test . core . app . Application Provider Ċ import Ġorg . junit . Assert Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . ro bo lectric . Ro bo lectric TestRunner Ċ Ċ @ RunWith ( Ro bo lectric TestRunner :: class ) Ċ class ĠTop Apps Test Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcontext : ĠContext ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtop Apps : ĠTop Apps ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġcontext Ġ= ĠApplication Provider . getApplicationContext () ĊĠĠĠĠĠĠĠ Ġtop Apps Ġ= ĠTop Apps . getInstance ( context ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠtestGet Instance () Ġ{ ĊĠĠĠĠĠĠĠ ĠAssert . assertNotNull ( top Apps ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. 2 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertEquals ( top Apps , ĠTop Apps . getInstance ( context )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Is Top App () Ġ{ ĊĠĠĠĠĠĠĠ ĠAssert . assertFalse ( top Apps . is Top App ( context . packageName )) ĊĠĠĠĠĠĠĠ Ġadd Current Package To Top Apps () ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( top Apps . is Top App ( context . packageName )) ĊĠĠĠĠĠĠĠ Ġtop Apps . remove Top App ( context , Ġcontext . packageName ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Remove Top App () Ġ{ ĊĠĠĠĠĠĠĠ Ġadd Current Package To Top Apps () ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( top Apps . is Top App ( context . packageName )) ĊĠĠĠĠĠĠĠ Ġtop Apps . remove Top App ( context , Ġcontext . packageName ) ĊĠĠĠĠĠĠĠ ĠAssert . assertFalse ( top Apps . is Top App ( context . packageName )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġadd Current Package To Top Apps () Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠpackageName Ġ= Ġcontext . packageName ĊĠĠĠĠĠĠĠ Ġval Ġentry Ġ= ĠBlack list Entry ( packageName , ĠpackageName ) ĊĠĠĠĠĠĠĠ Ġtop Apps . add Top App ( context , Ġentry ) ĊĠĠĠ Ġ} Ċ } Ċ