/* Ġ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 . web . template . Web Template Ċ 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 Ġcom . fasterxml . jackson . core . type . Type Reference Ċ import Ġcom . fasterxml . jackson . databind . node . Object Node Ċ import Ġcare . better . platform . web . template . builder . context . Web Template Builder Context Ċ import Ġcare . better . platform . web . template . builder . Web Template Builder Ċ 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 . composition . Composition Ċ import Ġjava . io . IOException Ċ import Ġjavax . xml . bind . JAXB Exception Ċ Ċ /** Ċ Ġ* Ġ@ author ĠPri moz ĠDe lop st Ċ Ġ* Ġ@ since Ġ 3 . 1 . 0 Ċ Ġ*/ Ċ class ĠPro portion Test Ġ: ĠAbstract Web Template Test () Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ( IOException :: class , ĠJAXB Exception :: class ) ĊĠĠĠ Ġfun Ġtest Pro portion () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtemplate Name Ġ= Ġ"/ convert / templates / older / Demo ĠV it als . opt " ĊĠĠĠĠĠĠĠ Ġval Ġweb Template : ĠWeb Template Ġ= ĠWeb Template Builder . build NonNull ( get Template ( template Name ), ĠWeb Template Builder Context (" en ")) ĊĠĠĠĠĠĠĠ Ġval Ġstructured Composition : ĠObject Node Ġ= Ġget ObjectMapper (). read Tree ( get Json ("/ convert / composition s / vit als _ pro portion . json ")) Ġas ĠObject Node ĊĠĠĠĠĠĠĠ Ġval Ġcomposition : ĠComp osition ? Ġ= Ġweb Template . convert From Structured To Raw ( structured Composition , ĠConversion Context . create (). build ()) ĊĠĠĠĠĠĠĠ ĠassertThat ( composition ?. content Ġ?: Ġempty List ()). isEmpty () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ( IOException :: class , ĠJAXB Exception :: class ) ĊĠĠĠ Ġfun Ġtest Invalid Attribute Failed () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtemplate Name Ġ= Ġ"/ convert / templates / older / Demo ĠV it als . opt " ĊĠĠĠĠĠĠĠ Ġval Ġweb Template : ĠWeb Template Ġ= ĠWeb Template Builder . build NonNull ( get Template ( template Name ), ĠWeb Template Builder Context (" en ")) ĊĠĠĠĠĠĠĠ Ġval Ġstructured Composition : ĠObject Node Ġ= Ġget ObjectMapper (). read Tree ( get Json ("/ convert / composition s / vit als _ pro portion - fail . json ")) Ġas ĠObject Node ĊĠĠĠĠĠĠĠ Ġval Ġcomposition : ĠComp osition ? Ġ= Ġweb Template . convert From Structured To Raw ( structured Composition , ĠConversion Context . create (). build ()) ĊĠĠĠĠĠĠĠ ĠassertThat ( composition ?. content Ġ?: Ġempty List ()). isNotEmpty ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ( IOException :: class , ĠJAXB Exception :: class ) ĊĠĠĠ Ġfun Ġtest Invalid Denom inator Attribute () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġweb Template Ġ= ĠWeb Template Builder . build NonNull ( get Template ("/ convert / templates / Visual ĠAc u ity ĠReport . opt "), ĠWeb Template Builder Context (" en ")) ĊĠĠĠĠĠĠĠ Ġval Ġjson Ġ= Ġget Json ("/ convert / composition s / Visual ĠAc u ity ĠReport . json ") ĊĠĠĠĠĠĠĠ Ġval Ġvalues Ġ= Ġget ObjectMapper (). readValue ( json , Ġobject Ġ: ĠType Reference < Map < String , ĠAny ? >>() Ġ{}) ĊĠĠĠĠĠĠĠ ĠassertThat Thrown By Ġ{ Ġweb Template . convert From Flat To Raw < Composition >( values , ĠConversion Context . create (). build ()) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. isInstanceOf ( Conversion Exception :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. has Message Containing (" DV _ PRO PORT ION Ġhas Ġno Ġattribute Ġ| dem om inator Ġ( path : Ġvisual _ ac u ity _ report / visual _ ac u ity : 0 / any _ event : 0 / right _ eye / notation / metric _ sn ellen | dem om inator ). ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ( IOException :: class , ĠJAXB Exception :: class ) ĊĠĠĠ Ġfun Ġtest Invalid Integral () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġweb Template Ġ= ĠWeb Template Builder . build NonNull ( get Template ("/ convert / templates / Visual ĠAc u ity ĠReport . opt "), ĠWeb Template Builder Context (" en ")) ĊĠĠĠĠĠĠĠ Ġval Ġjson Ġ= Ġget Json ("/ convert / composition s / Second ĠVisual ĠAc u ity ĠReport . json ") ĊĠĠĠĠĠĠĠ Ġval Ġvalues Ġ= Ġget ObjectMapper (). readValue ( json , Ġobject Ġ: ĠType Reference < Map < String , ĠAny ? >>() Ġ{}) ĊĠĠĠĠĠĠĠ Ġval Ġcomposition : ĠComp osition ? Ġ= Ġweb Template . convert From Flat To Raw ( values , ĠConversion Context . create (). build ()) ĊĠĠĠĠĠĠĠ ĠassertThat ( composition ?. content Ġ?: Ġempty List ()). isNotEmpty ĊĠĠĠ Ġ} Ċ } Ċ