3030public class MoneyTest {
3131
3232 private static final String CURRENCY_CODE = "EUR" ;
33- private Money money ;
33+ private Money mMoneyInEur ;
3434 private int mHashcode ;
3535 private String amountString = "15.75" ;
3636
3737 @ Before
3838 public void setUp () throws Exception {
39- money = new Money (new BigDecimal (amountString ), Currency .getInstance (CURRENCY_CODE ));
40- mHashcode = money .hashCode ();
39+ mMoneyInEur = new Money (new BigDecimal (amountString ), Currency .getInstance (CURRENCY_CODE ));
40+ mHashcode = mMoneyInEur .hashCode ();
4141 }
4242
4343 @ Test
@@ -64,101 +64,87 @@ public void testCreation(){
6464
6565 @ Test
6666 public void testAddition (){
67- Money result = money .add (new Money ("5" , CURRENCY_CODE ));
67+ Money result = mMoneyInEur .add (new Money ("5" , CURRENCY_CODE ));
6868 assertEquals ("20.75" , result .toPlainString ());
69- assertNotSame (result , money );
69+ assertNotSame (result , mMoneyInEur );
7070 validateImmutability ();
7171 }
7272
73- @ Test
73+ @ Test ( expected = IllegalArgumentException . class )
7474 public void testAdditionWithIncompatibleCurrency (){
7575 Money addend = new Money ("4" , "USD" );
76- Exception expectedException = null ;
77- try {
78- money .add (addend );
79- } catch (Exception e ) {
80- expectedException = e ;
81- }
82- assertNotNull (expectedException );
83- assertTrue (expectedException instanceof IllegalArgumentException );
76+ mMoneyInEur .add (addend );
8477 }
8578
8679 @ Test
8780 public void testSubtraction (){
88- Money result = money .subtract (new Money ("2" , CURRENCY_CODE ));
81+ Money result = mMoneyInEur .subtract (new Money ("2" , CURRENCY_CODE ));
8982 assertEquals (new BigDecimal ("13.75" ), result .asBigDecimal ());
90- assertNotSame (result , money );
83+ assertNotSame (result , mMoneyInEur );
9184 validateImmutability ();
9285 }
9386
94- @ Test
87+ @ Test ( expected = IllegalArgumentException . class )
9588 public void testSubtractionWithDifferentCurrency (){
9689 Money addend = new Money ("4" , "USD" );
97- Exception expectedException = null ;
98- try {
99- money .subtract (addend );
100- } catch (Exception e ) {
101- expectedException = e ;
102- }
103- assertNotNull (expectedException );
104- assertTrue (expectedException instanceof IllegalArgumentException );
90+ mMoneyInEur .subtract (addend );
10591 }
10692
10793 @ Test
10894 public void testMultiplication (){
109- Money result = money .multiply (new Money (BigDecimal .TEN , Currency .getInstance (CURRENCY_CODE )));
95+ Money result = mMoneyInEur .multiply (new Money (BigDecimal .TEN , Currency .getInstance (CURRENCY_CODE )));
11096 assertThat ("157.50" ).isEqualTo (result .toPlainString ());
111- assertThat (result ).isNotEqualTo (money );
97+ assertThat (result ).isNotEqualTo (mMoneyInEur );
11298 validateImmutability ();
11399 }
114100
115101 @ Test (expected = IllegalArgumentException .class )
116102 public void testMultiplicationWithDifferentCurrencies (){
117103 Money addend = new Money ("4" , "USD" );
118- money .multiply (addend );
104+ mMoneyInEur .multiply (addend );
119105 }
120106
121107 @ Test
122108 public void testDivision (){
123- Money result = money .divide (2 );
109+ Money result = mMoneyInEur .divide (2 );
124110 assertThat (result .toPlainString ()).isEqualTo ("7.88" );
125- assertThat (result ).isNotEqualTo (money );
111+ assertThat (result ).isNotEqualTo (mMoneyInEur );
126112 validateImmutability ();
127113 }
128114
129115 @ Test (expected = IllegalArgumentException .class )
130116 public void testDivisionWithDifferentCurrency (){
131117 Money addend = new Money ("4" , "USD" );
132- money .divide (addend );
118+ mMoneyInEur .divide (addend );
133119 }
134120
135121 @ Test
136122 public void testNegation (){
137- Money result = money .negate ();
123+ Money result = mMoneyInEur .negate ();
138124 assertThat (result .toPlainString ()).startsWith ("-" );
139125 validateImmutability ();
140126 }
141127
142128 @ Test
143129 public void testPrinting (){
144- assertEquals (money .asString (), money .toPlainString ());
145- assertEquals (amountString , money .asString ());
130+ assertEquals (mMoneyInEur .asString (), mMoneyInEur .toPlainString ());
131+ assertEquals (amountString , mMoneyInEur .asString ());
146132
147133 // the unicode for Euro symbol is \u20AC
148134 String symbol = Currency .getInstance ("EUR" ).getSymbol (Locale .GERMAN );
149135 String symbolUS = Currency .getInstance ("EUR" ).getSymbol (Locale .US );
150- assertEquals ("15,75 " + symbol , money .formattedString (Locale .GERMAN ));
151- assertEquals ("15.75 " + symbolUS , money .formattedString (Locale .US ));
136+ assertEquals ("15,75 " + symbol , mMoneyInEur .formattedString (Locale .GERMAN ));
137+ assertEquals ("15.75 " + symbolUS , mMoneyInEur .formattedString (Locale .US ));
152138
153139 //always prints with 2 decimal places only
154140 Money some = new Money ("9.7469" );
155141 assertEquals ("9.75" , some .asString ());
156142 }
157143
158144 public void validateImmutability (){
159- assertEquals (mHashcode , money .hashCode ());
160- assertEquals (amountString , money .toPlainString ());
161- assertEquals (CURRENCY_CODE , money .getCurrency ().getCurrencyCode ());
145+ assertEquals (mHashcode , mMoneyInEur .hashCode ());
146+ assertEquals (amountString , mMoneyInEur .toPlainString ());
147+ assertEquals (CURRENCY_CODE , mMoneyInEur .getCurrency ().getCurrencyCode ());
162148 }
163149
164150}
0 commit comments