/* ĠCopyright Ġ 2 0 2 1 ĠBetter ĠLtd Ġ( www . better . care ) Ċ Ġ* Ċ Ġ* Ġ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 Ġcare . better . platform . web . template . converter Ċ Ċ import Ġcare . better . platform . template . Am Node Ċ import Ġcare . better . platform . web . template . ab straction . Abstract Web Template Test Ċ import Ġcare . better . platform . web . template . converter . exceptions . Conversion Exception Ċ import Ġcare . better . platform . web . template . converter . raw . context . Conversion Context Ċ import Ġcare . better . platform . web . template . converter . raw . factory . leaf . Dv Duration Factory Ċ import Ġcom . fasterxml . jackson . databind . node . Text Node Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . assertj . core . api . Assertions . assertThat Thrown By Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . open e hr . rm . datat ypes . Dv Duration Ċ Ċ /** Ċ Ġ* Ġ@ author ĠPri moz ĠDe lop st Ċ Ġ* Ġ@ since Ġ 3 . 1 . 0 Ċ Ġ*/ Ċ class ĠDuration Test Ġ: ĠAbstract Web Template Test () Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Invalid Order () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat Thrown By Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠD v Duration Factory . create ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConversion Context . create (). build (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAm Node ( null , Ġ" DV _ DURATION "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText Node . valueOf (" P 0 Y 1 M 1 D 0 WT 0 H 0 M 0 S "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠWeb Template Path (" id "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty List ()) ĊĠĠĠĠĠĠĠ Ġ}. isInstanceOf ( Conversion Exception :: class . java ). has Message (" Error Ġprocessing Ġvalue : Ġ\" P 0 Y 1 M 1 D 0 WT 0 H 0 M 0 S \" Ġ( path : Ġid ). ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Mixed () Ġ{ ĊĠĠĠĠĠĠĠ Ġvalidate Dv Duration Value (" P 0 Y 1 M 0 W 1 DT 0 H 0 M 0 S ", Ġ" P 1 M 1 D ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Negative () Ġ{ ĊĠĠĠĠĠĠĠ Ġvalidate Dv Duration Value (" P 0 Y - 1 M 0 W 1 DT 0 H 0 M 0 S ", Ġ" P - 1 M 1 D ") ĊĠĠĠĠĠĠĠ Ġvalidate Dv Duration Value (" P 0 Y 1 M 0 W - 1 DT 0 H 0 M 0 S ", Ġ" P 1 M - 1 D ") ĊĠĠĠĠĠĠĠ Ġvalidate Dv Duration Value ("- P 0 Y 1 M 1 W 1 DT 0 H 0 M 0 S ", Ġ" P - 1 M - 1 W - 1 D ") ĊĠĠĠĠĠĠĠ Ġvalidate Dv Duration Value ("- P 0 Y 1 M 1 W 1 DT 0 H 0 M 0 S ", Ġ" P - 1 M - 1 W - 1 D ") ĊĠĠĠĠĠĠĠ Ġvalidate Dv Duration Value ("- P 0 Y - 1 M 1 W 1 DT 0 H 0 M 0 S ", Ġ" P 1 M - 1 W - 1 D ") ĊĠĠĠĠĠĠĠ Ġvalidate Dv Duration Value ("- P 0 Y - 1 M - 1 W - 1 DT 0 H 0 M 0 S ", Ġ" P 1 M 1 W 1 D ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Mixed Week s And Rest () Ġ{ ĊĠĠĠĠĠĠĠ Ġvalidate Dv Duration Value (" P 0 Y 1 M 2 W 1 DT 0 H 0 M 0 S ", Ġ" P 1 M 2 W 1 D ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġvalidate Dv Duration Value ( pattern : ĠString , Ġvalue To Compare : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdv Duration 1 Ġ= ĠD v Duration Factory . create ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConversion Context . create (). build (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAm Node ( null , Ġ" DV _ DURATION "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText Node . valueOf ( pattern ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠWeb Template Path (" id "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty List ()) Ġas ĠD v Duration ĊĠĠĠĠĠĠĠ ĠassertThat ( dv Duration 1 . value ). isEqualTo ( value To Compare ) ĊĠĠĠ Ġ} Ċ } Ċ