static void Main(string[] args) { Console.WriteLine("Test de la classe Oeuvre\n"); //Pour faire ce test, la classe n'était plus abstract /* * Oeuvre oeuvre = new Oeuvre("oeuvre", "CheminOeuvre", DateTime.Now, new ObservableDictionary<StringVérifié, StringVérifié>(), * "Ceci est le synopsis de l'oeuvre 1", "Ceci est le commentaire de l'oeuvre 1"); * * Console.WriteLine($"Nom : {oeuvre.Nom}\nImage : {oeuvre.Image}\nSortie : {oeuvre.Sortie}\n" + * $"Synopsis : {oeuvre.Synopsis}\nCommentaire : {oeuvre.Commentaire}"); * * oeuvre.AjouterInformation(new StringVérifié("PremièreInfo"), new StringVérifié("L'infoUtile")); * oeuvre.AjouterInformation(new StringVérifié("SecondeInfo"), new StringVérifié("L'infoNonIndispensable")); * oeuvre.AjouterInformation(new StringVérifié("TroisièmeInfo"), new StringVérifié("L'infoInutile")); * * Console.WriteLine("\nLes informations de l'oeuvre :"); * Console.WriteLine(oeuvre.InfoToString()); * * Console.WriteLine("\nModification des informations de l'oeuvre :"); * Console.WriteLine($"Suppression de l'info inutile : {oeuvre.RetirerInformation("TroisièmeInfo")}"); * * String? info2 = oeuvre.RechercherInformation("SecondeInfo"); * Console.WriteLine(info2 == null ? "SecondeInfo introuvable par RechercherInformation !(pas bien)" : * "SecondeInfo trouvée par RechercherInformation !(bien)"); * String? info3 = oeuvre.RechercherInformation("TroisièmeInfo"); * Console.WriteLine(info3 == null ? "TroisièmeInfo introuvable par RechercherInformation car supprimée (bien)" : * "TroisièmeInfo trouvée par RechercherInformation alors que supprimée !(pas bien)"); * * Console.WriteLine("\nCompte combien de fois apparait la chaine \"Oeuvre\""); * Console.WriteLine($"Doit en trouver 2, et en trouve : {oeuvre.ContientMotClé("Oeuvre")}"); * Console.WriteLine(); * Console.WriteLine("Compte combien de fois apparait la chaine \"info\""); * Console.WriteLine($"Doit en trouver 4, et en trouve : {oeuvre.ContientMotClé("info")}"); */ //Ce test permet de ne pas instancier une Oeuvre directement StubOeuvreDataManager oeuvreDataManager = new StubOeuvreDataManager(); oeuvreDataManager.ToutRetirer(); oeuvreDataManager.Ajouter(new Autre("unAutre", "CheminImageAutre", DateTime.Today, "unCréateur", new ObservableDictionary <StringVérifié, StringVérifié>() { { new StringVérifié("NomPremièreInfo"), new StringVérifié("UnePremièreInfo") }, { new StringVérifié("NomSecondeInfo"), new StringVérifié("UneSecondeInfo") } }, "Ceci est un synopsis - Autre", "Ceci est un commentaire personnel - Autre")); Oeuvre oeuvre = (oeuvreDataManager.ObtenirParNom("unAutre") as Oeuvre); WriteLine(oeuvre); oeuvre.AjouterInformation(new StringVérifié("TroisièmeInfo"), new StringVérifié("L'infoInutile")); WriteLine("\nModification des informations de l'oeuvre :"); WriteLine($"Suppression de l'info inutile : {oeuvre.RetirerInformation(new StringVérifié("TroisièmeInfo"))}"); StringVérifié info1 = oeuvre.RechercherInformation(new StringVérifié("NomPremièreInfo")); WriteLine(info1 == null ? "PremièreInfo introuvable par RechercherInformation !(pas bien)" : "SecondeInfo trouvée par RechercherInformation !(bien)"); StringVérifié info3 = oeuvre.RechercherInformation(new StringVérifié("TroisièmeInfo")); WriteLine(info3 == null ? "TroisièmeInfo introuvable par RechercherInformation car supprimée (bien)" : "TroisièmeInfo trouvée par RechercherInformation alors que supprimée !(pas bien)"); WriteLine("\nCompte combien de fois apparait la chaine \"Autre\""); WriteLine($"Doit en trouver 2, et en trouve : {oeuvre.ContientMotClé("Autre")}"); WriteLine(); WriteLine("Compte combien de fois apparait la chaine \"info\""); WriteLine($"Doit en trouver 4, et en trouve : {oeuvre.ContientMotClé("info")}"); }
static void Main(string[] args) { StubOeuvreDataManager oeuvreDataManager = new StubOeuvreDataManager(); oeuvreDataManager.ToutRetirer(); oeuvreDataManager.Ajouter(new Autre("unAutre", "CheminImageAutre", DateTime.Today, "unCréateur", new ObservableDictionary <StringVérifié, StringVérifié>() { { new StringVérifié("NomPremièreInfo"), new StringVérifié("UnePremièreInfo") }, { new StringVérifié("NomSecondeInfo"), new StringVérifié("UneSecondeInfo") } }, "Ceci est un synopsis - Autre", "Ceci est un commentaire personnel - Autre")); oeuvreDataManager.Ajouter(new Film("unFilm", "CheminImageFilm", DateTime.Today, "unRéalisateur", "unStudio", new ObservableDictionary <StringVérifié, StringVérifié>() { { new StringVérifié("NomPremièreInfo"), new StringVérifié("UnePremièreInfo") }, { new StringVérifié("NomSecondeInfo"), new StringVérifié("UneSecondeInfo") } }, "Ceci est un synopsis - Film", "Ceci est un commentaire personnel - Film")); oeuvreDataManager.Ajouter(new Série("uneSérie", "CheminImageSérie", DateTime.Today, "unRéalisateur", "unStudio", new ObservableDictionary <StringVérifié, StringVérifié>() { { new StringVérifié("NomPremièreInfo"), new StringVérifié("UnePremièreInfo") }, { new StringVérifié("NomSecondeInfo"), new StringVérifié("UneSecondeInfo") } }, "Ceci est un synopsis - Série", "Ceci est un commentaire personnel - Série")); oeuvreDataManager.Ajouter(new Livre("unLivre", "CheminImageLivre", DateTime.Today, "unAuteur", "unÉditeur", new ObservableDictionary <StringVérifié, StringVérifié>() { { new StringVérifié("NomPremièreInfo"), new StringVérifié("UnePremièreInfo") }, { new StringVérifié("NomSecondeInfo"), new StringVérifié("UneSecondeInfo") } }, "Ceci est un synopsis - Livre", "Ceci est un commentaire personnel - Livre")); oeuvreDataManager.Ajouter(new Scan("unScan", "CheminImageScan", DateTime.Today, "unAuteur", "unÉditeur", new ObservableDictionary <StringVérifié, StringVérifié>() { { new StringVérifié("NomPremièreInfo"), new StringVérifié("UnePremièreInfo") }, { new StringVérifié("NomSecondeInfo"), new StringVérifié("UneSecondeInfo") } }, "Ceci est un synopsis - Scan", "Ceci est un commentaire personnel - Scan")); oeuvreDataManager.Ajouter(new Animé("unAnimé", "CheminImageAnimé", DateTime.Today, "unAuteur", "unStudio", new ObservableDictionary <StringVérifié, StringVérifié>() { { new StringVérifié("NomPremièreInfo"), new StringVérifié("UnePremièreInfo") }, { new StringVérifié("NomSecondeInfo"), new StringVérifié("UneSecondeInfo") } }, "Ceci est un synopsis - Animé", "Ceci est un commentaire personnel - Animé")); for (int i = 0; i < 6; i++) { WriteLine("Test des classes héritières de Oeuvre :\n"); WriteLine(oeuvreDataManager.ObtenirTous().ToList()[i]); WriteLine("\n\nTappez sur entrez pour continuer"); ReadLine(); Clear(); } (oeuvreDataManager.ObtenirTous().ToList()[0] as Autre).ModifierOeuvre("unAutreModifié", "CheminImageAutreModifié", new DateTime(2000, 01, 01), "unCréateurModifié", new ObservableDictionary <StringVérifié, StringVérifié>() { { new StringVérifié("NomPremièreInfoModifié"), new StringVérifié("UnePremièreInfoModifié") }, { new StringVérifié("NomSecondeInfoModifié"), new StringVérifié("UneSecondeInfoModifié") } }, "Ceci est un synopsis Modifié - Autre", "Ceci est un commentaire personnel Modifié - Autre"); (oeuvreDataManager.ObtenirTous().ToList()[1] as Film).ModifierOeuvre("unFilmModifié", "CheminImageFilmModifié", new DateTime(2000, 01, 01), "unRéalisateurModifié", "unStudioModifié", new ObservableDictionary <StringVérifié, StringVérifié>() { { new StringVérifié("NomPremièreInfoModifié"), new StringVérifié("UnePremièreInfoModifié") }, { new StringVérifié("NomSecondeInfoModifié"), new StringVérifié("UneSecondeInfoModifié") } }, "Ceci est un synopsisModifié - Film", "Ceci est un commentaire personnelModifié - Film"); (oeuvreDataManager.ObtenirTous().ToList()[2] as Série).ModifierOeuvre("uneSérieModifié", "CheminImageSérieModifié", new DateTime(2000, 01, 01), "unRéalisateurModifié", "unStudioModifié", new ObservableDictionary <StringVérifié, StringVérifié>() { { new StringVérifié("NomPremièreInfoModifié"), new StringVérifié("UnePremièreInfoModifié") }, { new StringVérifié("NomSecondeInfoModifié"), new StringVérifié("UneSecondeInfoModifié") } }, "Ceci est un synopsisModifié - Série", "Ceci est un commentaire personnelModifié - Série"); (oeuvreDataManager.ObtenirTous().ToList()[3] as Livre).ModifierOeuvre("unLivreModifié", "CheminImageLivreModifié", new DateTime(2000, 01, 01), "unAuteurModifié", "unÉditeurModifié", new ObservableDictionary <StringVérifié, StringVérifié>() { { new StringVérifié("NomPremièreInfoModifié"), new StringVérifié("UnePremièreInfoModifié") }, { new StringVérifié("NomSecondeInfoModifié"), new StringVérifié("UneSecondeInfoModifié") } }, "Ceci est un synopsisModifié - Livre", "Ceci est un commentaire personnelModifié - Livre"); (oeuvreDataManager.ObtenirTous().ToList()[4] as Scan).ModifierOeuvre("unScanModifié", "CheminImageScanModifié", new DateTime(2000, 01, 01), "unAuteurModifié", "unÉditeurModifié", new ObservableDictionary <StringVérifié, StringVérifié>() { { new StringVérifié("NomPremièreInfoModifié"), new StringVérifié("UnePremièreInfoModifié") }, { new StringVérifié("NomSecondeInfoModifié"), new StringVérifié("UneSecondeInfoModifié") } }, "Ceci est un synopsisModifié - Scan", "Ceci est un commentaire personnelModifié - Scan"); (oeuvreDataManager.ObtenirTous().ToList()[5] as Animé).ModifierOeuvre("unAniméModifié", "CheminImageAniméModifié", new DateTime(2000, 01, 01), "unAuteurModifié", "unStudioModifié", new ObservableDictionary <StringVérifié, StringVérifié>() { { new StringVérifié("NomPremièreInfoModifié"), new StringVérifié("UnePremièreInfoModifié") }, { new StringVérifié("NomSecondeInfoModifié"), new StringVérifié("UneSecondeInfoModifié") } }, "Ceci est un synopsisModifié - Animé", "Ceci est un commentaire personnelModifié - Animé"); for (int i = 0; i < 6; i++) { WriteLine("Test des modifications des classes héritières de Oeuvre :\n"); WriteLine(oeuvreDataManager.ObtenirTous().ToList()[i]); WriteLine("\n\nTappez sur entrez pour continuer"); ReadLine(); Clear(); } }