package Ġorg . echo . mobile . framework . model Ċ Ċ import Ġcom . google . common . primitives . Unsigned Long Ċ import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ Ċ /** Ċ Ġ* ĠTest Ġcases Ġfor Ġ[ Asset Amount ] Ġmodel Ċ Ġ* Ċ Ġ* Ġ@ author ĠD mit ri y ĠB ush ue v Ċ Ġ*/ Ċ class ĠAsset Amount Test Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġlarge : ĠAsset Amount ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġsmall : ĠAsset Amount ĊĠĠĠ Ġprivate Ġval Ġtest Asset Ġ= ĠAsset (" 1 . 3 . 0 ") ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġlarge Ġ= ĠAsset Amount ( Unsigned Long . valueOf ( LARGE _ AMOUNT . to Long ()), Ġtest Asset ) ĊĠĠĠĠĠĠĠ Ġsmall Ġ= ĠAsset Amount ( Unsigned Long . valueOf ( SMALL _ VALUE . to Long ()), Ġtest Asset ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Addition () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( large Ġ+ Ġsmall ). amount , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAsset Amount ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUnsigned Long . valueOf (( LARGE _ AMOUNT Ġ+ ĠSMALL _ VALUE ). to Long ()), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Asset ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). amount ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Sub traction () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( large Ġ- Ġsmall ). amount , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAsset Amount ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUnsigned Long . valueOf (( LARGE _ AMOUNT Ġ- ĠSMALL _ VALUE ). to Long ()), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Asset ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). amount ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( small Ġ- Ġlarge ). amount , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAsset Amount ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUnsigned Long . valueOf ( Math . abs ( SMALL _ VALUE Ġ- ĠL ARGE _ AMOUNT ). to Long ()), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Asset ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). amount ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Multip lication () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠTesting Ġa Ġsimple Ġmultiplication Ġby Ġa Ġdouble ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġlarge Ġ* Ġ 0 . 5 ĊĠĠĠĠĠĠĠ ĠassertEquals ( 5 0 0 , Ġresult . amount . to Long ()) ĊĊĠĠĠĠĠĠĠ Ġ// ĠTesting Ġthe Ġmultiplication Ġof Ġa Ġnumber Ġthat Ġwould Ġnormally Ġgive Ġan Ġoverflow ĊĠĠĠĠĠĠĠ Ġval Ġmax Ġ= ĠAsset Amount ( Unsigned Long . valueOf ( java . lang . Long . MAX _ VALUE ), Ġtest Asset ) ĊĠĠĠĠĠĠĠ Ġval Ġover Max Long Ġ= Ġmax Ġ* Ġ 1 . 5 ĊĠĠĠĠĠĠĠ ĠassertEquals ( MULTI PLICATION _ TEST _ EXPECTED _ RESULT , Ġover Max Long . amount . toString ( 1 0 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Division () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠTesting Ġa Ġsimple Ġdivision Ġby Ġa Ġdouble ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġlarge Ġ/ Ġ 0 . 5 ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 0 0 0 , Ġresult . amount . to Long ()) ĊĊĠĠĠĠĠĠĠ Ġ// ĠTesting Ġa Ġdivision Ġof Ġa Ġnumber Ġthat Ġwould Ġnormally Ġgive Ġan Ġoverflow ĊĠĠĠĠĠĠĠ Ġval Ġmax Ġ= ĠAsset Amount ( Unsigned Long . valueOf ( java . lang . Long . MAX _ VALUE ), Ġtest Asset ) ĊĠĠĠĠĠĠĠ Ġval Ġover Max Long Ġ= Ġmax Ġ/ Ġ 0 . 8 ĊĠĠĠĠĠĠĠ ĠassertEquals ( DIV ISION _ TEST _ EXPECTED _ RESULT , Ġover Max Long . amount . toString ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠL ARGE _ AMOUNT Ġ= Ġ 1 0 0 0 ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠSMALL _ VALUE Ġ= Ġ 5 0 0 ĊĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠMULTI PLICATION _ TEST _ EXPECTED _ RESULT Ġ= Ġ" 1 3 8 3 5 0 5 8 0 5 5 2 8 2 1 6 3 7 1 2 " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠDIV ISION _ TEST _ EXPECTED _ RESULT Ġ= Ġ" 1 1 5 2 9 2 1 5 0 4 6 0 6 8 4 6 9 7 6 0 " ĊĠĠĠ Ġ} Ċ Ċ } Ċ