From 30f1dd1b5733b7a852375bbe0c854aad63519714 Mon Sep 17 00:00:00 2001 From: HMatheo Date: Sat, 10 Jun 2023 18:49:43 +0200 Subject: [PATCH] Added even more better test --- src/UnitTests/UnitTestDataContractJson.cs | 28 +++++++++++++--- src/UnitTests/UnitTestDataContractXml.cs | 18 +++++++++++ src/UnitTests/UnitTestDataToPersist.cs | 34 +++++++++++++------- src/UnitTests/UnitTestIPersistanceManager.cs | 3 +- 4 files changed, 66 insertions(+), 17 deletions(-) diff --git a/src/UnitTests/UnitTestDataContractJson.cs b/src/UnitTests/UnitTestDataContractJson.cs index 28aec10..3383a51 100644 --- a/src/UnitTests/UnitTestDataContractJson.cs +++ b/src/UnitTests/UnitTestDataContractJson.cs @@ -12,16 +12,16 @@ namespace UnitTests /// /// Vérifie que la propriété FileName a la valeur par défaut "SauvegardeDonnees.json". /// - public class DataContractXmlTests + public class DataContractJsonTests { [Fact] public void FileName_Should_HaveDefaultValue() { // Arrange - var dataContractXml = new DataContractJson(); + var dataContractJson = new DataContractJson(); // Assert - Assert.Equal("SauvegardeDonnees.json", dataContractXml.FileName); + Assert.Equal("SauvegardeDonnees.json", dataContractJson.FileName); } /// @@ -31,10 +31,28 @@ namespace UnitTests public void FilePath_Should_HaveDefaultValue() { // Arrange - var dataContractXml = new DataContractJson(); + var dataContractJson = new DataContractJson(); // Assert - Assert.Equal(Path.Combine(AppDomain.CurrentDomain.BaseDirectory), dataContractXml.FilePath); + Assert.Equal(Path.Combine(AppDomain.CurrentDomain.BaseDirectory), dataContractJson.FilePath); + } + + /// + /// Vérifie que la propriété FilePath peut être assignée avec une autre valeur et que la valeur assignée est correcte. + /// + [Theory] + [InlineData("C:\\Data\\")] + [InlineData("D:\\Backup\\")] + public void FilePath_Should_BeAssignable(string filePath) + { + // Arrange + var dataContractJson = new DataContractJson(); + + // Act + dataContractJson.FilePath = filePath; + + // Assert + Assert.Equal(filePath, dataContractJson.FilePath); } } } diff --git a/src/UnitTests/UnitTestDataContractXml.cs b/src/UnitTests/UnitTestDataContractXml.cs index c14a85c..c3410c2 100644 --- a/src/UnitTests/UnitTestDataContractXml.cs +++ b/src/UnitTests/UnitTestDataContractXml.cs @@ -41,6 +41,24 @@ namespace UnitTests // Assert Assert.Equal(Path.Combine(AppDomain.CurrentDomain.BaseDirectory), dataContractXml.FilePath); } + + /// + /// Vérifie que la propriété FilePath peut être assignée avec une autre valeur et que la valeur assignée est correcte. + /// + [Theory] + [InlineData("C:\\Data\\")] + [InlineData("D:\\Backup\\")] + public void FilePath_Should_BeAssignable(string filePath) + { + // Arrange + var dataContractXml = new DataContractXml(); + + // Act + dataContractXml.FilePath = filePath; + + // Assert + Assert.Equal(filePath, dataContractXml.FilePath); + } } } } diff --git a/src/UnitTests/UnitTestDataToPersist.cs b/src/UnitTests/UnitTestDataToPersist.cs index d39e862..802590b 100644 --- a/src/UnitTests/UnitTestDataToPersist.cs +++ b/src/UnitTests/UnitTestDataToPersist.cs @@ -12,7 +12,7 @@ namespace UnitTests public class UnitTestDataToPersist { /// - /// Vérifie que la propriété Oeuvres est initialisée et est une instance de ObservableCollection. + /// Vérifie que la propriété Oeuvres est initialisée et est une instance de ObservableCollection. /// [Fact] public void Oeuvres_Should_BeInitialized() @@ -42,16 +42,20 @@ namespace UnitTests /// /// Vérifie que la propriété Oeuvres peut être assignée avec une autre collection d'œuvres et que la valeur assignée est correcte. /// - [Fact] - public void Oeuvres_Should_BeAssignable() + [Theory] + [InlineData(1)] + [InlineData(2)] + public void Oeuvres_Should_BeAssignable(int oeuvresCount) { // Arrange var dataToPersist = new DataToPersist(); - var oeuvres = new ObservableCollection + var oeuvres = new ObservableCollection(); + + // Add oeuvresCount number of oeuvres + for (int i = 0; i < oeuvresCount; i++) { - 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"), - }; + oeuvres.Add(new Oeuvre($"Oeuvre{i}", new List(), "Type", "Description", 0, 0, "Affiche")); + } // Act dataToPersist.Oeuvres = oeuvres; @@ -61,14 +65,22 @@ namespace UnitTests } /// - /// vérifie que la propriété Utilisateurs peut être assignée avec une autre liste d'utilisateurs et que la valeur assignée est correcte. + /// Vérifie que la propriété Utilisateurs peut être assignée avec une autre liste d'utilisateurs et que la valeur assignée est correcte. /// - [Fact] - public void Utilisateurs_Should_BeAssignable() + [Theory] + [InlineData(1)] + [InlineData(2)] + public void Utilisateurs_Should_BeAssignable(int utilisateursCount) { // Arrange var dataToPersist = new DataToPersist(); - var utilisateurs = new List { new Utilisateur(), new Utilisateur() }; + var utilisateurs = new List(); + + // Add utilisateursCount number of utilisateurs + for (int i = 0; i < utilisateursCount; i++) + { + utilisateurs.Add(new Utilisateur()); + } // Act dataToPersist.Utilisateurs = utilisateurs; diff --git a/src/UnitTests/UnitTestIPersistanceManager.cs b/src/UnitTests/UnitTestIPersistanceManager.cs index 1f28fbd..71a7a5d 100644 --- a/src/UnitTests/UnitTestIPersistanceManager.cs +++ b/src/UnitTests/UnitTestIPersistanceManager.cs @@ -49,7 +49,8 @@ namespace UnitTests } [Fact] - public void Sauvegarder_CallsConsoleWriteLine() + 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();