package Ġcom . tt ul ka . e commerce . common . primitives Ċ Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . junit . jupiter . api . assert Throws Ċ Ċ class ĠMoney Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmoney _ value () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmoney Ġ= ĠMoney ( 1 2 . 3 4 f ) ĊĠĠĠĠĠĠĠ ĠassertThat ( money . value ()). isEqualTo ( 1 2 . 3 4 f ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmoney _ created _ for _ a _ zero _ value () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmoney Ġ= ĠMoney ( 0 f ) ĊĠĠĠĠĠĠĠ ĠassertThat ( money . value ()). isEqualTo ( 0 f ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġzero _ money _ has _ a _ zero _ value () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat ( Money . ZERO . value ()). isEqualTo ( 0 f ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmoney _ fails _ for _ a _ negative _ value () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThrows < IllegalArgumentException > Ġ{ ĠMoney (- 1 2 . 3 4 f ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmoney _ fails _ for _ a _ value _ greater _ than _ one _ m illion () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThrows < IllegalArgumentException > Ġ{ ĠMoney ( 1 0 0 0 0 0 0 . 1 f ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmoney _ is _ multiplied () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmoney Ġ= ĠMoney ( 1 2 . 3 4 f ) ĊĠĠĠĠĠĠĠ ĠassertThat ( money Ġ* Ġ 2 ). isEqualTo ( Money ( 1 2 . 3 4 f Ġ* Ġ 2 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmoney _ is _ added () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmoney Ġ= ĠMoney ( 1 2 . 3 4 f ) ĊĠĠĠĠĠĠĠ ĠassertThat ( money Ġ+ ĠMoney ( 2 . 5 f )). isEqualTo ( Money ( 1 2 . 3 4 f Ġ+ Ġ 2 . 5 f )) ĊĠĠĠ Ġ} Ċ }