From cb2043be965e9b8036a172ff6f531b81edd274a8 Mon Sep 17 00:00:00 2001 From: HMatheo Date: Sat, 10 Jun 2023 18:57:22 +0200 Subject: [PATCH] Added all the documentation for the UnitTests --- src/UnitTests/UnitTestIPersistanceManager.cs | 15 +++++++---- src/UnitTests/UnitTestManager.cs | 23 ++++++++++++----- src/UnitTests/UnitTestOeuvre.cs | 27 ++++++++++++++++++++ src/UnitTests/UnitTestUtilisateur.cs | 18 ++++++++++++- 4 files changed, 70 insertions(+), 13 deletions(-) diff --git a/src/UnitTests/UnitTestIPersistanceManager.cs b/src/UnitTests/UnitTestIPersistanceManager.cs index 71a7a5d..dd893e5 100644 --- a/src/UnitTests/UnitTestIPersistanceManager.cs +++ b/src/UnitTests/UnitTestIPersistanceManager.cs @@ -11,6 +11,9 @@ namespace UnitTests { public class UnitTestIPersistanceManager { + /// + /// Vérifie que la méthode ChargeDonne renvoie les données attendues. + /// [Fact] public void ChargeDonne_ReturnsExpectedData() { @@ -48,9 +51,12 @@ namespace UnitTests Assert.Equal(12, utilisateur.age); } + /// + /// Vérifie que la méthode Sauvegarder appelle Console.WriteLine. + /// [Fact] - public void Sauvegarder_CallsConsoleWriteLine() //pas besoin d'utiliser les attributs [Theory] et [InlineData] - //car il ne teste pas différentes variations de données. + public void Sauvegarder_CallsConsoleWriteLine() //pas besoin d'utiliser les attributs [Theory] et [InlineData] + //car il ne teste pas différentes variations de données. { // Arrange var stub = new Stub.Stub(); @@ -61,9 +67,8 @@ namespace UnitTests stub.sauvegarder(oeuvres, utilisateurs); // Assert - // Since the implementation of Sauvegarder only calls Console.WriteLine, - // we can't directly test the functionality, but we can assert that the method was called + // Étant donné que l'implémentation de Sauvegarder appelle uniquement Console.WriteLine, + // nous ne pouvons pas tester directement la fonctionnalité, mais nous pouvons vérifier que la méthode a été appelée. } } } - diff --git a/src/UnitTests/UnitTestManager.cs b/src/UnitTests/UnitTestManager.cs index 9de6ba5..1c93792 100644 --- a/src/UnitTests/UnitTestManager.cs +++ b/src/UnitTests/UnitTestManager.cs @@ -12,13 +12,16 @@ namespace UnitTests { public class UnitTestManager { + /// + /// Vérifie que la méthode Charger charge les données à partir de PersistanceManager (Stub). + /// [Fact] public void Charger_Should_LoadDataFromPersistanceManager_Stub() { // Arrange var persistanceStub = new Stub.Stub(); var manager = new Manager(persistanceStub); - var oeuvres = new ObservableCollection + var oeuvres = new ObservableCollection { new Oeuvre("Evangelion", new List { "Action", "Future" }, "TV", "C'est une bonne série", 4, 150, "evangelion.jpg"), new Oeuvre("[Oshi No Ko]", new List { "Action", "Future" }, "DVD", "A la fin il meurt", 2, 24, "oshinoko.png"), @@ -41,17 +44,20 @@ namespace UnitTests Assert.Equal("evangelion.jpg", evangelion.Affiche); } + /// + /// Vérifie que la méthode Charger charge les données à partir de PersistanceManager (DataContractXml). + /// [Fact] public void Charger_Should_LoadDataFromPersistanceManager_DataContractXml() { // Arrange var persistanceXml = new DataContractPersistance.DataContractXml(); var manager = new Manager(persistanceXml); - var oeuvres = new ObservableCollection + var oeuvres = new ObservableCollection { new Oeuvre("Evangelion", new List { "Action", "Future" }, "TV", "C'est une bonne série", 4, 150, "evangelion.jpg"), new Oeuvre("[Oshi No Ko]", new List { "Action", "Future" }, "DVD", "A la fin il meurt", 2, 24, "oshinoko.png"), - }; + }; var utilisateurs = new List { new Utilisateur(), new Utilisateur() }; // Act @@ -64,16 +70,19 @@ namespace UnitTests Assert.Equal(utilisateurs.Count, manager.Utilisateurs.Count); } + /// + /// Vérifie que la méthode Sauvegarder enregistre les données en utilisant PersistanceManager (DataContractXml). + /// [Fact] public void Sauvegarder_Should_SaveDataUsingPersistanceManager_DataContractXml() { // Arrange var persistanceXml = new DataContractPersistance.DataContractXml(); var manager = new Manager(persistanceXml); - var oeuvres = new ObservableCollection - { - new Oeuvre("Evangelion", new List { "Action", "Future" }, "TV", "C'est une bonne série", 4, 150, "evangelion.jpg"), - new Oeuvre("[Oshi No Ko]", new List { "Action", "Future" }, "DVD", "A la fin il meurt", 2, 24, "oshinoko.png"), + var oeuvres = new ObservableCollection + { + new Oeuvre("Evangelion", new List { "Action", "Future" }, "TV", "C'est une bonne série", 4, 150, "evangelion.jpg"), + new Oeuvre("[Oshi No Ko]", new List { "Action", "Future" }, "DVD", "A la fin il meurt", 2, 24, "oshinoko.png"), }; var utilisateurs = new List { new Utilisateur(), new Utilisateur() }; diff --git a/src/UnitTests/UnitTestOeuvre.cs b/src/UnitTests/UnitTestOeuvre.cs index 306083b..49a37c2 100644 --- a/src/UnitTests/UnitTestOeuvre.cs +++ b/src/UnitTests/UnitTestOeuvre.cs @@ -9,6 +9,16 @@ namespace UnitTests { public class UnitTestOeuvre { + /// + /// Vérifie que le constructeur de la classe Oeuvre initialise correctement les propriétés avec tous les paramètres. + /// + /// Le nom de l'Å“uvre. + /// Les genres de l'Å“uvre. + /// Le type de l'Å“uvre. + /// La description de l'Å“uvre. + /// La note de l'Å“uvre. + /// Le nombre d'épisodes de l'Å“uvre. + /// L'affiche de l'Å“uvre. [Theory] [InlineData("[Oshi No Ko]", new string[] { "Action", "Drama", "Fantasy" }, "TV Series", "A thrilling anime series.", 9, 25, "oshinoko.png")] public void Oeuvre_Constructor_WithAllParameters_ShouldSetPropertiesCorrectly( @@ -27,6 +37,14 @@ namespace UnitTests Assert.Equal(affiche, oeuvre.Affiche); } + /// + /// Vérifie que le constructeur de la classe Oeuvre initialise correctement les propriétés avec les paramètres requis. + /// + /// Le nom de l'Å“uvre. + /// Le type de l'Å“uvre. + /// La description de l'Å“uvre. + /// Le nombre d'épisodes de l'Å“uvre. + /// L'affiche de l'Å“uvre. [Theory] [InlineData("One Piece", "TV Series", "An epic adventure.", 1000, "onepiece.jpg")] public void Oeuvre_Constructor_WithRequiredParameters_ShouldSetPropertiesCorrectly( @@ -45,6 +63,15 @@ namespace UnitTests Assert.Equal(affiche, oeuvre.Affiche); } + /// + /// Vérifie que la méthode AjouterEpisode augmente le nombre d'épisodes de l'Å“uvre du montant donné. + /// + /// Le nom de l'Å“uvre. + /// Le type de l'Å“uvre. + /// La description de l'Å“uvre. + /// Le nombre d'épisodes de l'Å“uvre. + /// L'affiche de l'Å“uvre. + /// Le nombre d'épisodes à ajouter. [Theory] [InlineData("Naruto", "TV Series", "A ninja's journey.", 220, "evangelion.jpg", 50)] [InlineData("Dragon Ball", "TV Series", "A Saiyan's story.", 291, "evangelion.jpg", 20)] diff --git a/src/UnitTests/UnitTestUtilisateur.cs b/src/UnitTests/UnitTestUtilisateur.cs index e83e6c3..08ab231 100644 --- a/src/UnitTests/UnitTestUtilisateur.cs +++ b/src/UnitTests/UnitTestUtilisateur.cs @@ -4,6 +4,15 @@ namespace UnitTests { public class UnitTestUtilisateur { + /// + /// Vérifie que le constructeur de la classe Utilisateur initialise correctement les propriétés. + /// + /// L'adresse e-mail de l'utilisateur. + /// Le pseudo de l'utilisateur. + /// Le mot de passe de l'utilisateur. + /// Le nom de l'utilisateur. + /// Le prénom de l'utilisateur. + /// L'âge de l'utilisateur. [Theory] [InlineData("test@test.com", "pseudo", "mdp", "John", "Doe", 30)] [InlineData("test2@test.com", "pseudo2", "mdp2", "Jane", "Smith", 25)] @@ -21,6 +30,10 @@ namespace UnitTests Assert.Equal(age, utilisateur.age); } + /// + /// Vérifie que la méthode SupprimerUtilisateur réinitialise les propriétés de l'utilisateur à null. + /// + /// L'utilisateur à supprimer. // Utilisez [MemberData] pour des jeux de données dynamiques [Theory] [MemberData(nameof(UtilisateursTestData.GetTestData), MemberType = typeof(UtilisateursTestData))] @@ -38,6 +51,9 @@ namespace UnitTests } } + /// + /// Classe de données pour les tests de la classe Utilisateur. + /// public class UtilisateursTestData { public static IEnumerable GetTestData() @@ -46,4 +62,4 @@ namespace UnitTests yield return new object[] { new Utilisateur("test2@test.com", "pseudo2", "mdp2", "Jane", "Smith", 25) }; } } -} \ No newline at end of file +}