TP00 – Code de test simpliste

Ce qui suit se veut un code de test simpliste, pour vous permettre de faire une validation mineure du code écrit dans le cadre de votre TP00, et à vérifier le respect de certaines consignes (par exemple, le respect des noms imposés dans les consignes). Nous vous invitons à faire des tests plus rigoureux que ce qui suit.

Notez que ce code utilise Clé et Valeur à titre de nom pour les paires retournées dans le tableau que produit la méthode FabriqueGénérateurs.ObtenirStatistiques(), mais ces deux noms n'ont pas été imposés par les consignes du travail pratique. Conséquemment, vous pouvez ajuster ces noms dans le code de test proposé et utiliser les noms qui vous sembleront adéquats.

static void Test(FabriqueGénérateurs fab, string nom, TypeGénérateur type)
{
   IGénérateurId p = fab.Créer(type);
   var lst = new List<ushort>();
   Console.Write($"{nom}, pige initiale : ");
   for (int i = 0; i != 10; ++i)
   {
      lst.Add(p.Prendre());
      Console.Write($"{lst[lst.Count-1]} ");
   }
   Console.WriteLine();
   foreach (var n in lst)
      p.Rendre(n);
   Console.Write($"{nom}, pige post-remise : ");
   for (int i = 0; i != 10; ++i)
      Console.Write($"{p.Prendre()} ");
   Console.WriteLine();
}
static void Main(string[] args)
{
   var fab = new FabriqueGénérateurs();
   Test(fab, "Séquentiel", TypeGénérateur.Séquentiel);
   Test(fab, "Recycleur", TypeGénérateur.Recycleur);
   Test(fab, "Aléatoire", TypeGénérateur.Aléatoire);
   Test(fab, "Partagé", TypeGénérateur.Partagé);
   Test(fab, "Recycleur", TypeGénérateur.Recycleur);
   Test(fab, "Partagé", TypeGénérateur.Partagé);
   foreach (var p in fab.ObtenirStatistiques())
      Console.WriteLine($"{p.Clé} a été instancié {p.Valeur} fois");
}

Un affichage possible pour ce programme de test serait :

Séquentiel, pige initiale : 0 1 2 3 4 5 6 7 8 9
Séquentiel, pige post-remise : 10 11 12 13 14 15 16 17 18 19
Recycleur, pige initiale : 0 1 2 3 4 5 6 7 8 9
Recycleur, pige post-remise : 9 8 7 6 5 4 3 2 1 0
Aléatoire, pige initiale : 43393 49414 36479 30471 65324 60833 33097 3122 1620 34963
Aléatoire, pige post-remise : 15480 20807 20035 17413 44416 6666 15791 41399 54431 51711
Partagé, pige initiale : 0 1 2 3 4 5 6 7 8 9
Partagé, pige post-remise : 9 8 7 6 5 4 3 2 1 0
Recycleur, pige initiale : 0 1 2 3 4 5 6 7 8 9
Recycleur, pige post-remise : 9 8 7 6 5 4 3 2 1 0
Partagé, pige initiale : 10 11 12 13 14 15 16 17 18 19
Partagé, pige post-remise : 19 18 17 16 15 14 13 12 11 10
Séquentiel a été instancié 1 fois
Recycleur a été instancié 2 fois
Aléatoire a été instancié 1 fois
Partagé a été instancié 1 fois

Voilà!


Valid XHTML 1.0 Transitional

CSS Valide !