Hmm, j'ai un objet d'argent qui me permet d'ajouter d'autres objets d'argent dedans. J'ai essayé assertEquals()
en Java pour tester si mon code si d'accord, mais il a échoué.assertEquals (obj, obj) renvoie un test échoué
Je suis très positif que mon code est correct (System.out.println
renvoie la bonne réponse), je pense que je suis en train d'utiliser assertEquals
de la mauvaise manière. Que dois-je faire exactement si je veux savoir si myObj1 == myObj2
pour les tests?
**in my test.java**
assertEquals(new Money(money1.getCurrency(),new Value(22,70)),money1.add(money2));
**in my money class**
public class Money {
Currency currency;
Value value;
//constructor for Money class
public Money(Currency currency, Value value) {
super();
this.currency = currency;
this.value = value;
}
public Currency getCurrency() {
return currency;
}
public void setCurrency(Currency currency) {
this.currency = currency;
}
//must have same currency
public Money add(Money moneyToBeAdded){
Money result = new Money(moneyToBeAdded.currency, new Value(0,0));
Value totalInCents;
int tempCents;
int tempDollars;
if(compareCurrency(moneyToBeAdded)){
totalInCents = new Value(0,moneyToBeAdded.value.toCents()+value.toCents());
tempDollars = (totalInCents.toDollars().getDollar());
tempCents = (totalInCents.toDollars().getCents());
result = new Money(moneyToBeAdded.currency, new Value(tempDollars,tempCents));
System.out.println(result.value.getDollar()+"."+result.value.getCents());
}
return result;
}
private boolean compareCurrency(Money money){
return (money.currency.equals(currency))? true : false;
}
}
Où est la méthode 'equals' de votre classe d'argent? – Paul
De même, dans 'compareCurrency', vous avez effectivement écrit' if (true) return true; else if (false) renvoie false; 'Tout ce dont vous avez besoin est:' return money.currency.equals (currency); ' – Paul
woops! Cela doit être le chaînon manquant .. T__T –