/CodePro Analytix Evaluation/src/com/instantiations/example/money/Money.java
 
Code Coverage Summary 79.3% coverage
Executable Lines 29
Line Coverage 79.3%
Block Coverage 76.9%
Instruction Coverage 86.1%
    
Legend
Line is fully covered
Line is partially covered
Line is not covered
Source
1 package com.instantiations.example.money;
2
3 /**
4  * A simple Money.
5  */
6 public class Money implements IMoney {
7
8     private int fAmount;
9     private String fCurrency;
10
11     /**
12      * Constructs a money from the given amount and currency.
13      */
14     public Money(int amount, String currency) {
15         fAmount= amount;
16         fCurrency= currency;
17     }
18     /**
19      * Adds a money to this money. Forwards the request to the addMoney helper.
20      */
21     public IMoney add(IMoney m) {
22         return m.addMoney(this);
23     }
24     public IMoney addMoney(Money m) {
25         if (m.currency().equals(currency()) )
26             return new Money(amount()+m.amount(), currency());
27         return MoneyBag.create(this, m);
28     }
29     public IMoney addMoneyBag(MoneyBag s) {
30         return s.addMoney(this);
31     }
32     public int amount() {
33         return fAmount;
34     }
35     public String currency() {
36         return fCurrency;
37     }
38     public boolean equals(Object anObject) {
39         if (isZero()) 
40             if (anObject instanceof IMoney)
41                 return ((IMoney)anObject).isZero();
42         if (anObject instanceof Money) {
43             Money aMoney= (Money)anObject;
44             return aMoney.currency().equals(currency())
45                              && amount() == aMoney.amount();
46         }
47         return false;
48     }
49     public int hashCode() {
50         return fCurrency.hashCode()+fAmount;
51     }
52     public boolean isZero() {
53         return amount() == 0;
54     }
55     public IMoney multiply(int factor) {
56         return new Money(amount()*factor, currency());
57     }
58     public IMoney negate() {
59         return new Money(-amount(), currency());
60     }
61     public IMoney subtract(IMoney m) {
62         return add(m.negate());
63     }
64     public String toString() {
65         StringBuffer buffer = new StringBuffer();
66         buffer.append("["+amount()+" "+currency()+"]");
67         return buffer.toString();
68     }
69     public /*this makes no sense*/ void appendTo(MoneyBag m) {
70         m.appendMoney(this);
71     }
72 }
Powered by CodePro AnalytiX