package Ġcom . j ia ha oli ul iu . ch utor o . dev ic el ayer . sm spar ser . sm spar ser parameters Ċ Ċ import Ġcom . j ia ha oli ul iu . ch utor o . dev ic el ayer . sm spar ser . Sms Ċ import Ġcom . j ia ha oli ul iu . ch utor o . dev ic el ayer . sm spar ser . Sms Parser Helper Ċ import Ġcom . j ia ha oli ul iu . ch utor o . entity . Source Ċ import Ġcom . j ia ha oli ul iu . ch utor o . entity . Transaction Builder Ċ import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . Assert . assertNotNull Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . mockito . junit . Mockito JUnit Runner Ċ Ċ /** Ċ Ġ* ĠThis Ġis Ġa Ġtest Ġagainst Ġthe Ġsms Ġpatterns Ġin Ġthe Ġfactory . ĠMore Ġthan Ġa Ġunit Ġtest Ċ Ġ* Ġthis Ġis Ġthe Ġcore Ġsystem Ġtest Ġtest Ċ Ġ*/ Ċ @ RunWith ( Mockito JUnit Runner :: class ) Ċ class ĠEm ir ates NB DS ms Parameters Factory Test Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠSOURCE Ġ= ĠSource . Em ir ates N BD . toString () ĊĊĠĠĠĠĠĠĠ Ġ// ĠPattern Ġ 1 ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠP ATTERN _ 1 _ SMS _ ID : ĠLong Ġ= Ġ 6 5 4 3 ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠP ATTERN _ 1 _ SMS _ QU ANT ITY Ġ= Ġ 2 6 7 5 ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠP ATTERN _ 1 _ SMS _ DATE Ġ= Ġ 1 5 4 3 5 2 2 8 3 2 8 5 4 L ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠP ATTERN _ 1 _ SMS _ CUR RE NCY Ġ= Ġ" A ED " ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠP ATTERN _ 1 _ SMS _ DEST INATION Ġ= Ġ" ZO OM ĠS ITE Ġ 6 5 6 2 ĠB UR J ĠAL ĠSA , ĠD UB AI " ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠP ATTERN _ 1 _ SMS _ BODY Ġ= Ġ" Purchase Ġof ĠA ED Ġ 2 6 . 7 5 Ġwith ĠDeb it ĠCard Ġending Ġ 6 8 1 9 Ġat ĠZ O OM ĠS ITE Ġ 6 5 6 2 ĠB UR J ĠAL ĠSA , ĠD UB AI . ĠAv l ĠBalance Ġis ĠA ED Ġ 5 4 , 5 2 0 . 4 2 ." ĊĊĠĠĠĠĠĠĠ Ġ// ĠPattern Ġ 1 Ġ( Other Ġcurrency ) ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠP ATTERN _ 1 _ CUR RE NCY _ SMS _ ID : ĠLong Ġ= Ġ 6 5 4 3 ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠP ATTERN _ 1 _ CUR RE NCY _ SMS _ QU ANT ITY Ġ= Ġ 4 8 2 6 ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠP ATTERN _ 1 _ CUR RE NCY _ SMS _ DATE Ġ= Ġ 1 5 4 3 2 6 0 1 2 7 0 0 0 L ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠP ATTERN _ 1 _ CUR RE NCY _ SMS _ CUR RE NCY Ġ= Ġ" USD " ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠP ATTERN _ 1 _ CUR RE NCY _ SMS _ DEST INATION Ġ= Ġ" ZO OM ĠS ITE Ġ 6 5 6 2 ĠB UR J ĠAL ĠSA , ĠD UB AI " ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠP ATTERN _ 1 _ CUR RE NCY _ SMS _ BODY Ġ= Ġ" Purchase Ġof ĠUSD Ġ 4 8 . 2 6 Ġwith ĠDeb it ĠCard Ġending Ġ 6 8 1 9 Ġat ĠZ O OM ĠS ITE Ġ 6 5 6 2 ĠB UR J ĠAL ĠSA , ĠD UB AI . ĠAv l ĠBalance Ġis ĠA ED Ġ 5 4 , 5 2 0 . 4 2 ." ĊĊĊĠĠĠĠĠĠĠ Ġ// ĠPattern Ġ 2 ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠP ATTERN _ 2 _ SMS _ ID : ĠLong Ġ= Ġ 6 5 4 3 ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠP ATTERN _ 2 _ SMS _ QU ANT ITY Ġ= Ġ 7 0 0 0 0 ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠP ATTERN _ 2 _ SMS _ DATE Ġ= Ġ 1 5 4 2 3 4 6 8 0 0 0 0 0 L ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠP ATTERN _ 2 _ SMS _ CUR RE NCY Ġ= Ġ" A ED " ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠP ATTERN _ 2 _ SMS _ DEST INATION Ġ= Ġ" Bur j ĠAl ĠS alam " ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠP ATTERN _ 2 _ SMS _ BODY Ġ= Ġ" De ar ĠJ AD FL KJ AD Ġ, Ġyou Ġhave Ġmade Ġa Ġcard less Ġcash Ġwithdraw al Ġof ĠA ED Ġ 7 0 0 Ġfrom Ġyour Ġaccount Ġat ĠBur j ĠAl ĠS alam . ĠThe Ġavailable Ġaccount Ġbalance Ġis ĠA ED Ġ 5 4 , 7 5 1 . 7 7 " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġem ir ates N BD Parameters Factory Ġ= ĠEm ir ates N BD Parameters Factory () ĊĠĠĠ Ġprivate Ġval Ġsms Parser Helper : ĠS ms Parser Helper Ġ= ĠS ms Parser Helper () ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun Ġsetup () Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Pattern 1 () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠPrepare Ġthe Ġdata ĊĠĠĠĠĠĠĠ Ġval Ġsms Ġ= ĠS ms ( PATTERN _ 1 _ SMS _ ID , ĠP ATTERN _ 1 _ SMS _ BODY , ĠP ATTERN _ 1 _ SMS _ DATE ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠExecute Ġthe Ġmethod ĊĠĠĠĠĠĠĠ Ġval Ġtransaction Ġ= Ġsms Parser Helper . parse Sms To Transaction ( sms , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġem ir ates N BD Parameters Factory . create Sms Parser Parameters List ()) ĊĊĠĠĠĠĠĠĠ Ġ// ĠVerify Ġthe Ġresults ĊĠĠĠĠĠĠĠ ĠassertNotNull ( transaction ) ĊĠĠĠĠĠĠĠ Ġval Ġright Transaction Ġ= ĠTransaction Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Sms Id ( PATTERN _ 1 _ SMS _ ID ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Original Sms ( PATTERN _ 1 _ SMS _ BODY ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Quantity ( PATTERN _ 1 _ SMS _ QU ANT ITY ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Currency ( PATTERN _ 1 _ SMS _ CUR RE NCY ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Source ( SOURCE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Destination ( PATTERN _ 1 _ SMS _ DEST INATION ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setDate ( PATTERN _ 1 _ SMS _ DATE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( right Transaction , Ġtransaction ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Pattern 1 _ Other Currency () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠPrepare Ġthe Ġdata ĊĠĠĠĠĠĠĠ Ġval Ġsms Ġ= ĠS ms ( PATTERN _ 1 _ CUR RE NCY _ SMS _ ID , ĠP ATTERN _ 1 _ CUR RE NCY _ SMS _ BODY , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠP ATTERN _ 1 _ CUR RE NCY _ SMS _ DATE ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠExecute Ġthe Ġmethod ĊĠĠĠĠĠĠĠ Ġval Ġtransaction Ġ= Ġsms Parser Helper . parse Sms To Transaction ( sms , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġem ir ates N BD Parameters Factory . create Sms Parser Parameters List ()) ĊĊĠĠĠĠĠĠĠ Ġ// ĠVerify Ġthe Ġresults ĊĠĠĠĠĠĠĠ ĠassertNotNull ( transaction ) ĊĠĠĠĠĠĠĠ Ġval Ġright Transaction Ġ= ĠTransaction Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Sms Id ( PATTERN _ 1 _ CUR RE NCY _ SMS _ ID ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Original Sms ( PATTERN _ 1 _ CUR RE NCY _ SMS _ BODY ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Quantity ( PATTERN _ 1 _ CUR RE NCY _ SMS _ QU ANT ITY ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Currency ( PATTERN _ 1 _ CUR RE NCY _ SMS _ CUR RE NCY ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Source ( SOURCE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Destination ( PATTERN _ 1 _ CUR RE NCY _ SMS _ DEST INATION ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setDate ( PATTERN _ 1 _ CUR RE NCY _ SMS _ DATE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( right Transaction , Ġtransaction ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Pattern 2 () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠPrepare Ġthe Ġdata ĊĠĠĠĠĠĠĠ Ġval Ġsms Ġ= ĠS ms ( PATTERN _ 2 _ SMS _ ID , ĠP ATTERN _ 2 _ SMS _ BODY , ĠP ATTERN _ 2 _ SMS _ DATE ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠExecute Ġthe Ġmethod ĊĠĠĠĠĠĠĠ Ġval Ġtransaction Ġ= Ġsms Parser Helper . parse Sms To Transaction ( sms , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġem ir ates N BD Parameters Factory . create Sms Parser Parameters List ()) ĊĊĠĠĠĠĠĠĠ Ġ// ĠVerify Ġthe Ġresults ĊĠĠĠĠĠĠĠ ĠassertNotNull ( transaction ) ĊĠĠĠĠĠĠĠ Ġval Ġright Transaction Ġ= ĠTransaction Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Sms Id ( PATTERN _ 2 _ SMS _ ID ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Original Sms ( PATTERN _ 2 _ SMS _ BODY ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Quantity ( PATTERN _ 2 _ SMS _ QU ANT ITY ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Currency ( PATTERN _ 2 _ SMS _ CUR RE NCY ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Source ( SOURCE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Destination ( PATTERN _ 2 _ SMS _ DEST INATION ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setDate ( PATTERN _ 2 _ SMS _ DATE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( right Transaction , Ġtransaction ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ