public void Phase_2_6_RéparerLaFlotteDeNavires() { UneFlotteDeNavires flotte = new UneFlotteDeNavires(); foreach (UnNavire navire in flotte.Navires) { foreach (var section in navire.Sections) { section.Etat = EtatDeSectionDeNavire.Touché; } } flotte.RéparerTousLesNavires(); bool aucuneSectionTouchée = true; foreach (UnNavire navire in flotte.Navires) { foreach (var section in navire.Sections) { if (section.Etat == EtatDeSectionDeNavire.Touché) { aucuneSectionTouchée = false; } } } Assert.IsTrue(aucuneSectionTouchée, "Après réparation, toutes les sections de tous les navires doivent être intactes!"); }
public void Phase_2_8_VérifierLeRésultatDuTir() { UneFlotteDeNavires flotte = new UneFlotteDeNavires(); MettreTousLesNaviresAuPort(flotte); byte ligne = 1; foreach (UnNavire navire in flotte.Navires) { int sectionNum = 0; for (; sectionNum < navire.Sections.Length - 1; sectionNum++) { RésultatDeTir resultatTirTouché = navire.VérifierLeRésultatDuTir(new CoordonnéesDeBatailleNavale((char)('A' + sectionNum), ligne)); Assert.AreEqual(resultatTirTouché, RésultatDeTir.Touché, "Le navire situé ici devrait être touché"); } RésultatDeTir resultatTirTouchéCoulé = navire.VérifierLeRésultatDuTir(new CoordonnéesDeBatailleNavale((char)('A' + sectionNum), ligne)); Assert.AreEqual(resultatTirTouchéCoulé, RésultatDeTir.TouchéCoulé, "Le navire situé ici devrait être touché et coulé!"); ligne++; } flotte.RéparerTousLesNavires(); ligne = 1; foreach (UnNavire navire in flotte.Navires) { int sectionNum = 0; for (; sectionNum < navire.Sections.Length - 1; sectionNum++) { RésultatDeTir resultatTirTouché = flotte.VérifierLeRésultatDuTir(new CoordonnéesDeBatailleNavale((char)('A' + sectionNum), ligne)); Assert.AreEqual(resultatTirTouché, RésultatDeTir.Touché, "Le navire situé ici devrait être touché"); } if (ligne < 5) // dernière section , mais pas dernier navire { RésultatDeTir resultatTirTouchéCoulé = flotte.VérifierLeRésultatDuTir(new CoordonnéesDeBatailleNavale((char)('A' + sectionNum), ligne)); Assert.AreEqual(resultatTirTouchéCoulé, RésultatDeTir.TouchéCoulé, "Le navire situé ici devrait être touché et coulé !"); } else // dernière section , du dernier navire { RésultatDeTir resultatTirTouchéCouléFinal = flotte.VérifierLeRésultatDuTir(new CoordonnéesDeBatailleNavale((char)('A' + sectionNum), ligne)); Assert.AreEqual(resultatTirTouchéCouléFinal, RésultatDeTir.TouchéCouléFinal, "Le navire situé ici devrait être le dernier navire touché et coulé!"); } ligne++; } }