Bonjour à tous,
Mon problème est le suivant : j'ai dans mon code principal une fonction qui permet de tester si la valeur choisie par l'utilisateur est bien présente dans un tableau précédemment incrémenté, la fonction doit retourner true si c'est le cas et false si ça ne l'est pas, voici le code de ladite fonction
jusque là pas de problèmes mais quand j'essaye de vérifier ce que renvoie la fonction avec le test unitaire suivant :Code:public static bool Test(int[] tab, int choisi) { int iteration; for (iteration = 1; iteration <= 10; iteration++) { if (choisi == tab[iteration]) { return true; } } return false; }
Le test échoue systématiquement que je lui demande de vérifier si elle renvoie true ou false, comme si la fonction ne renvoyait rien, pourtant elle semble bien renvoyer l'une des 2 valeurs puisque plus bas dans le code principal, ce pan de code :Code:[TestMethod] public void TestTest() { int[] tableau = new int [10]; int iteration, nbchoisi; nbchoisi = 4; for (iteration = 1; iteration <= 10; iteration++) { tableau[iteration] = 4; } bool verif = Program.Test(tableau, nbchoisi); Assert.AreEqual(true, verif); }
Semble réagir au résultat retourné par la fonction, je ne comprend donc pas pourquoi mon test échoue, je vous remercie d'avance de votre aide.Code:if (Test(tableau, choix) == false) { Console.Write("La valeur entrée n'est pas dans le tableau \n" ); Console.ReadKey(); }
-----