/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠMar cel ĠBr use Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġde . an ew . activities . tasks Ċ Ċ import Ġandroidx . test . ext . junit . runners . Android JUnit 4 Ċ import Ġde . an ew . models . task . Task Ċ import Ġde . an ew . models . time . Daily Ċ import Ġde . an ew . models . time . Week ly Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . th reet en . bp . Clock Ċ import Ġorg . th reet en . bp . Z onedDateTime Ċ import Ġjava . util .* Ċ Ċ @ RunWith ( Android JUnit 4 :: class ) Ċ class ĠTime To Due Date Formatter Test Ġ: ĠLocalization Test () Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdue Now () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnow Ġ= ĠZ onedDateTime . parse (" 2 0 1 9 - 1 1 - 1 6 T 0 0 : 0 0 : 0 0 + 0 1 : 0 0 [ Europe / Ber lin ]") ĊĠĠĠĠĠĠĠ Ġval ĠstartTime Ġ= Ġnow . minus Days ( 3 ) ĊĠĠĠĠĠĠĠ Ġval Ġlast Ful fillment Time Ġ= Ġnow . minus Days ( 2 ) ĊĠĠĠĠĠĠĠ Ġval Ġfixed Clock Ġ= ĠClock . fixed ( now . to Instant (), Ġnow . zone ) ĊĠĠĠĠĠĠĠ Ġval Ġtask Ġ= ĠTask ( 0 L , Ġ" Task ", ĠDaily ( fixed Clock ), ĠstartTime , Ġlast Ful fillment Time ) ĊĠĠĠĠĠĠĠ Ġcheck Format Of ( task , Ġ" Daily ĠÂ· ĠDue Ġin Ġ 0 Ġseconds ", Ġen EN ) ĊĠĠĠĠĠĠĠ Ġcheck Format Of ( task , Ġ" T Ã¤ g lich ĠÂ· ĠF Ã¤ll ig Ġin Ġ 0 ĠSe k unden ", Ġde DE ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdue In Two Minutes () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnow Ġ= ĠZ onedDateTime . parse (" 2 0 1 9 - 1 1 - 1 6 T 2 3 : 5 8 : 0 0 + 0 1 : 0 0 [ Europe / Ber lin ]") ĊĠĠĠĠĠĠĠ Ġval Ġyesterday At The Same Time Ġ= Ġnow . minus Days ( 1 ) ĊĠĠĠĠĠĠĠ Ġval Ġfixed Clock Ġ= ĠClock . fixed ( now . to Instant (), Ġnow . zone ) ĊĠĠĠĠĠĠĠ Ġval Ġtask Ġ= ĠTask ( 0 L , Ġ" Task ", ĠDaily ( fixed Clock ), Ġnow , Ġyesterday At The Same Time ) ĊĠĠĠĠĠĠĠ Ġcheck Format Of ( task , Ġ" Daily ĠÂ· ĠDue Ġin Ġ 2 Ġminutes ", Ġen EN ) ĊĠĠĠĠĠĠĠ Ġcheck Format Of ( task , Ġ" T Ã¤ g lich ĠÂ· ĠF Ã¤ll ig Ġin Ġ 2 ĠMin uten ", Ġde DE ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġover due Since One Second () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnow Ġ= ĠZ onedDateTime . parse (" 2 0 1 9 - 1 1 - 1 6 T 0 0 : 0 0 : 0 1 + 0 1 : 0 0 [ Europe / Ber lin ]") ĊĠĠĠĠĠĠĠ Ġval ĠstartTime Ġ= Ġnow . minus Days ( 3 ) ĊĠĠĠĠĠĠĠ Ġval Ġlast Ful fillment Time Ġ= Ġnow . minus Days ( 2 ) ĊĠĠĠĠĠĠĠ Ġval Ġfixed Clock Ġ= ĠClock . fixed ( now . to Instant (), Ġnow . zone ) ĊĠĠĠĠĠĠĠ Ġval Ġtask Ġ= ĠTask ( 0 L , Ġ" Task ", ĠDaily ( fixed Clock ), ĠstartTime , Ġlast Ful fillment Time ) ĊĠĠĠĠĠĠĠ Ġcheck Format Of ( task , Ġ" Daily ĠÂ· ĠOver due Ġsince Ġ 1 Ġsecond ", Ġen EN ) ĊĠĠĠĠĠĠĠ Ġcheck Format Of ( task , Ġ" T Ã¤ g lich ĠÂ· ĠÃľber f Ã¤ll ig Ġse it Ġ 1 ĠSe k unde ", Ġde DE ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġover due Since Two Minutes () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnow Ġ= ĠZ onedDateTime . parse (" 2 0 1 9 - 1 1 - 1 6 T 0 0 : 0 2 : 0 0 + 0 1 : 0 0 [ Europe / Ber lin ]") ĊĠĠĠĠĠĠĠ Ġval ĠstartTime Ġ= Ġnow . minus Days ( 3 ) ĊĠĠĠĠĠĠĠ Ġval Ġlast Ful fillment Time Ġ= Ġnow . minus Days ( 2 ) ĊĠĠĠĠĠĠĠ Ġval Ġfixed Clock Ġ= ĠClock . fixed ( now . to Instant (), Ġnow . zone ) ĊĠĠĠĠĠĠĠ Ġval Ġtask Ġ= ĠTask ( 0 L , Ġ" Task ", ĠDaily ( fixed Clock ), ĠstartTime , Ġlast Ful fillment Time ) ĊĠĠĠĠĠĠĠ Ġcheck Format Of ( task , Ġ" Daily ĠÂ· ĠOver due Ġsince Ġ 2 Ġminutes ", Ġen EN ) ĊĠĠĠĠĠĠĠ Ġcheck Format Of ( task , Ġ" T Ã¤ g lich ĠÂ· ĠÃľber f Ã¤ll ig Ġse it Ġ 2 ĠMin uten ", Ġde DE ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdone Daily () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnow Ġ= ĠZ onedDateTime . parse (" 2 0 1 9 - 1 1 - 1 6 T 0 0 : 0 2 : 0 0 + 0 1 : 0 0 [ Europe / Ber lin ]") ĊĠĠĠĠĠĠĠ Ġval Ġfixed Clock Ġ= ĠClock . fixed ( now . to Instant (), Ġnow . zone ) ĊĠĠĠĠĠĠĠ Ġval Ġtask Ġ= ĠTask ( 0 L , Ġ" Task ", ĠDaily ( fixed Clock ), Ġnow , Ġnow . plus Minutes ( 2 )) ĊĠĠĠĠĠĠĠ Ġcheck Format Of ( task , Ġ" Daily ĠÂ· ĠDone ", Ġen EN ) ĊĠĠĠĠĠĠĠ Ġcheck Format Of ( task , Ġ" T Ã¤ g lich ĠÂ· ĠEr led igt ", Ġde DE ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdone Week ly () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnow Ġ= ĠZ onedDateTime . parse (" 2 0 1 9 - 1 1 - 1 6 T 0 0 : 0 2 : 0 0 + 0 1 : 0 0 [ Europe / Ber lin ]") ĊĠĠĠĠĠĠĠ Ġval Ġfixed Clock Ġ= ĠClock . fixed ( now . to Instant (), Ġnow . zone ) ĊĠĠĠĠĠĠĠ Ġval Ġtask Ġ= ĠTask ( 0 L , Ġ" Task ", ĠWeek ly ( fixed Clock ), Ġnow , Ġnow . plus Minutes ( 2 )) ĊĠĠĠĠĠĠĠ Ġcheck Format Of ( task , Ġ" Week ly ĠÂ· ĠDone ", Ġen EN ) ĊĠĠĠĠĠĠĠ Ġcheck Format Of ( task , Ġ" W Ã¶ ch ent lich ĠÂ· ĠEr led igt ", Ġde DE ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcheck Format Of ( task : ĠTask , Ġexpected : ĠString , Ġlocale : ĠLocale ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= Ġcreate New Context With Locale ( locale ) ĊĠĠĠĠĠĠĠ ĠassertThat ( context ). isNotNull ĊĠĠĠĠĠĠĠ Ġcontext ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġformat Due Date Ġ= ĠTime To Due Date Formatter ( it ). format Due Date ( task . period , Ġtask . is Ful filled (), Ġtask . due In ()) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( format Due Date ). isEqualTo ( expected ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }