using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using Modele; using StubLib; using Xunit; namespace TestUnitaire { // Test de la classe Manager public class TestManager { [Fact] // Test du Constructeur de Manager avec un Stub public void TestConstructorStub() { // Création d;un Manager avec un Stub en paramètre var manager = new Manager(new Stub()); // Verifie si la liste des Titres du manager n'est pas vide Assert.NotEmpty(manager.ListeTitre); } [Fact] // Test du Constructeur de Manager avec les paramètres public void TestConstructorParams() { // Création de 2 Titres avec des strings en paramètres var titre1 = new Titre("001","blabla", "Pamplemousse", "www.youtube.com", "Jacques", "~/test", "biographie"); var titre2 = new Titre("002","blabla2", "Pamplemousse2", "www.youtube.com2", "Jacques2", "~/test2", "biographie2"); // Création du Manager avec les 2 Titres var manager = new Manager(titre1, titre2); // Vérifie si le Manager n'est pas vide Assert.NotEmpty(manager.ListeTitre); // Vérifie qu'il y a 2 Titres dans la liste de Titre du Manager Assert.Equal(2, manager.ListeTitre.Count); // Vérifie si le Manager contient les 2 titres passé en paramètres Assert.Contains(titre1, manager.ListeTitre); Assert.Contains(titre2, manager.ListeTitre); } [Fact] // Test de la fonction ToString du Manager public void TestToString() { #region Arrange // Création d'un Titre avec des strings en paramètres var titre1 = new Titre("001","blabla", "Pamplemousse", "www.youtube.com", "Jacques", "~/test", "biographie"); //Création d'un Manager avec le Titre crée précédemment var manager = new Manager(titre1); // Initialisation du message attendu var msg = "Mes Titres : blabla - Pamplemousse - Jacques - www.youtube.com - ~/test - biographie\t"; #endregion #region Act #endregion #region Assert // Vérifie si la fonction ToString renvoie la même chose que ce qui est attendu Assert.Equal(msg, manager.ToString()); #endregion } // If we add a product to the list, the list contains one more product and it is present in the list [Fact] public void TestAddOneProductToTheListeTitre() { #region Arrange //Création de 2 Titres avec des strings en paramètres var titre1 = new Titre("001","blabla", "Pamplemousse", "www.youtube.com", "Jacques", "~/test", "biographie"); var titre2 = new Titre("002","blabla2", "Pamplemousse2", "www.youtube.com2", "Jacques2", "~/test2", "biographie2"); //Création d'un Manager avec les 2 Titres var manager = new Manager(titre1, titre2); // Initialisation des valeurs courrantes et attendu var currentListeTitreCount = 2; var expectedListeTitreCount = 3; // Fait une copie de la liste avant d'ajouter le titre à la liste var currentListeTitre = manager.ListeTitre.ToList(); // Création d'un nouveau Titre que l'on va ajouté var newTitre = new Titre("003", "blabla3", "Pamplemousse3", "www.youtube.com3", "Jacques3", "~/test3", "biographie3"); // Initialisation de la liste attendu après l'ajout du Titre var expectedListeTitre = new List() { titre1, titre2, newTitre, }; #endregion #region Act // Ajout du Titre au Manager manager.AjouterTitre(newTitre); #endregion #region Assert // Before // Verify the number of items in the list Assert.Equal(currentListeTitreCount, currentListeTitre.Count); // Verify the list contains all titles Assert.Contains(titre1, currentListeTitre); Assert.Contains(titre2, currentListeTitre); // After // Verify the number of items in the list Assert.Equal(expectedListeTitreCount, manager.ListeTitre.Count); // Verify the old titles are in the list Assert.Contains(titre1, manager.ListeTitre); Assert.Contains(titre2, manager.ListeTitre); // Verify the new title is in the list Assert.Contains(newTitre, manager.ListeTitre); // Verify the new list is equal to the expected one Assert.Equal(expectedListeTitre, manager.ListeTitre); // Verify that we can't add the same title 2 times Assert.False(manager.AjouterTitre(newTitre)); #endregion } [Fact] // Test de la liste des Favoris public void TestListeFavoris() { #region Arrange // Création d'un Manager sans paramètre var manager = new Manager(); #endregion #region Act #endregion #region Assert // Vérifie que la listeCollection du Manager est pas null Assert.NotNull(manager.ListeCollection); // Vérifie que la listeCollection du Manager est pas vide Assert.NotEmpty(manager.ListeCollection); // Vérifie que la listeCollection du Manager contient seulement une collection Assert.Single(manager.ListeCollection); // Vérifie que la première collection de la listeCollection du Manager est de Type Favoris Assert.True(manager.GetListeFavoris() is Favoris); #endregion } [Fact] //Test creation d'une collection public void TestCollection() { #region Arrange // Création d'un Manager sans paramètres var manager = new Manager(); // Création d'un Titre et d'une Collection contenant le Titre var titre1 = new Titre("001", "blabla", "Pamplemousse", "www.youtube.com", "Jacques", "~/test", "biographie"); CollectionTitre collection1 = new CollectionTitre(titre1); //Initialisation des valeurs courrantes et attendues var currentListeCollectionCount = 1; var expectedListeCollectionCount = 2; // Fait une copie de la listeCollection de Manager var currentListeCollection = manager.ListeCollection.ToList(); #endregion #region Act // Ajout de la collection au Manager manager.AjouterCollection(collection1); #endregion #region Assert //Before // Vérifie que le Manager contenait le bon nombre de CollectionTitre avant les actions Assert.Equal(currentListeCollectionCount, currentListeCollection.Count); // Vérifie que le Manager contenait seulement 1 CollectionTitre Assert.Single(currentListeCollection); // Vérifie que le Manager ne contenait pas la CollectionTitre ajouté Assert.DoesNotContain(collection1, currentListeCollection); // Vérifie que la première Collection du Manger est de Type Favoris Assert.True(manager.GetListeFavoris() is Favoris); //After // Vérifie que le Manager contient le bon nombre de CollectionTitre après les actions Assert.Equal(expectedListeCollectionCount, manager.ListeCollection.Count); // Vérifie que le Manager contient la Collection ajoutée dans ses Colelctions Assert.Contains(collection1, manager.ListeCollection); // Vérifie que le Manager contient le Titre de la Collection Ajouté dans la collection ajouté Assert.Contains(titre1, manager.ListeCollection.ElementAt(1).ListeTitre); // Vérifie que la première Collection du Manger est de Type Favoris Assert.True(manager.GetListeFavoris() is Favoris); // Vérifie que l'on ne puisse pas ajouté la collection deux fois Assert.False(manager.AjouterCollection(collection1)); #endregion } /// /// Ajout d'un titre à la collection /// [Fact] public void TestAddToTheListeCollection() { #region Arrange // Création de 3 Titres, un Manager contenant les Titres titre1 et titre2, un CollectionTitre contenant le Titre titre1 var titre1 = new Titre("001", "blabla", "Pamplemousse", "www.youtube.com", "Jacques", "~/test", "biographie"); var titre2 = new Titre("002", "blabla2", "Pamplemousse2", "www.youtube.com2", "Jacques2", "~/test2", "biographie2"); var titre3 = new Titre("003", "blabla3", "Pamplemousse3", "www.youtube.com3", "Jacques3", "~/test3", "biographie3"); var manager = new Manager(titre1,titre2); CollectionTitre collection1 = new CollectionTitre(titre1); // Ajout de la collection au Manager manager.AjouterCollection(collection1); // Initialisation des valeurs attendues et courrantes var currentNumberOfTitleInCollection = 1; var expectedNumberOfTitleInCollection = 3; var currentListeCollection = manager.ListeCollection.ElementAt(1).ListeTitre.ToList(); var expectedListeTitreOfCollection = new List() { titre1, titre2, titre3, }; #endregion #region Act // Ajout du Titre titre2 puis titre3 à la deuxième liste de listeCollection du Manager manager.AjouterTitreToCollection(manager.ListeCollection.ElementAt(1), titre2); manager.AjouterTitreToCollection(manager.ListeCollection.ElementAt(1), titre3); #endregion #region Assert //Before //Vérifie que le nombre de titre dans listeCollection est la même que la valeur attendue Assert.Equal(currentNumberOfTitleInCollection, currentListeCollection.Count); // Vérifie si la listeCollection contient le Titre titre1 mais ne contient pas les Titres titre2 et titre3 Assert.Contains(titre1, currentListeCollection); Assert.DoesNotContain(titre2, currentListeCollection); Assert.DoesNotContain(titre3, currentListeCollection); //After // Vérifie que le nombre de titres dans la deuxième lsite de listeCollection contient le nombre attendu de titres Assert.Equal(expectedNumberOfTitleInCollection, manager.ListeCollection.ElementAt(1).ListeTitre.Count); // Vérifie que la Collection contient les Titres titre1, titre2 et titre3 Assert.Contains(titre1, manager.ListeCollection.ElementAt(1).ListeTitre); Assert.Contains(titre2, manager.ListeCollection.ElementAt(1).ListeTitre); Assert.Contains(titre3, manager.ListeCollection.ElementAt(1).ListeTitre); // Vérifie que la liste des Titres dans collection est la même que celle attendue Assert.Equal(expectedListeTitreOfCollection, manager.ListeCollection.ElementAt(1).ListeTitre); #endregion } /// /// Ajout d'un Titre au Favoris /// [Fact] public void TestAddTitreToFavoris() { #region Arrange // Création de 3 Titres et d'un Manager contenant les Titres titre1 et titre2 var titre1 = new Titre("001", "blabla", "Pamplemousse", "www.youtube.com", "Jacques", "~/test", "biographie"); var titre2 = new Titre("002", "blabla2", "Pamplemousse2", "www.youtube.com2", "Jacques2", "~/test2", "biographie2"); var titre3 = new Titre("003", "blabla3", "Pamplemousse3", "www.youtube.com3", "Jacques3", "~/test3", "biographie3"); var manager = new Manager(titre1, titre2); // Initialisation des valeurs attendues et courrantes var currentNumberOfTitleInCollection = 0; var expectedNumberOfTitleInCollection = 2; // Fait une copie de la liste des Favoris dans currentListeCollection var currentListeCollection = manager.GetListeFavoris().ListeTitre.ToList(); #endregion #region Act // Ajoute les Titres titre1 et titre2 aux favoris manager.AjouterTitreToCollection(manager.GetListeFavoris(), titre1); manager.AjouterTitreToCollection(manager.GetListeFavoris(), titre2); #endregion #region Assert //Before // Vérifie que le nombre de Titre dans la collection est le même que celui avant modification Assert.Equal(currentNumberOfTitleInCollection, currentListeCollection.Count); // Vérifie que la liste des Favoris ne contient pas les Titres titre1 et titre2 Assert.DoesNotContain(titre1, currentListeCollection); Assert.DoesNotContain(titre2, currentListeCollection); //After // Vérifie que le nombre de Titre dans la colelction Favoris est le même que celui attendu Assert.Equal(expectedNumberOfTitleInCollection, manager.GetListeFavoris().ListeTitre.Count); // Vérifie que les Titres titre1 et titre2 sont dans la collection Favoris Assert.Contains(titre1, manager.GetListeFavoris().ListeTitre); Assert.Contains(titre2, manager.GetListeFavoris().ListeTitre); #endregion } /// /// Suppression d'un Titre des favoris /// [Fact] public void TestRemoveTitreToFavoris() { #region Arrange // Création de 3 Titres et d'un Manager contenant les 3 Titres var titre1 = new Titre("001", "blabla", "Pamplemousse", "www.youtube.com", "Jacques", "~/test", "biographie"); var titre2 = new Titre("002", "blabla2", "Pamplemousse2", "www.youtube.com2", "Jacques2", "~/test2", "biographie2"); var titre3 = new Titre("003", "blabla3", "Pamplemousse3", "www.youtube.com3", "Jacques3", "~/test3", "biographie3"); var manager = new Manager(titre1, titre2, titre3); // Initialisation des valeurs attendues var currentNumberOfTitleInCollection = 3; var expectedNumberOfTitleInCollection = 0; // Ajout des 3 Titres dans la collection Favoris de listeCollection du Manager manager.AjouterTitreToCollection(manager.GetListeFavoris(), titre1); manager.AjouterTitreToCollection(manager.GetListeFavoris(), titre2); manager.AjouterTitreToCollection(manager.GetListeFavoris(), titre3); // Fait une copie de la collection Favoris de listeCollection du Manager dans currentListeCollection var currentListeCollection = manager.GetListeFavoris().ListeTitre.ToList(); #endregion #region Act // Suppression des 3 Titres de la collection Favoris de listeCollection du Manager manager.SupprimerTitreFromCollection(manager.GetListeFavoris(), titre1); manager.SupprimerTitreFromCollection(manager.GetListeFavoris(), titre2); manager.SupprimerTitreFromCollection(manager.GetListeFavoris(), titre3); #endregion #region Assert //Before // Vérifie que le nombre de Titre dans les Favoris était les même que ceux attendu Assert.Equal(currentNumberOfTitleInCollection, currentListeCollection.Count); // Vérifie que la liste Favoris contenait les trois Titres Assert.Contains(titre1, currentListeCollection); Assert.Contains(titre2, currentListeCollection); Assert.Contains(titre3, currentListeCollection); //After //Vérique que le nombre de Titre dans Favoris est celui attendu Assert.Equal(expectedNumberOfTitleInCollection, manager.GetListeFavoris().ListeTitre.Count); //Vérifie que la colelction de Favoris de listeCollection ne contient pas les Titres Assert.DoesNotContain(titre1, manager.GetListeFavoris().ListeTitre); Assert.DoesNotContain(titre2, manager.GetListeFavoris().ListeTitre); Assert.DoesNotContain(titre3, manager.GetListeFavoris().ListeTitre); // Vérifie que la ListeTitre de Manager a toujours les Titres Assert.Contains(titre1, manager.ListeTitre); Assert.Contains(titre2, manager.ListeTitre); Assert.Contains(titre3, manager.ListeTitre); // Vérifie que la fonction SupprimerTitreFromCollection renvoie False si on essaye d'enlever un Titre qui n'est pas dans Favoris Assert.False(manager.SupprimerTitreFromCollection(manager.GetListeFavoris(), titre1)); #endregion } /// /// Supression d'un Titre d'une collection /// [Fact] public void TestRemoveTitleOfCollection() { #region Arrange // Création de 3 Titres et d'un Manager contenant les 3 Titres et d'une CollectionTitre contenant aussi les 3 Titres var titre1 = new Titre("001", "blabla", "Pamplemousse", "www.youtube.com", "Jacques", "~/test", "biographie"); var titre2 = new Titre("002", "blabla2", "Pamplemousse2", "www.youtube.com2", "Jacques2", "~/test2", "biographie2"); var titre3 = new Titre("003", "blabla3", "Pamplemousse3", "www.youtube.com3", "Jacques3", "~/test3", "biographie3"); var manager = new Manager(titre1, titre2, titre3); CollectionTitre collection1 = new CollectionTitre(titre1,titre2,titre3); // Ajout de la collection au Manager manager.AjouterCollection(collection1); // Initialisation des valeur attendue et courrantes var currentNumberOfTitleInCollection = 3; var expectedNumberOfTitleInCollection = 2; // Fait une copie de la liste de CollectionTitre avant de faire des modification var currentListeCollection = manager.ListeCollection.ElementAt(1).ListeTitre.ToList(); #endregion #region Act // Supprime le Titre titre2 à la collection de Manager manager.SupprimerTitreFromCollection(manager.ListeCollection.ElementAt(1), titre2); #endregion #region Assert //Before // Vérifie que le nombre de Titre initial est bien celui que l'on attend Assert.Equal(currentNumberOfTitleInCollection, currentListeCollection.Count); // Vérifie que le les Titres sont dans la collection Assert.Contains(titre1, currentListeCollection); Assert.Contains(titre2, currentListeCollection); Assert.Contains(titre3, currentListeCollection); //After // Vérifie que le nombre de titre dans la collection après suppression est celui que l'on attend Assert.Equal(expectedNumberOfTitleInCollection,manager.ListeCollection.ElementAt(1).ListeTitre.Count); // Vérifie que la collection contient titre1 et titre3 Assert.Contains(titre1, manager.ListeCollection.ElementAt(1).ListeTitre); Assert.Contains(titre3, manager.ListeCollection.ElementAt(1).ListeTitre); // Vérifie que titre2 est bien supprimé de la collection Assert.DoesNotContain(titre2, manager.ListeCollection.ElementAt(1).ListeTitre); // Vérifie que le Titre est supprimé seulement dans la collection Assert.Contains(titre2, manager.ListeTitre); // Vérifie que l'on ne puisse pas ajouter la collection deux fois au Manager Assert.False(manager.AjouterCollection(collection1)); #endregion } /// /// Supression d'une collection /// [Fact] public void TestRemoveOfCollection() { #region Arrange // Création de 3 Titres et d'un Manager contenant les 3 Titres et d'une CollectionTitre contenant aussi les 3 Titres var titre1 = new Titre("001", "blabla", "Pamplemousse", "www.youtube.com", "Jacques", "~/test", "biographie"); var titre2 = new Titre("002", "blabla2", "Pamplemousse2", "www.youtube.com2", "Jacques2", "~/test2", "biographie2"); var titre3 = new Titre("003", "blabla3", "Pamplemousse3", "www.youtube.com3", "Jacques3", "~/test3", "biographie3"); var manager = new Manager(titre1, titre2, titre3); CollectionTitre collection1 = new CollectionTitre(titre1, titre2, titre3); // Ajout de la colelction au Manager manager.AjouterCollection(collection1); //Initialisation des valeurs attendues et courrantes var currentNumberOfCollection = 2; var expectedNumberOfollection = 1; // Fait une copie de la listeCollection avant de la modifier var currentListeCollection = manager.ListeCollection.ToList(); #endregion #region Act // Supprime de la ListeCollection du Manager la collection1 manager.SupprimerCollection(collection1); #endregion #region Assert //Before // Vérifie que le nombre de collection initial est le même que celui attendu Assert.Equal(currentNumberOfCollection, currentListeCollection.Count); // Vérifie que la ListeCollection du Manager contennait bien collection1 Assert.Contains(collection1, currentListeCollection); //After // Vérifie que le nombre de collection après modification est celui attendu Assert.Equal(expectedNumberOfollection, manager.ListeCollection.Count); // Vérifie que la ListeCollection du Manager ne contient plus collection1 Assert.DoesNotContain(collection1, manager.ListeCollection); // Vérifie SupprimerCollection renvoie False si on essaye de supprimer une collection qui n'est pas dans la listeCollection du Manager Assert.False(manager.SupprimerCollection(collection1)); #endregion } /// /// Supression de la collection favoris (Impossible, ne doit pas supprimer) /// [Fact] public void TestRemoveCollectionFavoris() { #region Arrange // Création de 3 Titres et d'un Manager contenant les 3 Titres var titre1 = new Titre("001", "blabla", "Pamplemousse", "www.youtube.com", "Jacques", "~/test", "biographie"); var titre2 = new Titre("002", "blabla2", "Pamplemousse2", "www.youtube.com2", "Jacques2", "~/test2", "biographie2"); var titre3 = new Titre("003", "blabla3", "Pamplemousse3", "www.youtube.com3", "Jacques3", "~/test3", "biographie3"); var manager = new Manager(titre1, titre2, titre3); // Initialisation des valeurs attendues et courrantes var currentNumberOfCollection = 1; var expectedNumberOfollection = 1; var currentNumberOfTitleInCollection = 3; var expectedNumberOfTitleInCollection = 3; // Ajout des Titres à la colelction Favoris de ListeCollection du Manager manager.AjouterTitreToCollection(manager.GetListeFavoris(), titre1); manager.AjouterTitreToCollection(manager.GetListeFavoris(), titre2); manager.AjouterTitreToCollection(manager.GetListeFavoris(), titre3); // Fait une copie de la ListeCollection du Manager var currentListeCollection = manager.ListeCollection.ToList(); #endregion #region Act // Essaie de Supprimer la liste Favoris de ListeCollection manager.SupprimerCollection(manager.GetListeFavoris()); #endregion #region Assert // Vérifie si on supprime Favoris de la ListeCollection du Manager, la méthode renvoie False Assert.False(manager.SupprimerCollection(manager.GetListeFavoris())); //Before // Vérifie que le nombre de collection dans ListeCollection est celui qui est attendu Assert.Equal(currentNumberOfCollection, currentListeCollection.Count); // Vérifie que le nombre de Titre dans Favoris de ListeCollection du Manager est celui qui est attendu Assert.Equal(currentNumberOfTitleInCollection, currentListeCollection.First().ListeTitre.Count); //After // Vérifie que le nombre de collection dans ListeCollection est celui qui est attendu Assert.Equal(expectedNumberOfollection, manager.ListeCollection.Count); // Vérifie que le nombre de Titre dans Favoris de ListeCollection du Manager est celui qui est attendu Assert.Equal(expectedNumberOfTitleInCollection, manager.GetListeFavoris().ListeTitre.Count); // Vérifie que l'on ne puisse pas ajouter le Titre titre1 deux fois au Favoris de la ListeCollection du Manager Assert.False(manager.AjouterTitreToCollection(manager.GetListeFavoris(), titre1)); #endregion } /// /// Supression d'un titre de la liste de titre (L'ajouter dans un premier temps dans une collection et dans les favoris -> doit le supprimer de partout) /// [Fact] public void TestSupprimerTitre() { #region Arrange // Création de 3 Titres et d'un Manager les contenant var titre1 = new Titre("001", "blabla", "Pamplemousse", "www.youtube.com", "Jacques", "~/test", "biographie"); var titre2 = new Titre("002", "blabla2", "Pamplemousse2", "www.youtube.com2", "Jacques2", "~/test2", "biographie2"); var titre3 = new Titre("003", "blabla3", "Pamplemousse3", "www.youtube.com3", "Jacques3", "~/test3", "biographie3"); var manager = new Manager(titre1, titre2, titre3); // Création d'une CollectionTitre contenant titre1 titre2 et titre3 var collection1 = new CollectionTitre(titre1, titre2, titre3); // Ajout de la collection au Manager manager.AjouterCollection(collection1); // Initialisation des valeurs attendues et courrantes var currentNumberOfTile = 3; var expectedNumberOfTile = 2; var currentNumberOfTitleInCollection = 3; var expectedNumberOfTitleInCollection = 2; // Ajout des Titres titre1 titre2 et titre3 à la collection Favoris de ListeCollection du Manager manager.AjouterTitreToCollection(manager.GetListeFavoris(), titre1); manager.AjouterTitreToCollection(manager.GetListeFavoris(), titre2); manager.AjouterTitreToCollection(manager.GetListeFavoris(), titre3); // Fait des copie des deux liste de ListeCollection et de ListeTitre du Manager var currentListeFavoris = manager.GetListeFavoris().ListeTitre.ToList(); var currentListeCollection = manager.ListeCollection.ElementAt(1).ListeTitre.ToList(); var currentListeTitre = manager.ListeTitre.ToList(); #endregion #region Act // Supprime le Titre titre2 manager.SupprimerTitre(titre2); #endregion #region Assert //Before // Vérifie que le nombre de Titre dans les collections sont les même que celui attendu Assert.Equal(currentNumberOfTitleInCollection, currentListeFavoris.Count); Assert.Equal(currentNumberOfTitleInCollection, currentListeCollection.Count); Assert.Equal(currentNumberOfTile, currentListeTitre.Count); // Vérifie que les collections contenait titre1, titre2 et titre3 Assert.Contains(titre1, currentListeFavoris); Assert.Contains(titre1, currentListeCollection); Assert.Contains(titre1, currentListeTitre); Assert.Contains(titre2, currentListeFavoris); Assert.Contains(titre2, currentListeCollection); Assert.Contains(titre2, currentListeTitre); Assert.Contains(titre3, currentListeFavoris); Assert.Contains(titre3, currentListeCollection); Assert.Contains(titre3, currentListeTitre); //After // Vérifie que le nombre de titre dans les collections sont bien ceux attendu Assert.Equal(expectedNumberOfTitleInCollection, manager.GetListeFavoris().ListeTitre.Count); Assert.Equal(expectedNumberOfTitleInCollection, manager.ListeCollection.ElementAt(1).ListeTitre.Count); Assert.Equal(expectedNumberOfTile, manager.ListeTitre.Count); // Vérifie que les collections contiennent titre1 et titre3 Assert.Contains(titre1, manager.GetListeFavoris().ListeTitre); Assert.Contains(titre1, manager.ListeCollection.ElementAt(1).ListeTitre); Assert.Contains(titre1, manager.ListeTitre); Assert.Contains(titre3, manager.GetListeFavoris().ListeTitre); Assert.Contains(titre3, manager.ListeCollection.ElementAt(1).ListeTitre); Assert.Contains(titre3, manager.ListeTitre); // Vérifie que les collections ne contiennent pas titre2 Assert.DoesNotContain(titre2, manager.GetListeFavoris().ListeTitre); Assert.DoesNotContain(titre2, manager.ListeCollection.ElementAt(1).ListeTitre); Assert.DoesNotContain(titre2, manager.ListeTitre); // Verify we can't remove a title who not exists Assert.False(manager.SupprimerTitre(titre2)); #endregion } /// /// Test de la méthode ModifierTitre de Manager /// [Fact] public void TestModifierTitre() { #region Arrange // Création de 4 Titres, d'un Manager contenant les Titres titre1 et titre2 puis d'une collection vide var titre1 = new Titre("001", "blabla", "Pamplemousse", "www.youtube.com", "Jacques", "~/test", "biographie"); var titre2 = new Titre("002", "blabla2", "Pamplemousse2", "www.youtube.com2", "Jacques2", "~/test2", "biographie2"); var titre3 = new Titre("003", "blabla3", "Pamplemousse3", "www.youtube.com3", "Jacques3", "~/test3", "biographie3"); var titreInconnu = new Titre("Inconnu", "Inconnu", "Inconnu", "Inconnu", "Inconnu", "Inconnu", "Inconnu"); var manager = new Manager(titre1, titre2); var collection1 = new CollectionTitre(); // Ajout de la collection au Manager ainsi que les Titres titre1 et titre2 à cette collection manager.AjouterCollection(collection1); manager.AjouterTitreToCollection(collection1,titre1); manager.AjouterTitreToCollection(collection1,titre2); // Fait une copie de ListeTitre et de la collection dans ListeCollection du Manager var currentListeTitre = manager.ListeTitre.ToList(); var currentListeCollection = manager.ListeCollection.ElementAt(1).ListeTitre.ToList(); // Initialise les valeurs attendues var NumberOfTitle = 2; var NewTitre = new Titre("003","blabla3", "Pamplemousse3", "www.youtube.com3", "Jacques3", "~/test3", "biographie3"); var TitreRemplacé = new Titre("001","blabla", "Pamplemousse", "www.youtube.com", "Jacques", "~/test", "biographie"); //Before Assert // Vérifie que le nombre de Titre dans ListeTitre du Manager est le même que celui attendu Assert.Equal(NumberOfTitle, currentListeTitre.Count); // Vérifie que ListeTitre du Manager contient titre2 TitreRemplacé(titre1) et ne contient pas NewTitre(titre3) Assert.Contains(titre2, currentListeTitre); Assert.Contains(TitreRemplacé, currentListeTitre); Assert.DoesNotContain(NewTitre, currentListeTitre); //Vérifie que le nombre de Titre dans la collection du Manager est le même que celui attendu Assert.Equal(NumberOfTitle, currentListeCollection.Count); // Vérifie que la collection du Manager contient titre2 TitreRemplacé(titre1) et ne contient pas NewTitre(titre3) Assert.Contains(titre2, currentListeCollection); Assert.Contains(TitreRemplacé, currentListeCollection); Assert.DoesNotContain(NewTitre, currentListeCollection); #endregion #region Act // Modifie titre1 avec titre3 manager.ModifierTitre(titre1,titre3); #endregion #region Assert //After // Vérifie que le nombre de titre dans ListeTitre du Manager est le même que celui attendu Assert.Equal(NumberOfTitle, manager.ListeTitre.Count); // Vérifie que ListeTitre du Manager contient titre2 NewTitre(titre3) mais ne contient pas TitreRemplacé(titre1) Assert.Contains(titre2, manager.ListeTitre); Assert.Contains(NewTitre, manager.ListeTitre); Assert.DoesNotContain(TitreRemplacé, manager.ListeTitre); // Vérifie que le nombre de titre dans la collection du Manager est le même que celui attendu Assert.Equal(NumberOfTitle, manager.ListeCollection.ElementAt(1).ListeTitre.Count); // Vérifie que la collection du Manager contient titre2 NewTitre(titre3) mais ne contient pas TitreRemplacé(titre1) Assert.Contains(titre2, manager.ListeCollection.ElementAt(1).ListeTitre); Assert.Contains(NewTitre, manager.ListeCollection.ElementAt(1).ListeTitre); Assert.DoesNotContain(TitreRemplacé, manager.ListeCollection.ElementAt(1).ListeTitre); // Vérifie que l'on ne puisse pas modifier un Titre qui n'est pas dans le Manager Assert.False(manager.ModifierTitre(titreInconnu, titre3)); #endregion } } }