public void TestDebutDuJeu()
        {
            RuleController MonControlleur = new RuleController();
            MonControlleur.demarerDuel(obtenirJoueur1(), obtenirJoueur2());
            Assert.AreEqual(1, MonControlleur.numTour, "Num tour NOK");
            Assert.AreEqual(3, MonControlleur.nbAction, "NbAction tour NOK");
            Assert.AreEqual(4, MonControlleur.joueur1.cartesEnMain.Count, "Nb cartes en mains joueur 1 NOk");
            Assert.AreEqual(4, MonControlleur.joueur2.cartesEnMain.Count, "Nb cartes en mains joueur 2 NOk");

        }
        public void TestDebutTourCartePermSoin()
        {
            RuleController MonControlleur = new RuleController();
            MonControlleur.demarerDuel(obtenirJoueur1(), obtenirJoueur2());
            decimal actionAvantCarte = MonControlleur.joueur1["actions"];
            decimal PVJoueur2 = MonControlleur.joueur2["PV"];
            MonControlleur.joueur1.cartesEnMain.ajouterCarte(getCarte("Mante religieuse"));
            Assert.AreEqual(5, MonControlleur.joueur1.cartesEnMain.Count, "Nb cartes en mains joueur 1 NOk");
            Carte carteJouee = MonControlleur.jouerUneCarteDepuisLaMain("Mante religieuse");
            Assert.AreEqual(PVJoueur2-carteJouee.attaque, MonControlleur.joueur2["PV"], "PV joueur 2  après jouer une carte NOk");
            MonControlleur.plateau.terrainsJoueur2.ajouterCarte(getCarte("Immortelle des dunes"));
            MonControlleur.finTourJoueur1();
            Assert.AreEqual(PVJoueur2 - carteJouee.attaque+1, MonControlleur.joueur2["PV"], "PV après immortelle des dunes NOK");

            
        }
        public void TestCarteRetardée()
        {
            RuleController MonControlleur = new RuleController();
            MonControlleur.demarerDuel(obtenirJoueur1(), obtenirJoueur2());
            decimal actionAvantCarte = MonControlleur.joueur1["actions"];
            int PaceLibreTerrainJoueur1 = MonControlleur.plateau.terrainsJoueur1.positionsLibres.Count;
            MonControlleur.joueur1.cartesEnMain.ajouterCarte(getCarte("Figuier de Barbarie"));
            Assert.AreEqual(5, MonControlleur.joueur1.cartesEnMain.Count, "Nb cartes en mains joueur 1 NOk");
            Carte carteJouee = MonControlleur.jouerUneCarteDepuisLaMain("Figuier de Barbarie");
            Assert.AreEqual(actionAvantCarte-3,MonControlleur.joueur1["actions"],"Nb action après carte retadrée NOK");
            Assert.AreEqual(PaceLibreTerrainJoueur1 - 1, MonControlleur.plateau.terrainsJoueur1.positionsLibres.Count, "Nb place libre joueur 1 NOK");

        }
        public void TestJouerCarteImpossible()
        {
            RuleController MonControlleur = new RuleController();
            MonControlleur.demarerDuel(obtenirJoueur1(), obtenirJoueur2());
            decimal actionAvantCarte = MonControlleur.joueur1["actions"];
            decimal PVJoueur2 = MonControlleur.joueur2["PV"];
            MonControlleur.joueur1.cartesEnMain.ajouterCarte(getCarte("Guêpe"));
            Assert.AreEqual(5, MonControlleur.joueur1.cartesEnMain.Count, "Nb cartes en mains joueur 1 NOk");
            Carte carteJouee = MonControlleur.jouerUneCarteDepuisLaMain("Guêpe");


            Assert.AreEqual(actionAvantCarte, MonControlleur.joueur1["actions"], "Nb action après jouer une carte NOK");
            Assert.AreEqual(5, MonControlleur.joueur1.cartesEnMain.Count, "Nb cartes en mains joueur 1 après jouer une carte NOk");
            Assert.AreEqual(PVJoueur2,MonControlleur.joueur2["PV"], "PV joueur 2  après jouer une carte NOk");
        }