static void Main(string[] args) { var montantBien = 263000; var apport = 91186; var fraisNotaires = 18410; var montantAEmprunter = montantBien - apport + fraisNotaires; var dureeEnAnnees = 15; var pretSeul_1 = new Pret("Crédit immo (teg de 1,50%)", montantAEmprunter, dureeEnAnnees, 1.50 / 100, new DateTime(2018, 12, 1)); AffichePret(montantBien, fraisNotaires, apport, pretSeul_1); var pretSeul_2 = new Pret("Crédit immo (teg de 1,65%)", montantAEmprunter, dureeEnAnnees, 1.65 / 100, new DateTime(2018, 12, 1)); AffichePret(montantBien, fraisNotaires, apport, pretSeul_2); var fraisDeGarantie_3 = 2413; var pretSeul_3 = new Pret("Crédit immo sans frais de notaire (teg de 1,65%)", montantAEmprunter - fraisNotaires + fraisDeGarantie_3, dureeEnAnnees, 1.65 / 100, new DateTime(2018, 12, 1)); AffichePret(montantBien, fraisNotaires, apport, pretSeul_3); // PretMultiple var fraisDeGarantie_A = 2500; var dureeEnAnnees_A = 14; var pret_A = new Pret("Crédit immo appart Carnon (1,52%)", montantAEmprunter - fraisNotaires, dureeEnAnnees_A, 1.520 / 100, new DateTime(2018, 12, 1)); AffichePret(montantBien, fraisNotaires, apport, pret_A); var montantAEmprunterB = 19300; var dureeEnAnnees_B = 4; var pret_B = new Pret("Crédit pour frais de notaire", montantAEmprunterB, dureeEnAnnees_B, 0.946 / 100, new DateTime(2018, 12, 1)); AffichePret(montantBien, fraisNotaires, apport, pret_B); var doublePret = new PretMultiple("Double prêt 1.52% + 0.946%", new List <Pret> { pret_A, pret_B }); Console.WriteLine($"Montant total de {doublePret.GetMontantTotal().ToString("N2")}"); Console.WriteLine($"Coût total de {doublePret.GetCoutTotal().ToString("N2")}"); //var comp = new PretComparer(); //var best = comp.GetBest(new List<Pret> { pretSeul, pretSeul2, pretSeul3 }); Console.ReadLine(); }
public void PretMultiple_Test() { var montantBien = 263000; var apport = 91186; var fraisDeGarantie = 2500; var montantAEmprunter = montantBien - apport + fraisDeGarantie; var dureeEnAnnees = 15; var tauxNominal = 1.50 / 100; var pret_1 = new Pret("Crédit Test (teg de 1,50%)", montantAEmprunter, dureeEnAnnees, tauxNominal, new DateTime(2018, 12, 1)); var pret_2 = new Pret("Crédit pour frais de notaire", 19300, 4, 0.946 / 100, new DateTime(2018, 12, 1)); var doublePret = new PretMultiple("Prêt composé d'1 crédit appart + 1 crédit pour frais d'acte de vente", new List <Pret> { pret_1, pret_2 }); Assert.AreEqual(20453.55, pret_1.GetCoutTotal(), 0.01); Assert.AreEqual(375.06, pret_2.GetCoutTotal(), 0.01); Assert.AreEqual(20828.62, doublePret.GetCoutTotal(), 0.01); }