/* Ċ Ġ* ĠThe ĠMIT ĠLicense Ġ( MIT ) Ċ Ġ* ĠCopyright ĠÂ© Ġ 2 0 2 1 ĠNB CO ĠY oo Money ĠLLC Ċ Ġ* Ċ Ġ* ĠPermission Ġis Ġhereby Ġgranted , Ġfree Ġof Ġcharge , Ġto Ġany Ġperson Ġobtaining Ġa Ġcopy Ġof Ġthis Ġsoftware Ġand Ċ Ġ* Ġassociated Ġdocumentation Ġfiles Ġ( the ĠâĢľ Software âĢĿ ), Ġto Ġdeal Ġin Ġthe ĠSoftware Ġwithout Ġrestriction , Ġincluding Ċ Ġ* Ġwithout Ġlimitation Ġthe Ġrights Ġto Ġuse , Ġcopy , Ġmodify , Ġmerge , Ġpublish , Ġdistribute , Ġsublicense , Ġand / or Ġsell Ġcopies Ċ Ġ* Ġof Ġthe ĠSoftware , Ġand Ġto Ġpermit Ġpersons Ġto Ġwhom Ġthe ĠSoftware Ġis Ġfurnished Ġto Ġdo Ġso , Ġsubject Ġto Ġthe Ċ Ġ* Ġfollowing Ġconditions : Ċ Ġ* Ċ Ġ* ĠThe Ġabove Ġcopyright Ġnotice Ġand Ġthis Ġpermission Ġnotice Ġshall Ġbe Ġincluded Ġin Ġall Ġcopies Ġor Ġsubstantial Ċ Ġ* Ġportions Ġof Ġthe ĠSoftware . Ċ Ġ* Ċ Ġ* ĠTHE ĠSOFTWARE ĠIS ĠPROVIDED ĠâĢľ AS ĠIS âĢĿ, ĠWITHOUT ĠWARRANTY ĠOF ĠANY ĠKIND , ĠEXPRESS ĠOR ĠIMPLIED , Ċ Ġ* ĠINCLUDING ĠBUT ĠNOT ĠLIMITED ĠTO ĠTHE ĠWARRANTIES ĠOF ĠMERCHANTABILITY , ĠFITNESS ĠFOR ĠA ĠPARTICULAR Ċ Ġ* ĠPURPOSE ĠAND ĠNONINFRINGEMENT . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE ĠAUTHORS ĠOR ĠCOPYRIGHT ĠHOLDERS ĠBE Ċ Ġ* ĠLIABLE ĠFOR ĠANY ĠCLAIM , ĠDAMAGES ĠOR ĠOTHER ĠLIABILITY , ĠWHETHER ĠIN ĠAN ĠACTION ĠOF ĠCONTRACT , ĠTORT Ċ Ġ* ĠOR ĠOTHERWISE , ĠARISING ĠFROM , ĠOUT ĠOF ĠOR ĠIN ĠCONNECTION ĠWITH ĠTHE ĠSOFTWARE ĠOR ĠTHE ĠUSE ĠOR Ċ Ġ* ĠOTHER ĠDEALINGS ĠIN ĠTHE ĠSOFTWARE . Ċ Ġ*/ Ċ Ċ package Ġru . y oom oney . sdk . k assa . payments . payment Option List Ċ Ċ import Ġorg . hamcrest . Matcher Assert . assertThat Ċ import Ġorg . hamcrest . Matchers . contains Ċ import Ġorg . hamcrest . core . Is InstanceOf . instance Of Ċ import Ġorg . junit . Test Ċ import Ġru . y oom oney . sdk . k assa . payments . checkout Parameters . Amount Ċ import Ġru . y oom oney . sdk . k assa . payments . extensions . R UB Ċ import Ġru . y oom oney . sdk . k assa . payments . model . Abstract Wallet Ċ import Ġru . y oom oney . sdk . k assa . payments . model . Anonymous User Ċ import Ġru . y oom oney . sdk . k assa . payments . model . Authorized User Ċ import Ġru . y oom oney . sdk . k assa . payments . model . Google Pay Ċ import Ġru . y oom oney . sdk . k assa . payments . model . Linked Card Ċ import Ġru . y oom oney . sdk . k assa . payments . model . New Card Ċ import Ġru . y oom oney . sdk . k assa . payments . model . Result Ċ import Ġru . y oom oney . sdk . k assa . payments . model . S ber Bank Ċ import Ġru . y oom oney . sdk . k assa . payments . model . Wallet Ċ import Ġru . y oom oney . sdk . k assa . payments . payment Option List . Mock Payment Option List Repository Ċ import Ġjava . math . BigDecimal Ċ Ċ class ĠMock Payment Option List Repository Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest No Linked Cards () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġprepare ĊĠĠĠĠĠĠĠ Ġval Ġgateway Ġ= ĠMock Payment Option List Repository ( 0 , Ġnull ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġinvoke ĊĠĠĠĠĠĠĠ Ġval Ġoptions Result Ġ= Ġgateway . get Payment Options ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAmount ( BigDecimal . TEN , ĠR UB ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAuthor ized User () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( options Result , Ġinstance Of ( Result . Success :: class . java )) ĊĠĠĠĠĠĠĠ Ġval Ġoptions Ġ= Ġ( options Result Ġas ĠResult . Success ). value ĊĊĠĠĠĠĠĠĠ Ġ// Ġassert ĊĠĠĠĠĠĠĠ ĠassertThat ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoptions , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontains ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinstance Of ( Wallet :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinstance Of ( S ber Bank :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinstance Of ( Google Pay :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinstance Of ( New Card :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest With Linked Cards () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġprepare ĊĠĠĠĠĠĠĠ Ġval Ġgateway Ġ= ĠMock Payment Option List Repository ( 3 , Ġnull ) ĊĠĠĠĠĠĠĠ Ġ// Ġinvoke ĊĊĠĠĠĠĠĠĠ Ġval Ġoptions Result Ġ= Ġgateway . get Payment Options ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAmount ( BigDecimal . TEN , ĠR UB ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAuthor ized User () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( options Result , Ġinstance Of ( Result . Success :: class . java )) ĊĠĠĠĠĠĠĠ Ġval Ġoptions Ġ= Ġ( options Result Ġas ĠResult . Success ). value ĊĊĠĠĠĠĠĠĠ Ġ// Ġassert ĊĠĠĠĠĠĠĠ ĠassertThat ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoptions , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontains ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinstance Of ( Wallet :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinstance Of ( Linked Card :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinstance Of ( Linked Card :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinstance Of ( Linked Card :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinstance Of ( S ber Bank :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinstance Of ( Google Pay :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinstance Of ( New Card :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Anonymous User () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġprepare ĊĠĠĠĠĠĠĠ Ġval Ġgateway Ġ= ĠMock Payment Option List Repository ( 3 , Ġnull ) ĊĠĠĠĠĠĠĠ Ġ// Ġinvoke ĊĠĠĠĠĠĠĠ Ġval Ġoptions Result Ġ= Ġgateway . get Payment Options ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAmount ( BigDecimal . TEN , ĠR UB ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAn onymous User ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( options Result , Ġinstance Of ( Result . Success :: class . java )) ĊĠĠĠĠĠĠĠ Ġval Ġoptions Ġ= Ġ( options Result Ġas ĠResult . Success ). value ĊĊĠĠĠĠĠĠĠ Ġ// Ġassert ĊĠĠĠĠĠĠĠ ĠassertThat ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoptions , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontains ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinstance Of ( Abstract Wallet :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinstance Of ( S ber Bank :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinstance Of ( Google Pay :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinstance Of ( New Card :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ