efrei/java/tp-note/Main.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);
}
}