|
|
|
@ -1,70 +1,68 @@
|
|
|
|
|
///// \file
|
|
|
|
|
///// \brief Fichier de test pour la classe Account.
|
|
|
|
|
///// \author Votre nom
|
|
|
|
|
/// \file
|
|
|
|
|
/// \brief Définition des tests pour la classe Consultant.
|
|
|
|
|
/// \author PEREDERII Antoine, LOUVET Titouan
|
|
|
|
|
|
|
|
|
|
//using Model;
|
|
|
|
|
//using System;
|
|
|
|
|
//using System.ComponentModel;
|
|
|
|
|
//using System.Diagnostics;
|
|
|
|
|
//using System.Runtime.Serialization;
|
|
|
|
|
using Xunit;
|
|
|
|
|
using System;
|
|
|
|
|
using Model;
|
|
|
|
|
|
|
|
|
|
//namespace UnitTest
|
|
|
|
|
//{
|
|
|
|
|
// /// <summary>
|
|
|
|
|
// /// Classe de test pour la classe Account.
|
|
|
|
|
// /// </summary>
|
|
|
|
|
// public class AccountTest
|
|
|
|
|
// {
|
|
|
|
|
// /// <summary>
|
|
|
|
|
// /// Méthode principale du test.
|
|
|
|
|
// /// </summary>
|
|
|
|
|
// [Fact]
|
|
|
|
|
// public void TestAnAccount()
|
|
|
|
|
// {
|
|
|
|
|
// // Création de deux comptes
|
|
|
|
|
// Account account1 = new Account(1000, "John Doe", "FR123456789");
|
|
|
|
|
// Account account2 = new Account(500, "Jane Smith", "FR987654321");
|
|
|
|
|
namespace UnitTest
|
|
|
|
|
{
|
|
|
|
|
public class AccountTests
|
|
|
|
|
{
|
|
|
|
|
[Fact]
|
|
|
|
|
public void Account_Initialization_Test()
|
|
|
|
|
{
|
|
|
|
|
// Initialisation
|
|
|
|
|
double initialBalance = 1000.0;
|
|
|
|
|
string accountName = "Gérard";
|
|
|
|
|
string accountIBAN = "FR7612345678901234567895003";
|
|
|
|
|
|
|
|
|
|
// // Affichage des informations des comptes
|
|
|
|
|
// Console.WriteLine("Compte 1:");
|
|
|
|
|
// Console.WriteLine($"Nom: {account1.Name}");
|
|
|
|
|
// Console.WriteLine($"IBAN: {account1.IBANHide}");
|
|
|
|
|
// Console.WriteLine($"Solde: {account1.Balance}");
|
|
|
|
|
// Account
|
|
|
|
|
Account account = new Account(initialBalance, accountName, accountIBAN);
|
|
|
|
|
|
|
|
|
|
// Console.WriteLine("\nCompte 2:");
|
|
|
|
|
// Console.WriteLine($"Nom: {account2.Name}");
|
|
|
|
|
// Console.WriteLine($"IBAN: {account2.IBANHide}");
|
|
|
|
|
// Console.WriteLine($"Solde: {account2.Balance}");
|
|
|
|
|
// Assert
|
|
|
|
|
Assert.Equal(initialBalance, account.Balance);
|
|
|
|
|
Assert.Equal(accountName, account.Name);
|
|
|
|
|
Assert.Equal(accountIBAN, account.IBAN);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// // Effectuer une transaction entre les comptes
|
|
|
|
|
// double amount = 200;
|
|
|
|
|
// Console.WriteLine($"\nEffectuer une transaction de {amount} du compte 1 vers le compte 2...");
|
|
|
|
|
// account1.DoTransactions(account2, amount, true);
|
|
|
|
|
[Theory]
|
|
|
|
|
[InlineData(1000.0, 500.0, true, 500.0)] // Debit transaction
|
|
|
|
|
[InlineData(1000.0, 500.0, false, 1500.0)] // Credit transaction
|
|
|
|
|
public void Account_DoTransactions_Test(double initialBalance, double transactionAmount, bool isDebit, double expectedBalance)
|
|
|
|
|
{
|
|
|
|
|
// Initialisation
|
|
|
|
|
Account account = new Account(initialBalance, "Gérard", "FR7612345678901234567895003");
|
|
|
|
|
Account otherAccount = new Account(0.0, "Gérarde", "FR76987654321098765432109876004");
|
|
|
|
|
|
|
|
|
|
// // Affichage des informations des comptes après la transaction
|
|
|
|
|
// Console.WriteLine("\nAprès la transaction:");
|
|
|
|
|
// Console.WriteLine("Compte 1:");
|
|
|
|
|
// Console.WriteLine($"Nom: {account1.Name}");
|
|
|
|
|
// Console.WriteLine($"IBAN: {account1.IBANHide}");
|
|
|
|
|
// Console.WriteLine($"Solde: {account1.Balance}");
|
|
|
|
|
// Account
|
|
|
|
|
account.DoTransactions(otherAccount, transactionAmount, isDebit);
|
|
|
|
|
|
|
|
|
|
// Console.WriteLine("\nCompte 2:");
|
|
|
|
|
// Console.WriteLine($"Nom: {account2.Name}");
|
|
|
|
|
// Console.WriteLine($"IBAN: {account2.IBANHide}");
|
|
|
|
|
// Console.WriteLine($"Solde: {account2.Balance}");
|
|
|
|
|
// Assert
|
|
|
|
|
Assert.Equal(expectedBalance, account.Balance);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// // Demander de l'aide
|
|
|
|
|
// string helpSubject = "Besoin d'aide";
|
|
|
|
|
// string helpDescription = "Je rencontre un problème avec mon compte.";
|
|
|
|
|
// Message helpMessage = Account.AskForHelp(helpSubject, helpDescription);
|
|
|
|
|
// Console.WriteLine($"\nDemande d'aide envoyée : {helpMessage}");
|
|
|
|
|
public static TheoryData<double, double, bool, double> TestData =>
|
|
|
|
|
new TheoryData<double, double, bool, double>
|
|
|
|
|
{
|
|
|
|
|
{ 1000.0, 500.0, true, 500.0 }, // Debit transaction
|
|
|
|
|
{ 1000.0, 500.0, false, 1500.0 }, // Credit transaction
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// // Comparaison de deux comptes
|
|
|
|
|
// Console.WriteLine("\nComparaison des comptes...");
|
|
|
|
|
// bool areEqual = account1.Equals(account2);
|
|
|
|
|
// Console.WriteLine($"Les comptes sont-ils égaux ? {areEqual}");
|
|
|
|
|
[Theory]
|
|
|
|
|
[MemberData(nameof(TestData))]
|
|
|
|
|
public void Account_DoTransactions_MemberData_Test(double initialBalance, double transactionAmount, bool isDebit, double expectedBalance)
|
|
|
|
|
{
|
|
|
|
|
// Initialisation
|
|
|
|
|
Account account = new Account(initialBalance, "Gérard", "FR7612345678901234567895003");
|
|
|
|
|
Account otherAccount = new Account(0.0, "Gérarde", "FR76987654321098765432109876004");
|
|
|
|
|
|
|
|
|
|
// //Console.ReadLine();
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
//}
|
|
|
|
|
// Account
|
|
|
|
|
account.DoTransactions(otherAccount, transactionAmount, isDebit);
|
|
|
|
|
|
|
|
|
|
// Assert
|
|
|
|
|
Assert.Equal(expectedBalance, account.Balance);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|