package Ġio . ro ver . ticket master Ċ Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . mock Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . verify Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . wh enever Ċ import Ġio . ro ver . campaign s . core . data . graphql . safe Opt String Ċ import Ġio . ro ver . campaign s . ticket master . Ticket master Manager . Member Ċ import Ġio . ro ver . campaign s . ticket master . decode Json Ċ import Ġio . ro ver . campaign s . ticket master . encode Json Ċ import Ġjunit . framework . Assert . assertEquals Ċ import Ġorg . json . JSONObject Ċ import Ġorg . spe k framework . spe k 2 . Spe k Ċ Ċ private Ġconst Ġval ĠID Ġ= Ġ" id " Ċ private Ġconst Ġval ĠE MAIL Ġ= Ġ" example Ġemail " Ċ private Ġconst Ġval ĠFIRST _ NAME Ġ= Ġ" example Ġfirst Ġname " Ċ Ċ object ĠTicket Master Manager Test : ĠSpe k ({ ĊĠĠĠ Ġgroup (" tm Manager Member ") Ġ{ ĊĠĠĠĠĠĠĠ Ġtest (" get NonNull Properties Map Without ID () Ġreturns Ġall Ġnon Ġnull Ġexcept ĠID Ġproperties ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmember Ġ= ĠMember ( ID , ĠE MAIL , ĠFIRST _ NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġexpected Map Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmember :: email . name Ġto ĠE MAIL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmember :: firstName . name Ġto ĠFIRST _ NAME ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( expected Map , Ġmember . get NonNull Properties Map Without Id ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtest (" get NonNull Properties Map Without ID () Ġreturns Ġempty Ġwith Ġall Ġnull Ġproperties ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmember Ġ= ĠMember ( null , Ġnull , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġexpected Map Ġ= Ġmap Of < String , ĠString >() ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( expected Map , Ġmember . get NonNull Properties Map Without Id ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtest (" encode Json () Ġadds Ġproperties Ġto ĠJSONObject ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmember Ġ= ĠMember ( ID , ĠE MAIL , ĠFIRST _ NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmock JsonObject Ġ= Ġmock < JSONObject >() ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġmember . encode Json ( mock JsonObject ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( mock JsonObject ). put ( member :: ticket master ID . name , ĠID ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( mock JsonObject ). put ( member :: firstName . name , ĠFIRST _ NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( mock JsonObject ). put ( member :: email . name , ĠE MAIL ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtest (" decode Json () Ġcreates ĠMember Ġwith Ġall Ġproperties Ġsuccessfully ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġexpected Member Ġ= ĠMember ( ID , ĠE MAIL , ĠFIRST _ NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmock JsonObject Ġ= Ġmock < JSONObject >() ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhenever ( mock JsonObject . safe Opt String (" ticket master ID ")). thenReturn ( ID ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhenever ( mock JsonObject . safe Opt String (" email ")). thenReturn ( EMAIL ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhenever ( mock JsonObject . safe Opt String (" firstName ")). thenReturn ( FIRST _ NAME ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( expected Member , ĠMember . decode Json ( mock JsonObject )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtest (" decode Json () Ġcreates ĠMember Ġfrom Ġlegacy Ġhost ID ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġexpected Member Ġ= ĠMember ( ID , Ġnull , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmock JsonObject Ġ= Ġmock < JSONObject >() ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhenever ( mock JsonObject . safe Opt String (" host ID ")). thenReturn ( ID ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( expected Member , ĠMember . decode Json ( mock JsonObject )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtest (" decode Json () Ġcreates ĠMember Ġfrom Ġlegacy Ġteam ID ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġexpected Member Ġ= ĠMember ( ID , Ġnull , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmock JsonObject Ġ= Ġmock < JSONObject >() ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhenever ( mock JsonObject . safe Opt String (" team ID ")). thenReturn ( ID ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( expected Member , ĠMember . decode Json ( mock JsonObject )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtest (" decode Json () Ġcreates ĠMember Ġwith Ġnull Ġproperties ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġexpected Member Ġ= ĠMember ( null , Ġnull , Ġnull ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmock JsonObject Ġ= Ġmock < JSONObject >() ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( expected Member , ĠMember . decode Json ( mock JsonObject )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ })