/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 6 . ĠSun gh you k ĠB ae Ġ< sun gh you k . bae @ gmail . com > Ċ Ġ* Ġ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 Ġcom . github . deb op . jav at imes . ranges Ċ Ċ import Ġcom . github . deb op . jav at imes . Abstract Java Times Test Ċ import Ġcom . github . deb op . jav at imes . days Ċ import Ġcom . github . deb op . jav at imes . hours Ċ import Ġcom . github . deb op . jav at imes . minus Ċ import Ġcom . github . deb op . jav at imes . plus Ċ import Ġorg . am sh ove . k lu ent . should Equal Ċ import Ġorg . am sh ove . k lu ent . should EqualTo Ċ import Ġorg . am sh ove . k lu ent . should NotEqual Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . junit . jupiter . api . assert Throws Ċ import Ġjava . time . Duration Ċ import Ġjava . util . Date ĊĊ Ċ class ĠDate Progress ion Test Ġ: ĠAbstract Java Times Test () Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` create Ġsimple `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstart Ġ= ĠDate () ĊĠĠĠĠĠĠĠ Ġval Ġend Inclusive Ġ= Ġstart Ġ+ ĠDuration . of Days ( 1 ). to Millis () ĊĊĠĠĠĠĠĠĠ Ġval Ġprogress ion Ġ= ĠDate Progress ion . from Closed Range ( start , Ġend Inclusive , Ġ 1 . hours ()) ĊĊĠĠĠĠĠĠĠ Ġprogress ion . first Ġshould Equal Ġstart ĊĠĠĠĠĠĠĠ Ġprogress ion . last Ġshould Equal Ġend Inclusive ĊĠĠĠĠĠĠĠ Ġprogress ion . step Ġshould Equal Ġ 1 . hours () ĊĊĠĠĠĠĠĠĠ Ġprogress ion . toList (). size Ġshould EqualTo Ġ 2 5 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` zero Ġstep `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinstant Ġ= ĠDate () ĊĊĠĠĠĠĠĠĠ ĠassertThrows < IllegalArgumentException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDate Progress ion . from Closed Range ( instant , Ġinstant , ĠDuration . ZERO ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` step Ġgreater Ġthan Ġrange `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstart Ġ= ĠDate () ĊĠĠĠĠĠĠĠ Ġval Ġend Inclusive Ġ= Ġstart Ġ+ ĠDuration . of Days ( 1 ). to Millis () ĊĊĠĠĠĠĠĠĠ Ġval Ġprogress ion Ġ= ĠDate Progress ion . from Closed Range ( start , Ġend Inclusive , ĠDuration . of Days ( 7 )) ĊĊĠĠĠĠĠĠĠ Ġprogress ion . first Ġshould Equal Ġstart ĊĠĠĠĠĠĠĠ Ġ// Ġlast Ġis Ġnot Ġend Inclusive , Ġstep Ġover Ġend Inclusive , Ġso Ġlast Ġis Ġequal Ġto Ġstart ĊĠĠĠĠĠĠĠ Ġprogress ion . last Ġshould Equal Ġstart ĊĠĠĠĠĠĠĠ Ġprogress ion . step Ġshould Equal Ġ 7 . days () ĊĊĠĠĠĠĠĠĠ Ġprogress ion . toList (). size Ġshould EqualTo Ġ 1 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` ste pping Ġnot Ġexact Ġend Inclusive `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstart Ġ= ĠDate () ĊĠĠĠĠĠĠĠ Ġval Ġend Inclusive Ġ= Ġstart Ġ+ ĠDuration . of Days ( 1 ). to Millis () ĊĊĠĠĠĠĠĠĠ Ġval Ġprogress ion Ġ= ĠDate Progress ion . from Closed Range ( start , Ġend Inclusive , ĠDuration . of Hours ( 5 )) ĊĊĠĠĠĠĠĠĠ Ġprogress ion . first Ġshould Equal Ġstart ĊĠĠĠĠĠĠĠ Ġprogress ion . last Ġshould Equal Ġstart Ġ+ Ġ 2 0 . hours () ĊĠĠĠĠĠĠĠ Ġprogress ion . last Ġshould NotEqual Ġend Inclusive ĊĊĠĠĠĠĠĠĠ Ġprogress ion . toList (). size Ġshould EqualTo Ġ 5 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` down To Ġprogress ion `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstart Ġ= ĠDate () ĊĠĠĠĠĠĠĠ Ġval Ġend Inclusive Ġ= Ġstart Ġ- ĠDuration . of Days ( 5 ). to Millis () ĊĠĠĠĠĠĠĠ Ġval Ġstep Ġ= ĠDuration . of Days (- 1 L ) ĊĊĠĠĠĠĠĠĠ Ġval Ġprogress ion Ġ= ĠDate Progress ion . from Closed Range ( start , Ġend Inclusive , Ġstep ) ĊĊĠĠĠĠĠĠĠ Ġprogress ion . first Ġshould Equal Ġstart ĊĠĠĠĠĠĠĠ Ġprogress ion . last Ġshould Equal Ġend Inclusive ĊĊĠĠĠĠĠĠĠ Ġprogress ion . toString () Ġshould Equal Ġ"$ start Ġdown To Ġ$ end Inclusive Ġstep Ġ${ step . neg ated () }" ĊĊĠĠĠĠĠĠĠ Ġval Ġlist Ġ= Ġprogress ion . toList () ĊĠĠĠĠĠĠĠ Ġlist . size Ġshould EqualTo Ġ 6 ĊĠĠĠĠĠĠĠ Ġlist . first () Ġshould Equal Ġstart ĊĠĠĠĠĠĠĠ Ġlist . last () Ġshould Equal Ġend Inclusive ĊĊĠĠĠ Ġ} Ċ }