package Ġno . nav . pdf gen Ċ Ċ import Ġcom . fasterxml . jackson . databind . JsonNode Ċ import Ġcom . fasterxml . jackson . databind . ObjectMapper Ċ import Ġcom . fasterxml . jackson . databind . node . JsonNode Factory Ċ import Ġcom . github . j kn ack . handle bars . Context Ċ import Ġcom . github . j kn ack . handle bars . Handle bars Ċ import Ġcom . github . j kn ack . handle bars . JsonNode Value Resolver Ċ import Ġcom . github . j kn ack . handle bars . context . Map Value Resolver Ċ import Ġcom . github . j kn ack . handle bars . io . Class Path Template Loader Ċ import Ġno . nav . pdf gen . template . register Nav Helpers Ċ import Ġorg . am sh ove . k lu ent .* Ċ import Ġorg . spe k framework . spe k 2 . Spe k Ċ import Ġorg . spe k framework . spe k 2 . style . specification . describe Ċ Ċ object ĠHelper Spe k Ġ: ĠSpe k ({ ĊĠĠĠ Ġval Ġjson Node Factory Ġ= ĠJsonNode Factory . instance ĊĠĠĠ Ġval Ġenv Ġ= ĠEnvironment () ĊĠĠĠ Ġval Ġhandle bars Ġ= ĠHandle bars ( Class Path Template Loader ()). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġregister Nav Helpers ( this , Ġenv ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġjson Context ( json Node : ĠJsonNode ): ĠContext Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln ( ObjectMapper (). writeValue AsString ( json Node )) ĊĠĠĠĠĠĠĠ Ġreturn ĠContext ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. newBuilder ( json Node ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. resolver ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJsonNode Value Resolver . INSTANCE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMap Value Resolver . INSTANCE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdescribe (" List Ġcontains Ġhelper ") Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtemplate Ġ= Ġhandle bars . compile (" helper _ templates / contains ") ĊĊĠĠĠĠĠĠĠ Ġit (" A Ġarray Ġcontaining Ġthe Ġfield Ġfish Ġshould Ġresult Ġin Ġthe Ġstring ĠIT _ CONTAIN S ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson Node Ġ= Ġjson Node Factory . object Node (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Array (" list ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Object (). put (" fish ", Ġ" test ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtemplate . apply ( json Context ( json Node )). trim () ĠshouldBe EqualTo Ġ" IT _ CONTAIN S " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" A Ġarray Ġcontaining Ġthe Ġfield Ġfish , Ġbut Ġits Ġa Ġfalse Ġboolean Ġshould Ġresult Ġin ĠNO _ CONTAIN S ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson Node Ġ= Ġjson Node Factory . object Node (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Array (" list ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Object (). put (" fish ", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtemplate . apply ( json Context ( json Node )). trim () ĠshouldBe EqualTo Ġ" NO _ CONTAIN S " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" A Ġempty Ġarray Ġshould Ġresult Ġin ĠNO _ CONTAIN S ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson Node Ġ= Ġjson Node Factory . object Node (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Array (" list ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtemplate . apply ( json Context ( json Node )). trim () ĠshouldBe EqualTo Ġ" NO _ CONTAIN S " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" A Ġarray Ġwithout Ġthe Ġfield Ġfish Ġshould Ġresult Ġin ĠNO _ CONTAIN S ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson Node Ġ= Ġjson Node Factory . object Node (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Array (" list ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Object (). put (" shark ", Ġ" something ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtemplate . apply ( json Context ( json Node )). trim () ĠshouldBe EqualTo Ġ" NO _ CONTAIN S " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" A Ġarray Ġa Ġnull Ġfish Ġfield Ġresults Ġin ĠIT _ CONTAIN S ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson Node Ġ= Ġjson Node Factory . object Node (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Array (" list "). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Object (). put Null (" fish ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtemplate . apply ( json Context ( json Node )). trim () ĠshouldBe EqualTo Ġ" NO _ CONTAIN S " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" A Ġarray Ġwith Ġtwo Ġnodes , Ġwhere Ġthe Ġsecond Ġcontains Ġthe Ġfield Ġfish Ġresults Ġin ĠIT _ CONTAIN S ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson Node Ġ= Ġjson Node Factory . object Node (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Array (" list "). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Object (). put (" shark ", Ġ" something ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Object (). put (" fish ", Ġ" test ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtemplate . apply ( json Context ( json Node )). trim () ĠshouldBe EqualTo Ġ" IT _ CONTAIN S " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" A Ġarray Ġwith Ġtwo Ġnodes , Ġwhere Ġthe Ġfield Ġfish Ġcontains Ġnull Ġon Ġthe Ġfirst Ġand Ġa Ġnormal Ġvalue Ġon Ġthe Ġsecond Ġresults Ġin ĠIT _ CONTAIN S ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson Node Ġ= Ġjson Node Factory . object Node (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Array (" list "). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Object (). put Null (" fish ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Object (). put (" fish ", Ġ" test ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtemplate . apply ( json Context ( json Node )). trim () ĠshouldBe EqualTo Ġ" IT _ CONTAIN S " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdescribe (" Any Ġoperator ") Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= Ġjson Context ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson Node Factory . object Node (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput (" a ", Ġ" a ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput (" b ", Ġ" b ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput (" c ", Ġ" c ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġit (" Should Ġresult Ġin Ġempty Ġresult Ġwhen Ġa Ġsingle Ġstatement Ġfails ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # any Ġd }} YES {{ / any }} "). apply ( context ) ĠshouldBe EqualTo Ġ"" ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" Should Ġresult Ġin Ġa ĠYES Ġwhen Ġa Ġsingle Ġstatement Ġis Ġok ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # any Ġa }} YES {{ / any }} "). apply ( context ) ĠshouldBe EqualTo Ġ" YES " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" Should Ġresult Ġin Ġa ĠYES Ġwhen Ġone Ġof Ġmultiple Ġstatements Ġis Ġok ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # any Ġd Ġe Ġf Ġa }} YES {{ / any }} "). apply ( context ) ĠshouldBe EqualTo Ġ" YES " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" Should Ġresult Ġin Ġa ĠYES Ġwhen Ġthe Ġfirst Ġof Ġmultiple Ġstatements Ġis Ġok ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # any Ġa Ġd Ġe Ġf }} YES {{ / any }} "). apply ( context ) ĠshouldBe EqualTo Ġ" YES " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" Should Ġresult Ġin Ġempty Ġresult Ġwhen Ġmany Ġstatements Ġfails ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # any Ġd Ġe Ġf Ġg }} YES {{ / any }} "). apply ( context ) ĠshouldBe EqualTo Ġ"" ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdescribe (" Datetime Ġformatting ") Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= Ġjson Context ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson Node Factory . object Node (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput (" timestamp ", Ġ" 2 0 2 0 - 0 3 - 0 3 T 1 0 : 1 5 : 3 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput (" timestamp Long ", Ġ" 2 0 2 0 - 1 0 - 0 3 T 1 0 : 1 5 : 3 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput (" date ", Ġ" 2 0 2 0 - 0 2 - 1 2 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġformat Ġas ĠNor we g ian Ġshort Ġdate Ġand Ġtime ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ Ġiso _ to _ nor _ datetime Ġtimestamp Ġ}} "). apply ( context ) ĠshouldBe EqualTo Ġ" 0 3 . 0 3 . 2 0 2 0 Ġ 1 0 : 1 5 " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġformat Ġas ĠNor we g ian Ġshort Ġdate ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ Ġiso _ to _ nor _ date Ġtimestamp Ġ}} "). apply ( context ) ĠshouldBe EqualTo Ġ" 0 3 . 0 3 . 2 0 2 0 " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġformat Ġtimestamp Ġas ĠNor we g ian Ġlong Ġdate ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ Ġiso _ to _ long _ date Ġtimestamp Long Ġ}} "). apply ( context ) ĠshouldBe EqualTo Ġ" 3 . Ġok to ber Ġ 2 0 2 0 " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġformat Ġdate Ġas ĠNor we g ian Ġlong Ġdate ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ Ġiso _ to _ long _ date Ġdate Ġ}} "). apply ( context ) ĠshouldBe EqualTo Ġ" 1 2 . Ġfe bru ar Ġ 2 0 2 0 " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdescribe (" eq ") Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= Ġjson Context ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson Node Factory . object Node (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput (" an _ int ", Ġ 1 3 3 7 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput (" a _ double ", Ġ 1 3 3 7 . 6 7 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput (" string _ with _ int ", Ġ" 1 3 3 7 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput (" string _ with _ double ", Ġ" 1 3 3 7 . 6 7 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput (" a _ string ", Ġ" im ma Ġstring ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġequal Ġself ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # eq Ġan _ int Ġan _ int Ġ}} TRUE {{ / eq }} "). apply ( context ) ĠshouldBe EqualTo Ġ" TRUE " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # eq Ġstring _ with _ int Ġstring _ with _ int Ġ}} TRUE {{ / eq }} "). apply ( context ) ĠshouldBe EqualTo Ġ" TRUE " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # eq Ġstring _ with _ double Ġstring _ with _ double Ġ}} TRUE {{ / eq }} "). apply ( context ) ĠshouldBe EqualTo Ġ" TRUE " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # eq Ġa _ string Ġa _ string Ġ}} TRUE {{ / eq }} "). apply ( context ) ĠshouldBe EqualTo Ġ" TRUE " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # eq Ġa _ double Ġa _ double Ġ}} TRUE {{ / eq }} "). apply ( context ) ĠshouldBe EqualTo Ġ" TRUE " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġequal Ġto Ġcontent ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # eq Ġan _ int Ġ\" 1 3 3 7 \" Ġ}} TRUE {{ / eq }} "). apply ( context ) ĠshouldBe EqualTo Ġ" TRUE " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġequal Ġto Ġcontent Ġ- Ġreverse ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # eq Ġ\" 1 3 3 7 \" Ġan _ int Ġ}} TRUE {{ / eq }} "). apply ( context ) ĠshouldBe EqualTo Ġ" TRUE " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġequal Ġint Ġto Ġstring Ġif Ġstring Ġhas Ġsame Ġcontent ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # eq Ġan _ int Ġstring _ with _ int Ġ}} TRUE {{ / eq }} "). apply ( context ) ĠshouldBe EqualTo Ġ" TRUE " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġequal Ġint Ġto Ġstring Ġif Ġstring Ġhas Ġsame Ġcontent Ġ- Ġreverse ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # eq Ġstring _ with _ int Ġan _ int Ġ}} TRUE {{ / eq }} "). apply ( context ) ĠshouldBe EqualTo Ġ" TRUE " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġequal Ġdouble Ġto Ġstring Ġif Ġstring Ġhas Ġsame Ġcontent ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # eq Ġa _ double Ġstring _ with _ double Ġ}} TRUE {{ / eq }} "). apply ( context ) ĠshouldBe EqualTo Ġ" TRUE " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġequal Ġdouble Ġto Ġstring Ġif Ġstring Ġhas Ġsame Ġcontent Ġ- Ġreverse ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # eq Ġstring _ with _ double Ġa _ double }} TRUE {{ / eq }} "). apply ( context ) ĠshouldBe EqualTo Ġ" TRUE " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġnot Ġequal Ġif Ġnot Ġequal ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # eq Ġan _ int Ġa _ double }} TRUE {{ else }} FALSE {{ / eq }} "). apply ( context ) ĠshouldBe EqualTo Ġ" FALSE " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġnot Ġequal Ġif Ġnull Ġor Ġempty ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # eq Ġan _ int Ġdoesnt _ exist }} TRUE {{ else }} FALSE {{ / eq }} "). apply ( context ) ĠshouldBe EqualTo Ġ" FALSE " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # eq Ġan _ int Ġnull }} TRUE {{ else }} FALSE {{ / eq }} "). apply ( context ) ĠshouldBe EqualTo Ġ" FALSE " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdescribe (" not _ eq ") Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= Ġjson Context ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson Node Factory . object Node (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput (" an _ int ", Ġ 1 3 3 7 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput (" a _ double ", Ġ 1 3 3 7 . 6 7 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput (" string _ with _ int ", Ġ" 1 3 3 7 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput (" string _ with _ double ", Ġ" 1 3 3 7 . 6 7 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput (" a _ string ", Ġ" im ma Ġstring ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġreturn Ġfalse Ġwhen Ġcompared Ġto Ġone Ġself ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # not _ eq Ġan _ int Ġan _ int Ġ}} TRUE {{ else }} FALSE {{ / not _ eq }} "). apply ( context ) ĠshouldBe EqualTo Ġ" FALSE " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # not _ eq Ġstring _ with _ int Ġstring _ with _ int Ġ}} TRUE {{ else }} FALSE {{ / not _ eq }} "). apply ( context ) ĠshouldBe EqualTo Ġ" FALSE " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # not _ eq Ġstring _ with _ double Ġstring _ with _ double Ġ}} TRUE {{ else }} FALSE {{ / not _ eq }} "). apply ( context ) ĠshouldBe EqualTo Ġ" FALSE " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # not _ eq Ġa _ string Ġa _ string Ġ}} TRUE {{ else }} FALSE {{ / not _ eq }} "). apply ( context ) ĠshouldBe EqualTo Ġ" FALSE " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # not _ eq Ġa _ double Ġa _ double Ġ}} TRUE {{ else }} FALSE {{ / not _ eq }} "). apply ( context ) ĠshouldBe EqualTo Ġ" FALSE " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġreturn Ġtrue Ġif Ġdifferent Ġcontent ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # not _ eq Ġan _ int Ġ\" 1 3 3 8 \" Ġ}} TRUE {{ / not _ eq }} "). apply ( context ) ĠshouldBe EqualTo Ġ" TRUE " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġreturn Ġtrue Ġif Ġdifferent Ġcontent Ġ- Ġreverse ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # not _ eq Ġ\" 1 3 3 8 \" Ġan _ int Ġ}} TRUE {{ / not _ eq }} "). apply ( context ) ĠshouldBe EqualTo Ġ" TRUE " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġreturn Ġtrue Ġif Ġdifferent Ġvalues ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # not _ eq Ġan _ int Ġa _ double }} TRUE {{ else }} FALSE {{ / not _ eq }} "). apply ( context ) ĠshouldBe EqualTo Ġ" TRUE " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġreturn Ġtrue Ġcompared Ġtwo Ġnull Ġor Ġempty ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # not _ eq Ġan _ int Ġdoesnt _ exist }} TRUE {{ else }} FALSE {{ / not _ eq }} "). apply ( context ) ĠshouldBe EqualTo Ġ" TRUE " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # not _ eq Ġan _ int Ġnull }} TRUE {{ else }} FALSE {{ / not _ eq }} "). apply ( context ) ĠshouldBe EqualTo Ġ" TRUE " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdescribe (" gt Ġ- Ġgreater Ġthan ") Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= Ġjson Context ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson Node Factory . object Node (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput (" small _ int ", Ġ- 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput (" large _ int ", Ġ 1 3 3 7 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput (" small _ double ", Ġ- 1 . 6 7 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput (" large _ double ", Ġ 1 3 3 7 . 6 7 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput (" a _ string ", Ġ" Adam ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput (" z _ string ", Ġ" Z or ro ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġreturn Ġfalse Ġwhen Ġcompared Ġto Ġone Ġself ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # gt Ġsmall _ int Ġsmall _ int Ġ}} TRUE {{ else }} FALSE {{ / gt }} "). apply ( context ) ĠshouldBe EqualTo Ġ" FALSE " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # gt Ġsmall _ double Ġsmall _ double Ġ}} TRUE {{ else }} FALSE {{ / gt }} "). apply ( context ) ĠshouldBe EqualTo Ġ" FALSE " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # gt Ġa _ string Ġa _ string Ġ}} TRUE {{ else }} FALSE {{ / gt }} "). apply ( context ) ĠshouldBe EqualTo Ġ" FALSE " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġreturn Ġtrue Ġwhen Ġfirst Ġparam Ġgreater Ġthan Ġsecond Ġparam ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # gt Ġlarge _ int Ġsmall _ int Ġ}} TRUE {{ else }} FALSE {{ / gt }} "). apply ( context ) ĠshouldBe EqualTo Ġ" TRUE " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # gt Ġlarge _ double Ġsmall _ double Ġ}} TRUE {{ else }} FALSE {{ / gt }} "). apply ( context ) ĠshouldBe EqualTo Ġ" TRUE " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # gt Ġz _ string Ġa _ string Ġ}} TRUE {{ else }} FALSE {{ / gt }} "). apply ( context ) ĠshouldBe EqualTo Ġ" TRUE " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġreturn Ġfalse Ġwhen Ġfirst Ġparam Ġless Ġthan Ġsecond Ġparam ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # gt Ġsmall _ int Ġlarge _ int Ġ}} TRUE {{ else }} FALSE {{ / gt }} "). apply ( context ) ĠshouldBe EqualTo Ġ" FALSE " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # gt Ġsmall _ double Ġlarge _ double Ġ}} TRUE {{ else }} FALSE {{ / gt }} "). apply ( context ) ĠshouldBe EqualTo Ġ" FALSE " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # gt Ġa _ string Ġz _ string Ġ}} TRUE {{ else }} FALSE {{ / gt }} "). apply ( context ) ĠshouldBe EqualTo Ġ" FALSE " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġfail Ġif Ġargument Ġare Ġnot Ġof Ġsame Ġtype ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvoking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # gt Ġint _ string Ġlarge _ int Ġ}} TRUE {{ else }} FALSE {{ / gt }} "). apply ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġshould Throw ĠAny Exception ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvoking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # gt Ġsmall _ double Ġa _ string Ġ}} TRUE {{ else }} FALSE {{ / gt }} "). apply ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġshould Throw ĠAny Exception ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvoking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # gt Ġsmall _ double Ġsmall _ int Ġ}} TRUE {{ else }} FALSE {{ / gt }} "). apply ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġshould Throw ĠAny Exception ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġfail Ġif Ġcomparing Ġtwo Ġnull Ġor Ġempty ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvoking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # gt Ġint _ string Ġno exists Ġ}} TRUE {{ else }} FALSE {{ / gt }} "). apply ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġshould Throw ĠAny Exception ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvoking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # gt Ġsmall _ double Ġnull Ġ}} TRUE {{ else }} FALSE {{ / gt }} "). apply ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġshould Throw ĠAny Exception ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvoking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # gt Ġsmall _ double Ġ}} TRUE {{ else }} FALSE {{ / gt }} "). apply ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġshould Throw ĠAny Exception ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdescribe (" lt Ġ- Ġless Ġthan ") Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= Ġjson Context ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson Node Factory . object Node (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput (" small _ int ", Ġ- 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput (" large _ int ", Ġ 1 3 3 7 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput (" small _ double ", Ġ- 1 . 6 7 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput (" large _ double ", Ġ 1 3 3 7 . 6 7 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput (" a _ string ", Ġ" Adam ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput (" z _ string ", Ġ" Z or ro ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġreturn Ġfalse Ġwhen Ġcompared Ġto Ġone Ġself ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # lt Ġsmall _ int Ġsmall _ int Ġ}} TRUE {{ else }} FALSE {{ / lt }} "). apply ( context ) ĠshouldBe EqualTo Ġ" FALSE " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # lt Ġsmall _ double Ġsmall _ double Ġ}} TRUE {{ else }} FALSE {{ / lt }} "). apply ( context ) ĠshouldBe EqualTo Ġ" FALSE " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # lt Ġa _ string Ġa _ string Ġ}} TRUE {{ else }} FALSE {{ / lt }} "). apply ( context ) ĠshouldBe EqualTo Ġ" FALSE " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġreturn Ġfalse Ġwhen Ġfirst Ġparam Ġgreater Ġthan Ġsecond Ġparam ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # lt Ġlarge _ int Ġsmall _ int Ġ}} TRUE {{ else }} FALSE {{ / lt }} "). apply ( context ) ĠshouldBe EqualTo Ġ" FALSE " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # lt Ġlarge _ double Ġsmall _ double Ġ}} TRUE {{ else }} FALSE {{ / lt }} "). apply ( context ) ĠshouldBe EqualTo Ġ" FALSE " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # lt Ġz _ string Ġa _ string Ġ}} TRUE {{ else }} FALSE {{ / lt }} "). apply ( context ) ĠshouldBe EqualTo Ġ" FALSE " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġreturn Ġtrue Ġwhen Ġfirst Ġparam Ġless Ġthan Ġsecond Ġparam ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # lt Ġsmall _ int Ġlarge _ int Ġ}} TRUE {{ else }} FALSE {{ / lt }} "). apply ( context ) ĠshouldBe EqualTo Ġ" TRUE " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # lt Ġsmall _ double Ġlarge _ double Ġ}} TRUE {{ else }} FALSE {{ / lt }} "). apply ( context ) ĠshouldBe EqualTo Ġ" TRUE " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # lt Ġa _ string Ġz _ string Ġ}} TRUE {{ else }} FALSE {{ / lt }} "). apply ( context ) ĠshouldBe EqualTo Ġ" TRUE " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġfail Ġif Ġargument Ġare Ġnot Ġof Ġsame Ġtype ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvoking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # gt Ġint _ string Ġlarge _ int Ġ}} TRUE {{ else }} FALSE {{ / gt }} "). apply ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġshould Throw ĠAny Exception ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvoking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # gt Ġsmall _ double Ġa _ string Ġ}} TRUE {{ else }} FALSE {{ / gt }} "). apply ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġshould Throw ĠAny Exception ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvoking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # gt Ġsmall _ double Ġsmall _ int Ġ}} TRUE {{ else }} FALSE {{ / gt }} "). apply ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġshould Throw ĠAny Exception ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġfail Ġif Ġcomparing Ġtwo Ġnull Ġor Ġempty ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvoking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # gt Ġint _ string Ġno exists Ġ}} TRUE {{ else }} FALSE {{ / gt }} "). apply ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġshould Throw ĠAny Exception ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvoking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # gt Ġsmall _ double Ġnull Ġ}} TRUE {{ else }} FALSE {{ / gt }} "). apply ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġshould Throw ĠAny Exception ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvoking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # gt Ġsmall _ double Ġ}} TRUE {{ else }} FALSE {{ / gt }} "). apply ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġshould Throw ĠAny Exception ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdescribe (" Currency Ġformatting ") Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= Ġjson Context ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson Node Factory . object Node (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput (" bel Ã¸ p ", Ġ 1 3 3 7 . 6 9 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput (" bel Ã¸ p _ single _ decimal ", Ġ 1 3 3 7 . 6 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput (" bel Ã¸ p _ integer ", Ġ 9 0 0 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput (" bel Ã¸ p _ st ort ", Ġ 1 3 3 7 4 2 0 . 6 9 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġformat Ġnumber Ġas Ġcurrency ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ Ġcurrency _ no Ġbel Ã¸ p Ġ}} "). apply ( context ) ĠshouldBe EqualTo Ġ" 1 Ġ 3 3 7 , 6 9 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ Ġcurrency _ no Ġbel Ã¸ p _ single _ decimal Ġ}} "). apply ( context ) ĠshouldBe EqualTo Ġ" 1 Ġ 3 3 7 , 6 0 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ Ġcurrency _ no Ġbel Ã¸ p _ integer Ġ}} "). apply ( context ) ĠshouldBe EqualTo Ġ" 9 Ġ 0 0 1 , 0 0 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ Ġcurrency _ no Ġbel Ã¸ p _ st ort Ġ}} "). apply ( context ) ĠshouldBe EqualTo Ġ" 1 Ġ 3 3 7 Ġ 4 2 0 , 6 9 " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġformat Ġnumber Ġas Ġcurrency Ġwithout Ġdecimals ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ Ġcurrency _ no Ġbel Ã¸ p Ġtrue Ġ}} "). apply ( context ) ĠshouldBe EqualTo Ġ" 1 Ġ 3 3 7 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ Ġcurrency _ no Ġbel Ã¸ p _ st ort Ġtrue Ġ}} "). apply ( context ) ĠshouldBe EqualTo Ġ" 1 Ġ 3 3 7 Ġ 4 2 0 " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdescribe (" Is Ġdefined ") Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= Ġjson Context ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson Node Factory . object Node (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput (" some Property ", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġoutput ĠIS ĠDEFIN ED Ġif Ġsome Property Ġis Ġdefined ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # is _ defined Ġsome Property Ġ}} IS ĠDEFIN ED {{ / is _ defined Ġ}} "). apply ( context ) ĠshouldBe EqualTo Ġ" IS ĠDEFIN ED " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġoutput Ġempty Ġstring Ġif Ġsome Other Property Ġis Ġnot Ġdefined ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # is _ defined Ġsome Other Property Ġ}} IS ĠDEFIN ED {{ / is _ defined Ġ}} "). apply ( context ) ĠshouldBe EqualTo Ġ"" ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdescribe (" contains _ all ") Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= Ġjson Context ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson Node Factory . object Node (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Array (" my List ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add (" FIRST _ VAL ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add (" SECOND _ VAL ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add (" TH IRD _ VAL ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Array (" emptyList ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġfind Ġsingle Ġparam Ġthat Ġmatches ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ # contains _ all Ġmy List Ġ\" FIRST _ VAL \" }} FOUND ! {{ else }} NOTH ING ! {{ / contains _ all Ġ}} "). apply ( context ) ĠshouldBe EqualTo Ġ" FOUND !" ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġfind Ġall Ġvalues Ġwithout Ġorder ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (""" {{ # contains _ all Ġmy List Ġ" FIRST _ VAL " Ġ" TH IRD _ VAL " Ġ" SECOND _ VAL "}} FOUND ! {{ else }} NOTH ING ! {{ / contains _ all Ġ}} "" "). apply ( context ) ĠshouldBe EqualTo Ġ" FOUND !" ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġnot Ġfind Ġif Ġat Ġleast Ġone Ġdid Ġnot Ġmatch ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (""" {{ # contains _ all Ġmy List Ġ" FIRST _ VAL " Ġ" TH IRD _ VAL " Ġ" UNKNOWN "}} FOUND ! {{ else }} NOTH ING ! {{ / contains _ all Ġ}} "" "). apply ( context ) ĠshouldBe EqualTo Ġ" NOTH ING !" ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġnot Ġfind Ġif Ġempty Ġparameter ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (""" {{ # contains _ all Ġmy List Ġ"" }} FOUND ! {{ else }} NOTH ING ! {{ / contains _ all Ġ}} "" "). apply ( context ) ĠshouldBe EqualTo Ġ" NOTH ING !" ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġnot Ġfind Ġif Ġno Ġparameter ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (""" {{ # contains _ all Ġmy List }} FOUND ! {{ else }} NOTH ING ! {{ / contains _ all Ġ}} "" "). apply ( context ) ĠshouldBe EqualTo Ġ" NOTH ING !" ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġnot Ġfail Ġif Ġlist Ġis Ġempty ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (""" {{ # contains _ all Ġempty List Ġ" UNKNOWN "}} FOUND ! {{ else }} NOTH ING ! {{ / contains _ all Ġ}} "" "). apply ( context ) ĠshouldBe EqualTo Ġ" NOTH ING !" ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġthrow Ġexception Ġif Ġunknown Ġlist ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvoking Ġ{ Ġhandle bars . compile Inline (""" {{ # contains _ all Ġdont exist Ġ" UNKNOWN "}} FOUND ! {{ else }} NOTH ING ! {{ / contains _ all Ġ}} "" "). apply ( context ) Ġ} Ġshould Throw ĠAny Exception ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdescribe (" Cap it il ize Ġall ") Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= Ġjson Context ( json Node Factory . object Node ()) ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġcapital ize Ġall Ġup pers ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ capitalize _ names Ġ\" BR AGE ĠBR UK ER ĠO LS EN \" }} "). apply ( context ) ĠshouldBe EqualTo Ġ" Br age ĠB ru ker ĠO ls en " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġcapital ize Ġall Ġlower ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ capitalize _ names Ġ\" br age Ġbru ker Ġo ls en \" }} "). apply ( context ) ĠshouldBe EqualTo Ġ" Br age ĠB ru ker ĠO ls en " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġcapital ize Ġall Ġwhen Ġmixed Ġupper Ġthen Ġlower ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ capitalize _ names Ġ\" BR age ĠB RU ker ĠO LS En \" }} "). apply ( context ) ĠshouldBe EqualTo Ġ" Br age ĠB ru ker ĠO ls en " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġcapital ize Ġall Ġwhen Ġmixed Ġlower Ġthen Ġupper ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ capitalize _ names Ġ\" br AGE Ġbru Ker Ġo Ls En \" }} "). apply ( context ) ĠshouldBe EqualTo Ġ" Br age ĠB ru ker ĠO ls en " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġhandle Ġmultiple Ġspace ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ capitalize _ names Ġ\" ĠĠ ĠBR AGE ĠĠ ĠBR UK ER ĠĠ ĠO LS EN ĠĠĠ Ġ\" }} "). apply ( context ) ĠshouldBe EqualTo Ġ" Br age ĠB ru ker ĠO ls en " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġcapital ize Ġnames Ġsplit ted Ġby Ġdash Ġ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ capitalize _ names Ġ\" ĠBR AGE - BR UK ER ĠO LS EN Ġ\" }} "). apply ( context ) ĠshouldBe EqualTo Ġ" Br age - B ru ker ĠO ls en " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġcapital ize Ġnames Ġsplit ted Ġby Ġdash Ġwith Ġspace c Ġin Ġbetween Ġ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ capitalize _ names Ġ\" ĠBR AGE Ġ- ĠBR UK ER ĠO LS EN Ġ\" }} "). apply ( context ) ĠshouldBe EqualTo Ġ" Br age - B ru ker ĠO ls en " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġcapital ize Ġnames Ġsplit ted Ġby Ġa post rop he ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ capitalize _ names Ġ\" ĠO ' SHE A ĠO LS EN Ġ\" }} "). apply ( context ) ĠshouldBe EqualTo Ġ" O ' She a ĠO ls en " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġdo Ġnothing Ġif Ġalready Ġcap it il ized ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ capitalize _ names Ġ\" Br age ĠB ru ker ĠO ls en \" }} "). apply ( context ) ĠshouldBe EqualTo Ġ" Br age ĠB ru ker ĠO ls en " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġdo Ġnothing Ġif Ġalready Ġcap it il ized Ġ- Ġsingle Ġword ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ capitalize _ names Ġ\" Br age \" }} "). apply ( context ) ĠshouldBe EqualTo Ġ" Br age " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdescribe (" break lines ") Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= Ġjson Context ( json Node Factory . object Node ()) ĊĊĠĠĠĠĠĠĠ Ġit (" Should Ġreplace Ġ\\ r \\ n Ġwith Ġnewline ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ break lines Ġ\" I Ġpit ty Ġthe Ġf ool Ġ\\ r \\ n ĠWho Ġdoesn 't Ġbr \" }} "). apply ( context ) ĠshouldBe EqualTo Ġ" I Ġpit ty Ġthe Ġf ool Ġ< br > ĠWho Ġdoesn &# x 2 7 ; t Ġbr " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" Should Ġreplace Ġ\\ n Ġwith Ġnewline ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle bars . compile Inline (" {{ break lines Ġ\" I Ġpit ty Ġthe Ġf ool Ġ\\ n ĠWho Ġdoesn 't Ġbr \" }} "). apply ( context ) ĠshouldBe EqualTo Ġ" I Ġpit ty Ġthe Ġf ool Ġ< br > ĠWho Ġdoesn &# x 2 7 ; t Ġbr " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }) Ċ