package Ġcom . tas om ani ac . open with . settings . rating Ċ Ċ import Ġandroidx . core . content . edit Ċ import Ġcom . tas om ani ac . open with . Test SharedPreferences Ċ import Ġcom . tas om ani ac . open with . settings . rating . Ask For Rating Condition . Companion . days Ago Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . junit . Test Ċ Ċ class ĠAsk For Rating Condition Test Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġprefs Ġ= ĠTest SharedPreferences () ĊĠĠĠ Ġprivate Ġval Ġcondition Ġ= ĠAsk For Rating Condition ( prefs ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` by Ġdefault , Ġshould Ġnot Ġdisplay `() Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat ( condition . should Display ()). isFalse () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` given Ġfirst Ġlaunch Ġis Ġ 3 Ġdays Ġago Ġand Ġapp Ġstarted Ġ 5 Ġtimes , Ġshould Ġdisplay `() Ġ{ ĊĠĠĠĠĠĠĠ Ġprefs . edit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput Long ( PRE F _ KEY _ FIRST _ LA UNCH , Ġ 3 . days Ago ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġrepeat ( 5 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcondition . notify App Launch () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠassertThat ( condition . should Display ()). isTrue () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` given Ġfirst Ġlaunch Ġis Ġ 2 Ġdays Ġago Ġand Ġapp Ġstarted Ġ 5 Ġtimes , Ġshould ĠNOT Ġdisplay `() Ġ{ ĊĠĠĠĠĠĠĠ Ġprefs . edit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput Long ( PRE F _ KEY _ FIRST _ LA UNCH , Ġ 2 . days Ago ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġrepeat ( 5 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcondition . notify App Launch () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠassertThat ( condition . should Display ()). isFalse () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` given Ġfirst Ġlaunch Ġis Ġ 3 Ġdays Ġago Ġand Ġapp Ġstarted Ġ 4 Ġtimes , Ġshould ĠNOT Ġdisplay `() Ġ{ ĊĠĠĠĠĠĠĠ Ġprefs . edit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput Long ( PRE F _ KEY _ FIRST _ LA UNCH , Ġ 3 . days Ago ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġrepeat ( 4 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcondition . notify App Launch () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠassertThat ( condition . should Display ()). isFalse () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` given Ġall Ġconditions Ġare Ġmet Ġand Ġis Ġalready Ġshown , Ġshould ĠNOT Ġdisplay `() Ġ{ ĊĠĠĠĠĠĠĠ Ġprefs . edit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput Long ( PRE F _ KEY _ FIRST _ LA UNCH , Ġ 3 . days Ago ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġrepeat ( 5 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcondition . notify App Launch () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcondition . already Shown Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠ ĠassertThat ( condition . should Display ()). isFalse () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠP REF _ KEY _ FIRST _ LA UNCH Ġ= Ġ" first Launch " ĊĠĠĠ Ġ} Ċ } Ċ