Added all the documentation for the UnitTests
continuous-integration/drone/push Build is passing Details

pull/45/head
HMatheo 2 years ago
parent 30f1dd1b57
commit cb2043be96

@ -11,6 +11,9 @@ namespace UnitTests
{ {
public class UnitTestIPersistanceManager public class UnitTestIPersistanceManager
{ {
/// <summary>
/// Vérifie que la méthode ChargeDonne renvoie les données attendues.
/// </summary>
[Fact] [Fact]
public void ChargeDonne_ReturnsExpectedData() public void ChargeDonne_ReturnsExpectedData()
{ {
@ -48,9 +51,12 @@ namespace UnitTests
Assert.Equal(12, utilisateur.age); Assert.Equal(12, utilisateur.age);
} }
/// <summary>
/// Vérifie que la méthode Sauvegarder appelle Console.WriteLine.
/// </summary>
[Fact] [Fact]
public void Sauvegarder_CallsConsoleWriteLine() //pas besoin d'utiliser les attributs [Theory] et [InlineData] public void Sauvegarder_CallsConsoleWriteLine() //pas besoin d'utiliser les attributs [Theory] et [InlineData]
//car il ne teste pas différentes variations de données. //car il ne teste pas différentes variations de données.
{ {
// Arrange // Arrange
var stub = new Stub.Stub(); var stub = new Stub.Stub();
@ -61,9 +67,8 @@ namespace UnitTests
stub.sauvegarder(oeuvres, utilisateurs); stub.sauvegarder(oeuvres, utilisateurs);
// Assert // Assert
// Since the implementation of Sauvegarder only calls Console.WriteLine, // Étant donné que l'implémentation de Sauvegarder appelle uniquement Console.WriteLine,
// we can't directly test the functionality, but we can assert that the method was called // nous ne pouvons pas tester directement la fonctionnalité, mais nous pouvons vérifier que la méthode a été appelée.
} }
} }
} }

@ -12,13 +12,16 @@ namespace UnitTests
{ {
public class UnitTestManager public class UnitTestManager
{ {
/// <summary>
/// Vérifie que la méthode Charger charge les données à partir de PersistanceManager (Stub).
/// </summary>
[Fact] [Fact]
public void Charger_Should_LoadDataFromPersistanceManager_Stub() public void Charger_Should_LoadDataFromPersistanceManager_Stub()
{ {
// Arrange // Arrange
var persistanceStub = new Stub.Stub(); var persistanceStub = new Stub.Stub();
var manager = new Manager(persistanceStub); var manager = new Manager(persistanceStub);
var oeuvres = new ObservableCollection<Oeuvre> var oeuvres = new ObservableCollection<Oeuvre>
{ {
new Oeuvre("Evangelion", new List<string> { "Action", "Future" }, "TV", "C'est une bonne série", 4, 150, "evangelion.jpg"), new Oeuvre("Evangelion", new List<string> { "Action", "Future" }, "TV", "C'est une bonne série", 4, 150, "evangelion.jpg"),
new Oeuvre("[Oshi No Ko]", new List<string> { "Action", "Future" }, "DVD", "A la fin il meurt", 2, 24, "oshinoko.png"), new Oeuvre("[Oshi No Ko]", new List<string> { "Action", "Future" }, "DVD", "A la fin il meurt", 2, 24, "oshinoko.png"),
@ -41,17 +44,20 @@ namespace UnitTests
Assert.Equal("evangelion.jpg", evangelion.Affiche); Assert.Equal("evangelion.jpg", evangelion.Affiche);
} }
/// <summary>
/// Vérifie que la méthode Charger charge les données à partir de PersistanceManager (DataContractXml).
/// </summary>
[Fact] [Fact]
public void Charger_Should_LoadDataFromPersistanceManager_DataContractXml() public void Charger_Should_LoadDataFromPersistanceManager_DataContractXml()
{ {
// Arrange // Arrange
var persistanceXml = new DataContractPersistance.DataContractXml(); var persistanceXml = new DataContractPersistance.DataContractXml();
var manager = new Manager(persistanceXml); var manager = new Manager(persistanceXml);
var oeuvres = new ObservableCollection<Oeuvre> var oeuvres = new ObservableCollection<Oeuvre>
{ {
new Oeuvre("Evangelion", new List<string> { "Action", "Future" }, "TV", "C'est une bonne série", 4, 150, "evangelion.jpg"), new Oeuvre("Evangelion", new List<string> { "Action", "Future" }, "TV", "C'est une bonne série", 4, 150, "evangelion.jpg"),
new Oeuvre("[Oshi No Ko]", new List<string> { "Action", "Future" }, "DVD", "A la fin il meurt", 2, 24, "oshinoko.png"), new Oeuvre("[Oshi No Ko]", new List<string> { "Action", "Future" }, "DVD", "A la fin il meurt", 2, 24, "oshinoko.png"),
}; };
var utilisateurs = new List<Utilisateur> { new Utilisateur(), new Utilisateur() }; var utilisateurs = new List<Utilisateur> { new Utilisateur(), new Utilisateur() };
// Act // Act
@ -64,16 +70,19 @@ namespace UnitTests
Assert.Equal(utilisateurs.Count, manager.Utilisateurs.Count); Assert.Equal(utilisateurs.Count, manager.Utilisateurs.Count);
} }
/// <summary>
/// Vérifie que la méthode Sauvegarder enregistre les données en utilisant PersistanceManager (DataContractXml).
/// </summary>
[Fact] [Fact]
public void Sauvegarder_Should_SaveDataUsingPersistanceManager_DataContractXml() public void Sauvegarder_Should_SaveDataUsingPersistanceManager_DataContractXml()
{ {
// Arrange // Arrange
var persistanceXml = new DataContractPersistance.DataContractXml(); var persistanceXml = new DataContractPersistance.DataContractXml();
var manager = new Manager(persistanceXml); var manager = new Manager(persistanceXml);
var oeuvres = new ObservableCollection<Oeuvre> var oeuvres = new ObservableCollection<Oeuvre>
{ {
new Oeuvre("Evangelion", new List<string> { "Action", "Future" }, "TV", "C'est une bonne série", 4, 150, "evangelion.jpg"), new Oeuvre("Evangelion", new List<string> { "Action", "Future" }, "TV", "C'est une bonne série", 4, 150, "evangelion.jpg"),
new Oeuvre("[Oshi No Ko]", new List<string> { "Action", "Future" }, "DVD", "A la fin il meurt", 2, 24, "oshinoko.png"), new Oeuvre("[Oshi No Ko]", new List<string> { "Action", "Future" }, "DVD", "A la fin il meurt", 2, 24, "oshinoko.png"),
}; };
var utilisateurs = new List<Utilisateur> { new Utilisateur(), new Utilisateur() }; var utilisateurs = new List<Utilisateur> { new Utilisateur(), new Utilisateur() };

@ -9,6 +9,16 @@ namespace UnitTests
{ {
public class UnitTestOeuvre public class UnitTestOeuvre
{ {
/// <summary>
/// Vérifie que le constructeur de la classe Oeuvre initialise correctement les propriétés avec tous les paramètres.
/// </summary>
/// <param name="nom">Le nom de l'œuvre.</param>
/// <param name="genres">Les genres de l'œuvre.</param>
/// <param name="type">Le type de l'œuvre.</param>
/// <param name="description">La description de l'œuvre.</param>
/// <param name="note">La note de l'œuvre.</param>
/// <param name="nbEpisodes">Le nombre d'épisodes de l'œuvre.</param>
/// <param name="affiche">L'affiche de l'œuvre.</param>
[Theory] [Theory]
[InlineData("[Oshi No Ko]", new string[] { "Action", "Drama", "Fantasy" }, "TV Series", "A thrilling anime series.", 9, 25, "oshinoko.png")] [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( public void Oeuvre_Constructor_WithAllParameters_ShouldSetPropertiesCorrectly(
@ -27,6 +37,14 @@ namespace UnitTests
Assert.Equal(affiche, oeuvre.Affiche); Assert.Equal(affiche, oeuvre.Affiche);
} }
/// <summary>
/// Vérifie que le constructeur de la classe Oeuvre initialise correctement les propriétés avec les paramètres requis.
/// </summary>
/// <param name="nom">Le nom de l'œuvre.</param>
/// <param name="type">Le type de l'œuvre.</param>
/// <param name="description">La description de l'œuvre.</param>
/// <param name="nbEpisodes">Le nombre d'épisodes de l'œuvre.</param>
/// <param name="affiche">L'affiche de l'œuvre.</param>
[Theory] [Theory]
[InlineData("One Piece", "TV Series", "An epic adventure.", 1000, "onepiece.jpg")] [InlineData("One Piece", "TV Series", "An epic adventure.", 1000, "onepiece.jpg")]
public void Oeuvre_Constructor_WithRequiredParameters_ShouldSetPropertiesCorrectly( public void Oeuvre_Constructor_WithRequiredParameters_ShouldSetPropertiesCorrectly(
@ -45,6 +63,15 @@ namespace UnitTests
Assert.Equal(affiche, oeuvre.Affiche); Assert.Equal(affiche, oeuvre.Affiche);
} }
/// <summary>
/// Vérifie que la méthode AjouterEpisode augmente le nombre d'épisodes de l'œuvre du montant donné.
/// </summary>
/// <param name="nom">Le nom de l'œuvre.</param>
/// <param name="type">Le type de l'œuvre.</param>
/// <param name="description">La description de l'œuvre.</param>
/// <param name="nbEpisodes">Le nombre d'épisodes de l'œuvre.</param>
/// <param name="affiche">L'affiche de l'œuvre.</param>
/// <param name="nbEpisodesToAdd">Le nombre d'épisodes à ajouter.</param>
[Theory] [Theory]
[InlineData("Naruto", "TV Series", "A ninja's journey.", 220, "evangelion.jpg", 50)] [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)] [InlineData("Dragon Ball", "TV Series", "A Saiyan's story.", 291, "evangelion.jpg", 20)]

@ -4,6 +4,15 @@ namespace UnitTests
{ {
public class UnitTestUtilisateur public class UnitTestUtilisateur
{ {
/// <summary>
/// Vérifie que le constructeur de la classe Utilisateur initialise correctement les propriétés.
/// </summary>
/// <param name="email">L'adresse e-mail de l'utilisateur.</param>
/// <param name="pseudo">Le pseudo de l'utilisateur.</param>
/// <param name="mdp">Le mot de passe de l'utilisateur.</param>
/// <param name="nom">Le nom de l'utilisateur.</param>
/// <param name="prenom">Le prénom de l'utilisateur.</param>
/// <param name="age">L'âge de l'utilisateur.</param>
[Theory] [Theory]
[InlineData("test@test.com", "pseudo", "mdp", "John", "Doe", 30)] [InlineData("test@test.com", "pseudo", "mdp", "John", "Doe", 30)]
[InlineData("test2@test.com", "pseudo2", "mdp2", "Jane", "Smith", 25)] [InlineData("test2@test.com", "pseudo2", "mdp2", "Jane", "Smith", 25)]
@ -21,6 +30,10 @@ namespace UnitTests
Assert.Equal(age, utilisateur.age); Assert.Equal(age, utilisateur.age);
} }
/// <summary>
/// Vérifie que la méthode SupprimerUtilisateur réinitialise les propriétés de l'utilisateur à null.
/// </summary>
/// <param name="utilisateur">L'utilisateur à supprimer.</param>
// Utilisez [MemberData] pour des jeux de données dynamiques // Utilisez [MemberData] pour des jeux de données dynamiques
[Theory] [Theory]
[MemberData(nameof(UtilisateursTestData.GetTestData), MemberType = typeof(UtilisateursTestData))] [MemberData(nameof(UtilisateursTestData.GetTestData), MemberType = typeof(UtilisateursTestData))]
@ -38,6 +51,9 @@ namespace UnitTests
} }
} }
/// <summary>
/// Classe de données pour les tests de la classe Utilisateur.
/// </summary>
public class UtilisateursTestData public class UtilisateursTestData
{ {
public static IEnumerable<object[]> GetTestData() public static IEnumerable<object[]> GetTestData()
@ -46,4 +62,4 @@ namespace UnitTests
yield return new object[] { new Utilisateur("test2@test.com", "pseudo2", "mdp2", "Jane", "Smith", 25) }; yield return new object[] { new Utilisateur("test2@test.com", "pseudo2", "mdp2", "Jane", "Smith", 25) };
} }
} }
} }

Loading…
Cancel
Save