80 lines
3.9 KiB
Java
80 lines
3.9 KiB
Java
package banque;
|
|
|
|
import java.util.*;
|
|
|
|
public class Main {
|
|
public static void main(String[] args) {
|
|
// Créer un CompteCourant
|
|
CompteCourant monCC = new CompteCourant(1234);
|
|
// Créer un CompteEpargne
|
|
CompteEpargne monPEL = new CompteEpargne(9538);
|
|
|
|
// Tester des versements
|
|
monCC.verser(150);
|
|
monPEL.verser(230.45);
|
|
monCC.verser(30);
|
|
assert monCC.getSolde() == 180.0: "Erreur d'implémentation: " + monCC.getSolde() + " != 180.0";
|
|
assert monPEL.getSolde() == 230.45: "Erreur d'implémentation: " + monPEL.getSolde() + " != 230.45";
|
|
|
|
// Tester des retraits pour le CC
|
|
monCC.retirer(200);
|
|
assert monCC.getSolde() == -20.0: "Erreur d'implémentation: " + monCC.getSolde() + " != -20.0";
|
|
// Le montant ne doit pas changer puisqu'on dépasserait le découvert autorisé
|
|
monCC.retirer(monCC.getDecouvert() * -1);
|
|
assert monCC.getSolde() == -20.0: "Erreur d'implémentation: " + monCC.getSolde() + " != -20.0";
|
|
|
|
// Tester des retraits pour le PEL
|
|
monPEL.retirer(200);
|
|
assert monPEL.getSolde() == 30.45: "Erreur d'implémentation: " + monPEL.getSolde() + " != 30.45";
|
|
// Le montant ne doit pas changer puisqu'on aurait une valeur négative
|
|
monPEL.retirer(50);
|
|
assert monPEL.getSolde() == 30.45: "Erreur d'implémentation: " + monPEL.getSolde() + " != 30.45";
|
|
|
|
// Tester le virement d'un compte à un autre
|
|
monCC.virement(50, monPEL);
|
|
assert monCC.getSolde() == -70.0: "Erreur d'implémentation: " + monCC.getSolde() + " != -70.0";
|
|
assert monPEL.getSolde() == 80.45: "Erreur d'implémentation: " + monPEL.getSolde() + " != 80.45";
|
|
monPEL.virement(50, monCC);
|
|
assert monCC.getSolde() == -20.0: "Erreur d'implémentation: " + monCC.getSolde() + " != -20.0";
|
|
assert monPEL.getSolde() == 30.45: "Erreur d'implémentation: " + monPEL.getSolde() + " != 30.45";
|
|
|
|
// Consulter le solde des comptes
|
|
double soldeCC = monCC.consulterSolde();
|
|
System.out.println("\nLe solde du CC est : " + soldeCC);
|
|
double soldePEL = monPEL.consulterSolde();
|
|
System.out.println("Le solde du PEL est : " + soldePEL);
|
|
|
|
// Calculer les intérêts
|
|
soldePEL = monPEL.getSolde();
|
|
System.out.println("\nOn est le 31 décembre, c'est l'heure des intérêts sur le PEL !");
|
|
System.out.println("Montant actuel : " + soldePEL);
|
|
monPEL.updateSolde();
|
|
double nouveauSoldePEL = monPEL.getSolde();
|
|
assert nouveauSoldePEL == 31.03: "Erreur d'implémentation " + nouveauSoldePEL + " != 31.03";
|
|
System.out.println("Nouveau montant : " + nouveauSoldePEL);
|
|
|
|
// Consulter le solde des opérations
|
|
List<Operation> operationsCC = monCC.listeOperations();
|
|
List<Operation> operationsPEL = monPEL.listeOperations();
|
|
System.out.println("\nLe CC a les opérations suivantes :");
|
|
for (Operation operation: operationsCC) {
|
|
System.out.println(operation);
|
|
}
|
|
System.out.println("\nLe PEL a les opérations suivantes :");
|
|
for (Operation operation: operationsPEL) {
|
|
System.out.println(operation);
|
|
}
|
|
|
|
// Consulter le total des montants des versements
|
|
double totalVersementsCC = monCC.totalVersements();
|
|
double totalVersementsPEL = monPEL.totalVersements();
|
|
System.out.println("\nTotal des versements sur le CC : " + totalVersementsCC);
|
|
System.out.println("Total des versements sur le PEL : " + totalVersementsPEL);
|
|
|
|
// Consulter le total des montants des retraits
|
|
double totalRetraitsCC = monCC.totalRetraits();
|
|
double totalRetraitsPEL = monPEL.totalRetraits();
|
|
System.out.println("\nTotal des retraits sur le CC : " + totalRetraitsCC);
|
|
System.out.println("Total des retraits sur le PEL : " + totalRetraitsPEL);
|
|
}
|
|
}
|