🎨 💥 Introduce UnitTest
continuous-integration/drone/push Build is passing Details

master
Antoine PEREDERII 2 years ago
commit c131f33361

@ -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);
}
}
}

@ -1,34 +1,80 @@
//using System;
//using Model;
//namespace UnitTest
//{
// /// \file
// /// \brief Fichier de tests pour la classe Consultant.
// /// \author Votre nom
// /// <summary>
// /// Classe de tests pour la classe Consultant.
// /// </summary>
// public class ConsultantTests
// {
// /// <summary>
// /// Teste si la liste des messages du consultant est initialisée correctement.
// /// </summary>
// [Fact]
// public void Constructor_MessagesListInitialized()
// {
// // Arrange
// string name = "Doe";
// string firstName = "John";
// string password = "123456";
// // Act
// Consultant consultant = new Consultant(name, firstName, password);
// // Assert
// Assert.NotNull(consultant.MessagesList);
// Assert.Empty(consultant.MessagesList);
// }
// }
//}
/// \file
/// \brief Définition des tests pour la classe Consultant.
/// \author PEREDERII Antoine, LOUVET Titouan
using Xunit;
using System;
using Model;
namespace UnitTest
{
/// <summary>
/// Classe de tests pour la classe Consultant.
/// </summary>
public class ConsultantTests
{
/// <summary>
/// Teste si la liste des messages du consultant est initialisée correctement.
/// </summary>
[Fact]
public void Constructor_MessagesListInitialized()
{
// Initialisation
string name = "Cons";
string firstName = "Gérard";
string password = "123456";
// Act
Consultant consultant = new Consultant(name, firstName, password);
// Assert
Assert.NotNull(consultant.MessagesList);
Assert.Empty(consultant.MessagesList);
}
/// <summary>
/// Teste si la liste des messages du consultant est initialisée correctement en utilisant InlineData.
/// </summary>
/// <param name="name">Nom du consultant.</param>
/// <param name="firstName">Prénom du consultant.</param>
/// <param name="password">Mot de passe du consultant.</param>
[Theory]
[InlineData("Cons", "Gérard", "123456")]
public void Constructor_MessagesListInitialized_InlineData(string name, string firstName, string password)
{
// Act
Consultant consultant = new Consultant(name, firstName, password);
// Assert
Assert.NotNull(consultant.MessagesList);
Assert.Empty(consultant.MessagesList);
}
/// <summary>
/// Fournit les données pour le test de l'initialisation de la liste des messages du consultant.
/// </summary>
public static TheoryData<string, string, string> TestData =>
new TheoryData<string, string, string>
{
{ "Cons", "Gérard", "123456" },
};
/// <summary>
/// Teste si la liste des messages du consultant est initialisée correctement en utilisant MemberData.
/// </summary>
/// <param name="name">Nom du consultant.</param>
/// <param name="firstName">Prénom du consultant.</param>
/// <param name="password">Mot de passe du consultant.</param>
[Theory]
[MemberData(nameof(TestData))]
public void Constructor_MessagesListInitialized_MemberData(string name, string firstName, string password)
{
// Act
Consultant consultant = new Consultant(name, firstName, password);
// Assert
Assert.NotNull(consultant.MessagesList);
Assert.Empty(consultant.MessagesList);
}
}
}

@ -1,78 +1,80 @@
//using System;
//using Model;
/// \file
/// \brief Définition des tests pour la classe Customer.
/// \author PEREDERII Antoine, LOUVET Titouan
//namespace UnitTest
//{
// /// \file
// /// \brief Fichier de tests pour la classe Customer.
// /// \author Votre nom
using Xunit;
using System;
using Model;
// /// <summary>
// /// Classe de tests pour la classe Customer.
// /// </summary>
// public class CustomerTests
// {
// /// <summary>
// /// Teste si la liste des comptes du client est initialisée correctement.
// /// </summary>
// [Fact]
// public void Constructor_AccountsListInitialized()
// {
// // Arrange
// string name = "Doe";
// string firstName = "John";
// string password = "123456";
namespace UnitTest
{
/// <summary>
/// Classe de tests pour la classe Customer.
/// </summary>
public class CustomerTests
{
/// <summary>
/// Teste si la liste des comptes du client est initialisée correctement.
/// </summary>
[Fact]
public void Constructor_AccountsListInitialized()
{
// Initialisation
string name = "Cust";
string firstName = "Gérard";
string password = "123456";
// // Act
// Customer customer = new Customer(name, firstName, password);
// Act
Customer customer = new Customer(name, firstName, password);
// // Assert
// Assert.NotNull(customer.AccountsList);
// Assert.Empty(customer.AccountsList);
// }
// Assert
Assert.NotNull(customer.AccountsList);
Assert.Empty(customer.AccountsList);
}
// /// <summary>
// /// Teste l'égalité entre deux clients.
// /// </summary>
// [Fact]
// public void Equals_TwoEqualCustomers_ReturnsTrue()
// {
// // Arrange
// string name1 = "Doe";
// string firstName1 = "John";
// string password1 = "123456";
// string name2 = "Doe";
// string firstName2 = "John";
// string password2 = "123456";
/// <summary>
/// Teste si la liste des comptes du client est initialisée correctement en utilisant InlineData.
/// </summary>
/// <param name="name">Nom du client.</param>
/// <param name="firstName">Prénom du client.</param>
/// <param name="password">Mot de passe du client.</param>
[Theory]
[InlineData("Cust", "Gérard", "123456")]
public void Constructor_AccountsListInitialized_InlineData(string name, string firstName, string password)
{
// Act
Customer customer = new Customer(name, firstName, password);
// // Act
// Customer customer1 = new Customer(name1, firstName1, password1);
// Customer customer2 = new Customer(name2, firstName2, password2);
// Assert
Assert.NotNull(customer.AccountsList);
Assert.Empty(customer.AccountsList);
}
// // Assert
// Assert.True(customer1.Equals(customer2));
// }
/// <summary>
/// Fournit les données pour le test de l'initialisation de la liste des comptes du client.
/// </summary>
public static TheoryData<string, string, string> TestData =>
new TheoryData<string, string, string>
{
{ "Cust", "Gérard", "123456" },
};
// /// <summary>
// /// Teste l'égalité entre deux clients avec des identifiants différents.
// /// </summary>
// [Fact]
// public void Equals_TwoDifferentCustomers_ReturnsFalse()
// {
// // Arrange
// string name1 = "Doe";
// string firstName1 = "John";
// string password1 = "123456";
// string name2 = "Smith";
// string firstName2 = "Jane";
// string password2 = "abcdef";
/// <summary>
/// Teste si la liste des comptes du client est initialisée correctement en utilisant MemberData.
/// </summary>
/// <param name="name">Nom du client.</param>
/// <param name="firstName">Prénom du client.</param>
/// <param name="password">Mot de passe du client.</param>
[Theory]
[MemberData(nameof(TestData))]
public void Constructor_AccountsListInitialized_MemberData(string name, string firstName, string password)
{
// Act
Customer customer = new Customer(name, firstName, password);
// // Act
// Customer customer1 = new Customer(name1, firstName1, password1);
// Customer customer2 = new Customer(name2, firstName2, password2);
// // Assert
// Assert.False(customer1.Equals(customer2));
// }
// }
//}
// Assert
Assert.NotNull(customer.AccountsList);
Assert.Empty(customer.AccountsList);
}
}
}

@ -1,11 +1,15 @@
using Model;
/// \file
/// \brief Définition des tests pour la classe Consultant.
/// \author PEREDERII Antoine, LOUVET Titouan
using Model;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using UnitTest;
using Xunit;
namespace Model.Tests
namespace UnitTest
{
/// <summary>
/// Classe de tests pour la classe Manager.

@ -1,6 +1,6 @@
/// \file
/// \brief Fichier de test pour la classe Transaction.
/// \author PEREDERII Antoine
/// \brief Définition des tests pour la classe Consultant.
/// \author PEREDERII Antoine, LOUVET Titouan
using System.Collections.Generic;
using Xunit;

@ -1,6 +1,6 @@
/// \file
/// \brief Fichier de test pour la classe Transaction.
/// \author PEREDERII Antoine
/// \brief Définition des tests pour la classe Consultant.
/// \author PEREDERII Antoine, LOUVET Titouan
using Model;
using Xunit;

@ -1,6 +1,6 @@
/// \file
/// \brief Fichier de test pour la classe Transaction.
/// \author PEREDERII Antoine
/// \brief Définition des tests pour la classe Consultant.
/// \author PEREDERII Antoine, LOUVET Titouan
using System;
using System.Collections.Generic;

Loading…
Cancel
Save