package Ġcom . ry ftp ay . android . ui . model Ċ Ċ import Ġjunit params . JUnit Params Runner Ċ import Ġjunit params . Parameters Ċ import Ġorg . am sh ove . k lu ent . shouldBe EqualTo Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ Ċ @ RunWith ( JUnit Params Runner :: class ) Ċ internal Ġclass ĠR y ft Card Bin Range Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Parameters ( method Ġ= Ġ" invalid Sanit ised Card Numbers ") ĊĠĠĠ Ġinternal Ġfun Ġ` matches Card Number Ġshould Ġreturn Ġfalse Ġif Ġsanit ised Ġcard Ġnumber Ġis Ġinvalid `( ĊĠĠĠĠĠĠĠ Ġinvalid Card Number : ĠString ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠR y ft Card Bin Range ( min Ġ= Ġ 2 0 0 0 , Ġmax Ġ= Ġ 2 9 9 9 ). matches Card Number ( invalid Card Number ) ĠshouldBe EqualTo Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Parameters ( method Ġ= Ġ" not Matching Bin Ranges ") ĊĠĠĠ Ġinternal Ġfun Ġ` matches Card Number Ġshould Ġreturn Ġfalse Ġif Ġsanit ised Ġcard Ġnumber Ġdoes Ġnot Ġmatch Ġbin Ġrange `( ĊĠĠĠĠĠĠĠ Ġbin Range : ĠR y ft Card Bin Range , ĊĠĠĠĠĠĠĠ Ġcard Number : ĠString ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbin Range . matches Card Number ( card Number ) ĠshouldBe EqualTo Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Parameters ( method Ġ= Ġ" matching Bin Ranges ") ĊĠĠĠ Ġinternal Ġfun Ġ` matches Card Number Ġshould Ġreturn Ġtrue Ġif Ġsanit ised Ġcard Ġnumber Ġdoes Ġmatch Ġbin Ġrange `( ĊĠĠĠĠĠĠĠ Ġbin Range : ĠR y ft Card Bin Range , ĊĠĠĠĠĠĠĠ Ġcard Number : ĠString ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbin Range . matches Card Number ( card Number ) ĠshouldBe EqualTo Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinvalid Sanit ised Card Numbers (): ĠArray < String > Ġ= ĠarrayOf ( ĊĠĠĠĠĠĠĠ Ġ"" ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġfun Ġnot Matching Bin Ranges (): ĠArray < Any > Ġ= ĠarrayOf ( ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 4 , Ġmax Ġ= Ġ 4 ), Ġ" 3 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 4 , Ġmax Ġ= Ġ 4 ), Ġ" 5 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 4 , Ġmax Ġ= Ġ 4 ), Ġ" 3 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 4 , Ġmax Ġ= Ġ 4 ), Ġ" 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 3 4 , Ġmax Ġ= Ġ 3 4 ), Ġ" 2 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 3 4 , Ġmax Ġ= Ġ 3 4 ), Ġ" 3 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 3 4 , Ġmax Ġ= Ġ 3 4 ), Ġ" 4 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 3 4 , Ġmax Ġ= Ġ 3 4 ), Ġ" 3 3 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 3 4 , Ġmax Ġ= Ġ 3 4 ), Ġ" 3 5 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 3 4 , Ġmax Ġ= Ġ 3 4 ), Ġ" 3 3 9 9 9 9 9 9 9 9 9 9 9 9 9 9 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 3 4 , Ġmax Ġ= Ġ 3 4 ), Ġ" 3 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 5 1 , Ġmax Ġ= Ġ 5 5 ), Ġ" 4 0 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 5 1 , Ġmax Ġ= Ġ 5 5 ), Ġ" 4 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 5 1 , Ġmax Ġ= Ġ 5 5 ), Ġ" 5 0 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 5 1 , Ġmax Ġ= Ġ 5 5 ), Ġ" 5 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 5 1 , Ġmax Ġ= Ġ 5 5 ), Ġ" 5 6 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 5 1 , Ġmax Ġ= Ġ 5 5 ), Ġ" 6 0 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 5 1 , Ġmax Ġ= Ġ 5 5 ), Ġ" 6 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 5 1 , Ġmax Ġ= Ġ 5 5 ), Ġ" 5 0 9 9 9 9 9 9 9 9 9 9 9 9 9 9 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 5 1 , Ġmax Ġ= Ġ 5 5 ), Ġ" 5 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 2 2 2 1 , Ġmax Ġ= Ġ 2 7 2 0 ), Ġ" 2 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 2 2 2 1 , Ġmax Ġ= Ġ 2 7 2 0 ), Ġ" 2 2 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 2 2 2 1 , Ġmax Ġ= Ġ 2 7 2 0 ), Ġ" 2 2 2 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 2 2 2 1 , Ġmax Ġ= Ġ 2 7 2 0 ), Ġ" 2 2 2 0 9 9 9 9 9 9 9 9 9 9 9 9 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 2 2 2 1 , Ġmax Ġ= Ġ 2 7 2 0 ), Ġ" 2 7 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 2 2 2 1 , Ġmax Ġ= Ġ 2 7 2 0 ), Ġ" 2 7 2 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 2 2 2 1 , Ġmax Ġ= Ġ 2 7 2 0 ), Ġ" 2 7 2 1 0 0 0 0 0 0 0 0 0 0 0 0 ") ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġfun Ġmatching Bin Ranges (): ĠArray < Any > Ġ= ĠarrayOf ( ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 4 , Ġmax Ġ= Ġ 4 ), Ġ" 4 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 4 , Ġmax Ġ= Ġ 4 ), Ġ" 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 4 , Ġmax Ġ= Ġ 4 ), Ġ" 4 1 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 4 , Ġmax Ġ= Ġ 4 ), Ġ" 4 9 8 3 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 4 , Ġmax Ġ= Ġ 4 ), Ġ" 4 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 4 , Ġmax Ġ= Ġ 4 ), Ġ" 4 9 8 2 3 4 7 7 8 9 2 3 9 4 9 0 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 3 4 , Ġmax Ġ= Ġ 3 4 ), Ġ" 3 4 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 3 4 , Ġmax Ġ= Ġ 3 4 ), Ġ" 3 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 3 4 , Ġmax Ġ= Ġ 3 4 ), Ġ" 3 4 9 9 9 9 9 9 9 9 9 9 9 9 9 9 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 3 4 , Ġmax Ġ= Ġ 3 4 ), Ġ" 3 4 1 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 3 4 , Ġmax Ġ= Ġ 3 4 ), Ġ" 3 4 8 9 8 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 3 4 , Ġmax Ġ= Ġ 3 4 ), Ġ" 3 4 9 8 9 2 8 3 4 9 7 2 9 3 4 7 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 5 1 , Ġmax Ġ= Ġ 5 5 ), Ġ" 5 1 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 5 1 , Ġmax Ġ= Ġ 5 5 ), Ġ" 5 3 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 5 1 , Ġmax Ġ= Ġ 5 5 ), Ġ" 5 5 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 5 1 , Ġmax Ġ= Ġ 5 5 ), Ġ" 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 5 1 , Ġmax Ġ= Ġ 5 5 ), Ġ" 5 5 9 9 9 9 9 9 9 9 9 9 9 9 9 9 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 5 1 , Ġmax Ġ= Ġ 5 5 ), Ġ" 5 2 3 4 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 5 1 , Ġmax Ġ= Ġ 5 5 ), Ġ" 5 5 5 2 3 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 5 1 , Ġmax Ġ= Ġ 5 5 ), Ġ" 5 2 0 9 8 2 9 3 8 4 0 9 2 8 3 0 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 2 2 2 1 , Ġmax Ġ= Ġ 2 7 2 0 ), Ġ" 2 2 2 1 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 2 2 2 1 , Ġmax Ġ= Ġ 2 7 2 0 ), Ġ" 2 7 2 0 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 2 2 2 1 , Ġmax Ġ= Ġ 2 7 2 0 ), Ġ" 2 2 9 3 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 2 2 2 1 , Ġmax Ġ= Ġ 2 7 2 0 ), Ġ" 2 5 8 9 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 2 2 2 1 , Ġmax Ġ= Ġ 2 7 2 0 ), Ġ" 2 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 2 2 2 1 , Ġmax Ġ= Ġ 2 7 2 0 ), Ġ" 2 7 2 0 9 9 9 9 9 9 9 9 9 9 9 9 "), ĊĠĠĠĠĠĠĠ ĠarrayOf ( Ry ft Card Bin Range ( min Ġ= Ġ 2 2 2 1 , Ġmax Ġ= Ġ 2 7 2 0 ), Ġ" 2 4 3 2 0 9 8 2 3 0 9 4 8 0 2 3 ") ĊĠĠĠ Ġ) Ċ } Ċ