package Ġcom . c andle flask . framework . domain . entities . ticker Ċ Ċ import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . Assert . assertNot Equals Ċ import Ġorg . junit . Ass ume . assume True Ċ import Ġorg . junit . Test Ċ import Ġjava . math . Round ingMode Ċ Ċ class ĠPrice C ents Test Ġ{ ĊĊĠ Ġprivate Ġval Ġrepresentation Map Ġ= ĠSample Prices . representation Map ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` when Ġgiven ĠLong , Ġreturn Ġ 2 Ġpadded Ġstandard Display `() Ġ{ ĊĠĠĠ ĠassertEquals (" 1 2 3 4 . 0 0 ", ĠPrice C ents ( 1 2 3 4 L ). standard Display ) ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` when ĠDouble Ġis Ġrounded , Ġreturn Ġce iling Ġon Ġpoint Ġ 5 +, Ġhalf Ġup Ġfor Ġbelow `() Ġ{ ĊĠĠĠ ĠassertEquals ( Round ingMode . CE IL ING , ĠPrice C ents . get Round ingMode ( 1 2 3 3 . 9 9 5 . to BigDecimal (), Ġcent Scale Ġ= Ġ 1 0 0 )) ĊĠĠĠ ĠassertEquals ( Round ingMode . HALF _ UP , ĠPrice C ents . get Round ingMode ( 1 2 3 3 . 9 3 4 . to BigDecimal (), Ġcent Scale Ġ= Ġ 1 0 0 )) ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` assume Ġrounding Ġis Ġcorrect Ġup Ġto Ġedge Ġvalue `() Ġ{ ĊĠĠĠ Ġfor Ġ( i Ġin Ġ 0 .. Long . MAX _ VALUE . count Digit ()) Ġ{ ĊĠĠĠĠĠ Ġval Ġtent h Power Ġ= Ġ 1 0 L Ġpower Ġi ĊĠĠĠĠĠ Ġval Ġdouble Ġ= Ġtent h Power Ġ+ Ġ 0 . 0 0 9 ĊĠĠĠĠĠ Ġval ĠtestCase Ġ= Ġ"$ t enth Power . 0 1 " Ġ== ĠPrice C ents ( double ). standard Display ĊĠĠĠĠĠ Ġif Ġ(! testCase ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" Fail ing Ġedge Ġvalue Ġat Ġ$ t enth Power ") ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġassume True ( testCase ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` when ĠDouble Ġis Ġrounded Ġat Ġedge Ġvalue , Ġreturn Ġcorrect Ġstandard Display `() Ġ{ ĊĠĠĠ Ġrepresentation Map . forEach Ġ{ Ġ( display , Ġvalue ) Ġ-> ĊĠĠĠĠĠ ĠassertEquals ( display , ĠPrice C ents ( value ). standard Display ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġassert Not Equals (" 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 . 0 1 ", ĠPrice C ents ( 1 0 0 _ 0 0 0 _ 0 0 0 _ 0 0 0 _ 0 0 0 . 0 0 9 ). standard Display ) ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` when ĠLong ĠMAX _ VALUE Ġcount Digit , Ġreturn Ġ 1 9 `() Ġ{ ĊĠĠĠ ĠassertEquals ( 1 9 , ĠLong . MAX _ VALUE . count Digit ()) ĊĠ Ġ} Ċ Ċ }