public void Phase1_5_PartieDeBatailleNavale_JouerLaPartie() { for (int x = 0; x < 100; x++) { try { IContratDuJoueurDeBatailleNavale joueur1 = new joueurTest("joueur 1"); IContratDuJoueurDeBatailleNavale joueur2 = new joueurTest("joueur 2"); PartieDeBatailleNavale partie = new PartieDeBatailleNavale(joueur1, joueur2); partie.ChoisirLesRôlesDeDépartDesJoueurs(); partie.PréparerLaBataille(); partie.JouerLaPartie(); } catch (Exception) { Assert.Fail("Il semble encore y avoir des anomalies dans le déroulement de la partie..."); } } }
Phase1_3_PartieDeBatailleNavale_ChoisirLesRôlesDeDépartDesJoueurs() { IContratDuJoueurDeBatailleNavale joueur1 = new joueurTest("joueur 1"); IContratDuJoueurDeBatailleNavale joueur2 = new joueurTest("joueur 2"); PartieDeBatailleNavale partie = new PartieDeBatailleNavale(joueur1, joueur2); // partie.ChoisirLesRôlesDeDépartDesJoueurs(); // IContratDuJoueurDeBatailleNavale attaquantDeDépart = partie.Attaquant; int joueur1Attaquant = 0; int joueur2Attaquant = 0; for (int x = 0; x < 1000; x++) { partie.ChoisirLesRôlesDeDépartDesJoueurs(); Assert.IsNotNull(partie.Attaquant, "L'attaquant ne peut pas être null"); Assert.IsNotNull(partie.Défenseur, "Le défenseur ne peut pas être null"); if (partie.Attaquant == joueur1) { joueur1Attaquant++; Assert.AreEqual(partie.Défenseur, joueur2, "Incohérence entre joueur ataquant et défenseur"); } else if (partie.Attaquant == joueur2) { joueur2Attaquant++; Assert.AreEqual(partie.Défenseur, joueur1, "Incohérence entre joueur ataquant et défenseur"); } else { Assert.Fail("Incohérence entre joueur ataquant et défenseur"); } } if (Math.Abs(joueur1Attaquant - joueur2Attaquant) > 100) { Assert.Fail("Un joueur semble favorisé au tirage au sort de départ"); } }
public void Phase1_4_PartieDeBatailleNavale_IntervertirLesRôlesDesJoueurs() { IContratDuJoueurDeBatailleNavale joueur1 = new joueurTest("joueur 1"); IContratDuJoueurDeBatailleNavale joueur2 = new joueurTest("joueur 2"); PartieDeBatailleNavale partie = new PartieDeBatailleNavale(joueur1, joueur2); partie.ChoisirLesRôlesDeDépartDesJoueurs(); IContratDuJoueurDeBatailleNavale attaquantActuel = partie.Attaquant; IContratDuJoueurDeBatailleNavale défenseurActuel = partie.Défenseur; for (int x = 0; x < 100; x++) { partie.IntervertirLesRôlesDesJoueurs(); if (attaquantActuel == partie.Attaquant) { Assert.Fail("L'attaquant n'a pas changé après l'appel à IntervertirLesRôlesDesJoueurs()"); } Assert.AreEqual(défenseurActuel, partie.Attaquant, "Incohérence après l'interversion des rôles des joueurs"); attaquantActuel = partie.Attaquant; défenseurActuel = partie.Défenseur; } }