1 package junit.samples.money; 2 3 import junit.framework.*; 4 5 public class MoneyTest extends TestCase { 6 private Money f12CHF; 7 private Money f14CHF; 8 private Money f7USD; 9 private Money f21USD; 10 11 private IMoney fMB1; 12 private IMoney fMB2; 13 14 public static void main(String args[]) { 15 junit.textui.TestRunner.run(MoneyTest.class); 16 } 17 protected void setUp() { 18 f12CHF= new Money(12, "CHF"); 19 f14CHF= new Money(14, "CHF"); 20 f7USD= new Money( 7, "USD"); 21 f21USD= new Money(21, "USD"); 22 23 fMB1= MoneyBag.create(f12CHF, f7USD); 24 fMB2= MoneyBag.create(f14CHF, f21USD); 25 } 26 public void testBagMultiply() { 27 IMoney expected= MoneyBag.create(new Money(24, "CHF"), new Money(14, "USD")); 29 assertEquals(expected, fMB1.multiply(2)); 30 assertEquals(fMB1, fMB1.multiply(1)); 31 assertTrue(fMB1.multiply(0).isZero()); 32 } 33 public void testBagNegate() { 34 IMoney expected= MoneyBag.create(new Money(-12, "CHF"), new Money(-7, "USD")); 36 assertEquals(expected, fMB1.negate()); 37 } 38 public void testBagSimpleAdd() { 39 IMoney expected= MoneyBag.create(new Money(26, "CHF"), new Money(7, "USD")); 41 assertEquals(expected, fMB1.add(f14CHF)); 42 } 43 public void testBagSubtract() { 44 IMoney expected= MoneyBag.create(new Money(-2, "CHF"), new Money(-14, "USD")); 46 assertEquals(expected, fMB1.subtract(fMB2)); 47 } 48 public void testBagSumAdd() { 49 IMoney expected= MoneyBag.create(new Money(26, "CHF"), new Money(28, "USD")); 51 assertEquals(expected, fMB1.add(fMB2)); 52 } 53 public void testIsZero() { 54 assertTrue(fMB1.subtract(fMB1).isZero()); 55 assertTrue(MoneyBag.create(new Money (0, "CHF"), new Money (0, "USD")).isZero()); 56 } 57 public void testMixedSimpleAdd() { 58 IMoney expected= MoneyBag.create(f12CHF, f7USD); 60 assertEquals(expected, f12CHF.add(f7USD)); 61 } 62 public void testBagNotEquals() { 63 IMoney bag= MoneyBag.create(f12CHF, f7USD); 64 assertFalse(bag.equals(new Money(12, "DEM").add(f7USD))); 65 } 66 public void testMoneyBagEquals() { 67 assertTrue(!fMB1.equals(null)); 68 69 assertEquals(fMB1, fMB1); 70 IMoney equal= MoneyBag.create(new Money(12, "CHF"), new Money(7, "USD")); 71 assertTrue(fMB1.equals(equal)); 72 assertTrue(!fMB1.equals(f12CHF)); 73 assertTrue(!f12CHF.equals(fMB1)); 74 assertTrue(!fMB1.equals(fMB2)); 75 } 76 public void testMoneyBagHash() { 77 IMoney equal= MoneyBag.create(new Money(12, "CHF"), new Money(7, "USD")); 78 assertEquals(fMB1.hashCode(), equal.hashCode()); 79 } 80 public void testMoneyEquals() { 81 assertTrue(!f12CHF.equals(null)); 82 Money equalMoney= new Money(12, "CHF"); 83 assertEquals(f12CHF, f12CHF); 84 assertEquals(f12CHF, equalMoney); 85 assertEquals(f12CHF.hashCode(), equalMoney.hashCode()); 86 assertTrue(!f12CHF.equals(f14CHF)); 87 } 88 public void testMoneyHash() { 89 assertTrue(!f12CHF.equals(null)); 90 Money equal= new Money(12, "CHF"); 91 assertEquals(f12CHF.hashCode(), equal.hashCode()); 92 } 93 public void testSimplify() { 94 IMoney money= MoneyBag.create(new Money(26, "CHF"), new Money(28, "CHF")); 95 assertEquals(new Money(54, "CHF"), money); 96 } 97 public void testNormalize2() { 98 Money expected= new Money(7, "USD"); 100 assertEquals(expected, fMB1.subtract(f12CHF)); 101 } 102 public void testNormalize3() { 103 IMoney ms1= MoneyBag.create(new Money(12, "CHF"), new Money(3, "USD")); 105 Money expected= new Money(4, "USD"); 106 assertEquals(expected, fMB1.subtract(ms1)); 107 } 108 public void testNormalize4() { 109 IMoney ms1= MoneyBag.create(new Money(12, "CHF"), new Money(3, "USD")); 111 Money expected= new Money(-3, "USD"); 112 assertEquals(expected, f12CHF.subtract(ms1)); 113 } 114 public void testPrint() { 115 assertEquals("[12 CHF]", f12CHF.toString()); 116 } 117 public void testSimpleAdd() { 118 Money expected= new Money(26, "CHF"); 120 assertEquals(expected, f12CHF.add(f14CHF)); 121 } 122 public void testSimpleBagAdd() { 123 IMoney expected= MoneyBag.create(new Money(26, "CHF"), new Money(7, "USD")); 125 assertEquals(expected, f14CHF.add(fMB1)); 126 } 127 public void testSimpleMultiply() { 128 Money expected= new Money(28, "CHF"); 130 assertEquals(expected, f14CHF.multiply(2)); 131 } 132 public void testSimpleNegate() { 133 Money expected= new Money(-14, "CHF"); 135 assertEquals(expected, f14CHF.negate()); 136 } 137 public void testSimpleSubtract() { 138 Money expected= new Money(2, "CHF"); 140 assertEquals(expected, f14CHF.subtract(f12CHF)); 141 } 142 } | Popular Tags |