static void Main(string[] args) { WriteLine("Test de la classe Manager\n"); StubBibliothèqueDataManager bibliothèqueDataManager = new StubBibliothèqueDataManager(); bibliothèqueDataManager.ToutRetirer(); bibliothèqueDataManager.ObtenirPrincipale().AjouterOeuvre(new Film("unFilmListePrincipale", "CheminImageFilmListePrincipale", new DateTime(2016, 01, 25), "unRéalisateur", "unStudio", new ObservableDictionary <StringVérifié, StringVérifié>(), "Ceci est un synopsis - Film - ListePrincipale", "Ceci est un commentaire personnel - Film - ListePrincipale")); bibliothèqueDataManager.ObtenirPrincipale().AjouterOeuvre(new Livre("unLivreListePrincipale", "CheminImageLivreListePrincipale", new DateTime(1998, 02, 23), "unAuteur", "unÉditeur", new ObservableDictionary <StringVérifié, StringVérifié>(), "Ceci est un synopsis - Livre - ListePrincipale", "Ceci est un commentaire personnel - Livre - ListePrincipale")); bibliothèqueDataManager.Ajouter(new Bibliothèque("laBibliothèque1", "CheminImageBiblio1", new ObservableCollection <Oeuvre>())); bibliothèqueDataManager.AjouterOeuvre(new Autre("unAutreBibliothèque1", "CheminImageAutreBibliothèque1", DateTime.Today, "unCréateur", new ObservableDictionary <StringVérifié, StringVérifié>(), "Ceci est un synopsis - Autre - Bibliothèque1", "Ceci est un commentaire personnel - Autre - Bibliothèque1"), bibliothèqueDataManager.ObtenirParNom("laBibliothèque1")); bibliothèqueDataManager.AjouterOeuvre(new Film("unFilmBibliothèque1", "CheminImageFilmBibliothèque1", new DateTime(2019, 05, 25), "unRéalisateur", "unStudio", new ObservableDictionary <StringVérifié, StringVérifié>(), "Ceci est un synopsis - Film - Bibliothèque1", "Ceci est un commentaire personnel - Film - Bibliothèque1"), bibliothèqueDataManager.ObtenirParNom("laBibliothèque1")); bibliothèqueDataManager.AjouterOeuvre(new Série("uneSérieBibliothèque1", "CheminImageSérieBibliothèque1", new DateTime(2001, 06, 05), "unRéalisateur", "unStudio", new ObservableDictionary <StringVérifié, StringVérifié>(), "Ceci est un synopsis - Série - Bibliothèque1", "Ceci est un commentaire personnel - Série - Bibliothèque1"), bibliothèqueDataManager.ObtenirParNom("laBibliothèque1")); Manager manager = new Manager(bibliothèqueDataManager); Bibliothèque bibliothèque2 = new Bibliothèque("laBibliothèque2", "CheminImageBiblio2", new ObservableCollection <Oeuvre>()); bibliothèque2.AjouterOeuvre(new Livre("unLivreBibliothèque2", "CheminImageLivreBibliothèque2", DateTime.Today, "unAuteur", "unÉditeur", new ObservableDictionary <StringVérifié, StringVérifié>(), "Ceci est un synopsis - Livre - Bibliothèque2", "Ceci est un commentaire personnel - Livre - Bibliothèque2")); bibliothèque2.AjouterOeuvre(new Animé("unAniméBibliothèque2", "CheminImageAniméBibliothèque2", new DateTime(2015, 05, 01), "unAuteur", "unStudio", new ObservableDictionary <StringVérifié, StringVérifié>(), "Ceci est un synopsis - Animé - Bibliothèque2", "Ceci est un commentaire personnel - Animé - Bibliothèque2")); bibliothèque2.AjouterOeuvre(new Scan("unScanBibliothèque2", "CheminImageScanBibliothèque2", DateTime.Today, "unAuteur", "unÉditeur", new ObservableDictionary <StringVérifié, StringVérifié>(), "Ceci est un synopsis - Scan - Bibliothèque2", "Ceci est un commentaire personnel - Scan - Bibliothèque2")); manager.AjouterOeuvre(new Livre("unLivreManager", "CheminImageLivreManager", new DateTime(1998, 02, 23), "unAuteur", "unÉditeur", new ObservableDictionary <StringVérifié, StringVérifié>(), "Ceci est un synopsis - Livre - Manager", "Ceci est un commentaire personnel - Livre - Manager")); manager.AjouterBibliothèque(bibliothèque2); WriteLine("Regardons les informations du manager"); WriteLine("\n\nTappez sur entrez pour continuer"); ReadLine(); Test_Du_Manager(manager, false); Clear(); WriteLine("Test de la classe Manager\n"); WriteLine("Réinitialisons le manager, et réaffichons ses informations"); WriteLine("\n\nTappez sur entrez pour continuer"); ReadLine(); manager.RéinitialiserManager(); Test_Du_Manager(manager, true); Clear(); WriteLine("Test de la classe Manager\n"); WriteLine("On remet les deux bibliothèques et on suprrime la première via son nom, et la seconde via son Objet :"); WriteLine($"Ajout de la première : {manager.AjouterBibliothèque(new Bibliothèque("laBibliothèque1", "CheminImageBiblio1", new ObservableCollection<Oeuvre>()))}"); WriteLine($"Ajout de la seconde : {manager.AjouterBibliothèque(bibliothèque2)}"); WriteLine($"Suppression de la première : {manager.RetirerBibliothèque("laBibliothèque1")}"); WriteLine($"Suppression de la seconde : {manager.RetirerBibliothèque(bibliothèque2)}"); manager.RetirerOeuvre(bibliothèque2[0].Nom); //Car bibliothèque2 contient 3 oeuvres non supprimées de la liste principale manager.RetirerOeuvre(bibliothèque2[1].Nom); //Car bibliothèque2 contient 3 oeuvres non supprimées de la liste principale manager.RetirerOeuvre(bibliothèque2[2].Nom); //Car bibliothèque2 contient 3 oeuvres non supprimées de la liste principale Livre livre = new Livre("unLivreManager", "CheminImageLivreManager", new DateTime(1998, 02, 23), "unAuteur", "unÉditeur", new ObservableDictionary <StringVérifié, StringVérifié>(), "Ceci est un synopsis - Livre - Manager", "Ceci est un commentaire personnel - Livre - Manager"); Film film = new Film("unFilmManager", "CheminImageFilmManager", new DateTime(1998, 02, 23), "unAuteur", "unÉditeur", new ObservableDictionary <StringVérifié, StringVérifié>(), "Ceci est un synopsis - Film - Manager", "Ceci est un commentaire personnel - Film - Manager"); WriteLine("\nOn remet deux oeuvres dans le manager et on suprrime la première via son nom, et la seconde via son Objet :"); WriteLine($"Ajout de la première : {manager.AjouterOeuvre(livre)}"); WriteLine($"Ajout de la seconde : {manager.AjouterOeuvre(film)}"); WriteLine($"Suppression de la première : {manager.RetirerOeuvre("unLivreManager")}"); WriteLine($"Suppression de la seconde : {manager.RetirerOeuvre(film)}"); WriteLine("\nVérifions : "); WriteLine("\n\nTappez sur entrez pour continuer"); ReadLine(); Test_Du_Manager(manager, true); manager.RéinitialiserManager(); WriteLine($"On réinitialise le manager puis on ajoute une oeuvre : {manager.AjouterOeuvre(livre)}"); WriteLine("\nEt on l'affiche : \n"); WriteLine(manager.ListePrincipale[0]); WriteLine("\n\nTappez sur entrez pour continuer et voir ses oeuvres"); ReadLine(); Clear(); bool modif = manager.ModifierOeuvre("unLivreManager", "unLivreManagerModifié", "CheminImageLivreManagerModifié", DateTime.Today, null, "unÉditeurModifié", new ObservableDictionary <StringVérifié, StringVérifié>() { { new StringVérifié("UnNomInfoModifié"), new StringVérifié("UneInfoModifiée") }, { new StringVérifié("UnAutreNomInfoModifiée"), new StringVérifié("UneAutreInfoModifiée") } }, "Ceci est un synopsis modifié - Livre - Manager", "Ceci est un commentaire personnel modifié - Livre - Manager"); WriteLine($"On la modifie (sauf l'auteur) : {modif}"); WriteLine("\nEt on l'affiche : \n"); WriteLine(manager.ListePrincipale[0]); WriteLine("\n\nTappez sur entrez pour continuer"); ReadLine(); Bibliothèque uneBibliothèque = new Bibliothèque("uneBibliothèque", "CheminImageuneBiblio", new ObservableCollection <Oeuvre>()); uneBibliothèque.AjouterOeuvre(new Autre("unAutreUneBibliothèque", "CheminImageAutreUneBibliothèque", DateTime.Today, "unCréateur", new ObservableDictionary <StringVérifié, StringVérifié>(), "Ceci est un synopsis - Autre - UneBibliothèque", "Ceci est un commentaire personnel - Autre - UneBibliothèque")); uneBibliothèque.AjouterOeuvre(new Film("unFilmUneBibliothèque", "CheminImageFilmUneBibliothèque", new DateTime(2019, 05, 25), "unRéalisateur", "unStudio", new ObservableDictionary <StringVérifié, StringVérifié>(), "Ceci est un synopsis - Film - UneBibliothèque", "Ceci est un commentaire personnel - Film - UneBibliothèque")); uneBibliothèque.AjouterOeuvre(new Série("uneSérieUneBibliothèque", "CheminImageSérieUneBibliothèque", new DateTime(2001, 06, 05), "unRéalisateur", "unStudio", new ObservableDictionary <StringVérifié, StringVérifié>(), "Ceci est un synopsis - Série - UneBibliothèque", "Ceci est un commentaire personnel - Série - UneBibliothèque")); Clear(); WriteLine("Test de la classe Manager\n"); manager.RéinitialiserManager(); WriteLine($"On réinitialise le manager puis on ajoute une bibliothèque : {manager.AjouterBibliothèque(uneBibliothèque)}"); WriteLine("Et on l'affiche via ObtenirBibliothèque : "); WriteLine("\n\nTappez sur entrez pour continuer"); ReadLine(); Test_D_Une_Bibliothèque(manager.ObtenirBibliothèque("uneBibliothèque")); WriteLine("Test de la classe Manager\n"); WriteLine("\nOn la modifie (sauf le chemin de l'image) et la réaffiche (via l'indexeur avec le nom) :"); WriteLine("\n\nTappez sur entrez pour continuer"); ReadLine(); Clear(); ObservableCollection <Oeuvre> desOeuvres = new ObservableCollection <Oeuvre>(); desOeuvres.Add(new Livre("unLivreBiblioModifiée", "CheminImageLivreBiblioModifiée", DateTime.Today, "unAuteur", "unÉditeur", new ObservableDictionary <StringVérifié, StringVérifié>(), "Ceci est un synopsis - Livre - BiblioModifiée", "Ceci est un commentaire personnel - Livre - BiblioModifiée")); desOeuvres.Add(new Animé("unAniméBiblioModifiée", "CheminImageAniméBiblioModifiée", new DateTime(2015, 05, 01), "unAuteur", "unStudio", new ObservableDictionary <StringVérifié, StringVérifié>(), "Ceci est un synopsis - Animé - BiblioModifiée", "Ceci est un commentaire personnel - Animé - BiblioModifiée")); desOeuvres.Add(new Scan("unScanBiblioModifiée", "CheminImageScanBiblioModifiée", DateTime.Today, "unAuteur", "unÉditeur", new ObservableDictionary <StringVérifié, StringVérifié>(), "Ceci est un synopsis - Scan - BiblioModifiée", "Ceci est un commentaire personnel - Scan - BiblioModifiée")); manager.ModifierBibliothèque("uneBibliothèque", "uneBibliothèqueModifiée", null, desOeuvres); Test_D_Une_Bibliothèque(manager["uneBibliothèqueModifiée"]); WriteLine("On remarque que la Bibliothèque a été modifiée"); WriteLine("\n\nTappez sur entrez pour continuer"); ReadLine(); Clear(); WriteLine("Test de la classe Manager\n"); WriteLine("Ajoutons maintenant les bibliothèques 1 et 2 comme précédemment"); manager.AjouterBibliothèque(new Bibliothèque("laBibliothèque1", "CheminImageBiblio1", new ObservableCollection <Oeuvre>())); manager.AjouterBibliothèque(bibliothèque2); WriteLine($"Il devrait donc y avoir 3 bibliothèques, comptons : {manager.NombreBibliothèque()}"); WriteLine("\nCherchons les bibliothèques avec \'1\' dans le nom : "); foreach (Bibliothèque bibliothèque in manager.RechercherBibliothèque("1")) { WriteLine($"Trouvée : {bibliothèque.Nom}"); } WriteLine("\nCherchons les bibliothèques avec \'biblio\' dans le nom : "); foreach (Bibliothèque bibliothèque in manager.RechercherBibliothèque("biblio")) { WriteLine($"Trouvée : {bibliothèque.Nom}"); } WriteLine("\n\nTappez sur entrez pour continuer"); ReadLine(); Clear(); WriteLine("Test de la classe Manager\n"); WriteLine("Enfin on test l'indexeur du numéro, en affichant le juste le nom des bibliothèques :"); for (int i = 0; i < manager.NombreBibliothèque(); i++) { WriteLine(manager[i].Nom); } WriteLine("\n\nTappez sur entrez pour continuer"); ReadLine(); Clear(); }
static void Main(string[] args) { WriteLine("Test de la classe Bibliothèque"); StubBibliothèqueDataManager bibliothèqueDataManager = new StubBibliothèqueDataManager(); bibliothèqueDataManager.ToutRetirer(); bibliothèqueDataManager.Ajouter(new Bibliothèque("laBibliothèque", "CheminImageBiblio", new ObservableCollection <Oeuvre>())); Bibliothèque bibliothèque = bibliothèqueDataManager.ObtenirParNom("laBibliothèque"); bibliothèque.AjouterOeuvre(new Autre("unAutre", "CheminImageAutre", DateTime.Today, "unCréateur", new ObservableDictionary <StringVérifié, StringVérifié>(), "Ceci est un synopsis - Autre", "Ceci est un commentaire personnel - Autre")); bibliothèque.AjouterOeuvre(new Film("unFilm", "CheminImageFilm", DateTime.Today, "unRéalisateur", "unStudio", new ObservableDictionary <StringVérifié, StringVérifié>(), "Ceci est un synopsis - Film", "Ceci est un commentaire personnel - Film")); bibliothèque.AjouterOeuvre(new Série("uneSérie", "CheminImageSérie", DateTime.Today, "unRéalisateur", "unStudio", new ObservableDictionary <StringVérifié, StringVérifié>(), "Ceci est un synopsis - Série", "Ceci est un commentaire personnel - Série")); bibliothèque.AjouterOeuvre(new Livre("unLivre", "CheminImageLivre", DateTime.Today, "unAuteur", "unÉditeur", new ObservableDictionary <StringVérifié, StringVérifié>(), "Ceci est un synopsis - Livre", "Ceci est un commentaire personnel - Livre")); bibliothèque.AjouterOeuvre(new Animé("unAnimé", "CheminImageAnimé", DateTime.Today, "unAuteur", "unStudio", new ObservableDictionary <StringVérifié, StringVérifié>(), "Ceci est un synopsis - Animé", "Ceci est un commentaire personnel - Animé")); bibliothèque.AjouterOeuvre(new Scan("unScan", "CheminImageScan", DateTime.Today, "unAuteur", "unÉditeur", new ObservableDictionary <StringVérifié, StringVérifié>(), "Ceci est un synopsis - Scan", "Ceci est un commentaire personnel - Scan")); WriteLine($"Informations de la Bibliothèque :\nNom : {bibliothèqueDataManager.ObtenirParNom("laBibliothèque").Nom}\nImage : {bibliothèque.Image}\n"); WriteLine("\n\nTappez sur entrez pour continuer et voir ses oeuvres"); ReadLine(); Clear(); foreach (Oeuvre oeuvre in bibliothèqueDataManager.ObtenirParNom("laBibliothèque").LesOeuvres) { WriteLine("Ses oeuvres :\n"); WriteLine(oeuvre); WriteLine("\n\nTappez sur entrez pour continuer"); ReadLine(); Clear(); } WriteLine("On retire toutes ses oeuvres sauf la série\n"); bibliothèque.RetirerOeuvre("unAutre"); bibliothèque.RetirerOeuvre(bibliothèqueDataManager.ObtenirParNom("laBibliothèque").ObtenirOeuvre("unFilm")); bibliothèque.RetirerOeuvre("unLivre"); bibliothèque.RetirerOeuvre("unAnimé"); bibliothèque.RetirerOeuvre("unScan"); WriteLine($"unAutre présente ? : {bibliothèqueDataManager.ObtenirParNom("laBibliothèque").ContientOeuvre("unAutre")} (Doit être False)"); WriteLine($"unFilm présente ? : {bibliothèqueDataManager.ObtenirParNom("laBibliothèque").ContientOeuvre("unFilm")} (Doit être False)"); WriteLine($"unLivre présente ? : {bibliothèqueDataManager.ObtenirParNom("laBibliothèque").ContientOeuvre("unLivre")} (Doit être False)"); WriteLine($"unAnimé présente ? : {bibliothèque.ContientOeuvre(bibliothèque.ObtenirOeuvre("unAnimé"))} (Doit être False)"); WriteLine($"unScan présente ? : {bibliothèque.ContientOeuvre(bibliothèque.ObtenirOeuvre("unScan"))} (Doit être False)"); WriteLine($"uneSérie présente ? : {bibliothèque.ContientOeuvre("uneSérie")} (Doit être True)"); }