Beispiel #1
0
        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!");
        }
Beispiel #2
0
        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++;
            }
        }