Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Projet Calculateur
#49
On ajoute la chanoinesse aux sacro-saintes célestes:
Code:
package com.calculateur.warhammer.calcul.mort.arbre.calcul;

import org.apache.commons.math3.fraction.Fraction;
import org.junit.jupiter.api.Test;

import com.calculateur.warhammer.base.exception.FunctionnalExeption;
import com.calculateur.warhammer.calcul.mort.arbre.INoeudArbre;
import com.calculateur.warhammer.calcul.mort.arbre.calcul.builder.adepta.sororitas.SacroSainteCelesteBuilderAttaque;
import com.calculateur.warhammer.calcul.mort.arbre.calcul.builder.chaos.space.marine.SpaceMarineDuChaosBuilderDefense;
import com.calculateur.warhammer.calcul.mort.arbre.data.DataCalculProbabiliteBuilder;
import com.calculateur.warhammer.calcul.mort.arbre.data.IDataCalculProbabilite;
import com.calculateur.warhammer.calcul.test.utils.FractionCheminBuilder;
import com.calculateur.warhammer.data.action.IContexteAction;
import com.calculateur.warhammer.data.enumeration.EGestionDe;
import com.calculateur.warhammer.data.enumeration.EMouvement;
import com.calculateur.warhammer.data.enumeration.ESimule;
import com.calculateur.warhammer.data.identifiable.batiment.RecordBatiment;
import com.calculateur.warhammer.data.unite.IConstituantDefenseur;

public class SacroSainteCelesteVSChaosSpaceMarineTest extends AbstractCalculArbreTest {

    @Test
    public void SacrosSaintes10HallebardeTest() throws FunctionnalExeption {
        Fraction probaTouche = new Fraction(2, 3);
        Fraction probaBlesse = new Fraction(2, 3);
        Fraction probaRateSauvegarde = new Fraction(2, 3);
        Fraction probaAttendu = FractionCheminBuilder.getInstance().addFraction(probaTouche).addFraction(probaBlesse)
                .addFraction(probaRateSauvegarde).build();
        Integer nombreReussite = 6;// On tue donc 3 marines
        IDataCalculProbabilite data = getData(10, false, false, false);
        INoeudArbre racine = doTestStandard(data, probaAttendu, nombreReussite);
        RecordBlessures blessures = new RecordBlessures(1, null, null, 1);
        validateBlessureNormales(racine, blessures);
    }

    @Test
    public void SacrosSaintes10HallebardeChanoinesseTest() throws FunctionnalExeption {
        Fraction probaTouche = new Fraction(2, 3);
        Fraction probaRateTouche = new Fraction(1, 3);
        Fraction probaBlesse = new Fraction(2, 3);
        Fraction probaRateSauvegarde = new Fraction(2, 3);
        Fraction chemin1 = FractionCheminBuilder.getInstance().addFraction(probaTouche).addFraction(probaBlesse)
                .addFraction(probaRateSauvegarde).build();
        Fraction chemin2 = FractionCheminBuilder.getInstance().addFraction(probaRateTouche).addFraction(probaTouche)
                .addFraction(probaBlesse).addFraction(probaRateSauvegarde).build();
        Fraction probaAttendu = chemin1.add(chemin2);
        Integer nombreReussite = 8;// On tue donc 4 marines
        IDataCalculProbabilite data = getData(10, false, false, true);
        INoeudArbre racine = doTestStandard(data, probaAttendu, nombreReussite);
        RecordBlessures blessures = new RecordBlessures(1, null, null, 2);
        validateBlessureNormales(racine, blessures);
    }

    @Test
    public void SacrosSaintes10HallebardeRageSacreeTest() throws FunctionnalExeption {
        Fraction probaTouche = new Fraction(2, 3);
        Fraction probaBlesse = new Fraction(5, 6);
        Fraction probaRateSauvegarde = new Fraction(2, 3);
        Fraction probaAttendu = FractionCheminBuilder.getInstance().addFraction(probaTouche).addFraction(probaBlesse)
                .addFraction(probaRateSauvegarde).build();
        Integer nombreReussite = 8;// On tue donc 4 marines
        IDataCalculProbabilite data = getData(10, false, true, false);
        INoeudArbre racine = doTestStandard(data, probaAttendu, nombreReussite);
        RecordBlessures blessures = new RecordBlessures(1, null, null, 1);
        validateBlessureNormales(racine, blessures);
    }

    @Test
    public void SacrosSaintes10HallebardeRageSacreeChanoinesseTest() throws FunctionnalExeption {
        Fraction probaTouche = new Fraction(2, 3);
        Fraction probaRateTouche = new Fraction(1, 3);
        Fraction probaBlesse = new Fraction(5, 6);
        Fraction probaRateSauvegarde = new Fraction(2, 3);
        Fraction chemin1 = FractionCheminBuilder.getInstance().addFraction(probaTouche).addFraction(probaBlesse)
                .addFraction(probaRateSauvegarde).build();
        Fraction chemin2 = FractionCheminBuilder.getInstance().addFraction(probaRateTouche).addFraction(probaTouche)
                .addFraction(probaBlesse).addFraction(probaRateSauvegarde).build();
        Fraction probaAttendu = chemin1.add(chemin2);
        Integer nombreReussite = 10;// On tue donc 5 marines
        IDataCalculProbabilite data = getData(10, false, true, true);
        INoeudArbre racine = doTestStandard(data, probaAttendu, nombreReussite);
        RecordBlessures blessures = new RecordBlessures(1, null, null, 2);
        validateBlessureNormales(racine, blessures);
    }

    @Test
    public void SacrosSaintes5HallebardeTest() throws FunctionnalExeption {
        Fraction probaTouche = new Fraction(5, 6);
        Fraction probaBlesse = new Fraction(2, 3);
        Fraction probaRateSauvegarde = new Fraction(2, 3);
        Fraction probaAttendu = FractionCheminBuilder.getInstance().addFraction(probaTouche).addFraction(probaBlesse)
                .addFraction(probaRateSauvegarde).build();
        Integer nombreReussite = 4;// On tue donc 2 marines
        IDataCalculProbabilite data = getData(5, false, false, false);
        INoeudArbre racine = doTestStandard(data, probaAttendu, nombreReussite);
        RecordBlessures blessures = new RecordBlessures(1, null, null, 1);
        validateBlessureNormales(racine, blessures);
    }

    @Test
    public void SacrosSaintes5HallebardeChanoinesseTest() throws FunctionnalExeption {
        Fraction probaTouche = new Fraction(5, 6);
        Fraction probaRateTouche = new Fraction(1, 6);
        Fraction probaBlesse = new Fraction(2, 3);
        Fraction probaRateSauvegarde = new Fraction(2, 3);
        Fraction chemin1 = FractionCheminBuilder.getInstance().addFraction(probaTouche).addFraction(probaBlesse)
                .addFraction(probaRateSauvegarde).build();
        Fraction chemin2 = FractionCheminBuilder.getInstance().addFraction(probaRateTouche).addFraction(probaTouche)
                .addFraction(probaBlesse).addFraction(probaRateSauvegarde).build();
        Fraction probaAttendu = chemin1.add(chemin2);
        Integer nombreReussite = 4;// On tue donc 2 marines
        IDataCalculProbabilite data = getData(5, false, false, true);
        INoeudArbre racine = doTestStandard(data, probaAttendu, nombreReussite);
        RecordBlessures blessures = new RecordBlessures(1, null, null, 2);
        validateBlessureNormales(racine, blessures);
    }

    @Test
    public void SacrosSaintes5HallebardeRageSacreeTest() throws FunctionnalExeption {
        Fraction probaTouche = new Fraction(5, 6);
        Fraction probaBlesse = new Fraction(5, 6);
        Fraction probaRateSauvegarde = new Fraction(2, 3);
        Fraction probaAttendu = FractionCheminBuilder.getInstance().addFraction(probaTouche).addFraction(probaBlesse)
                .addFraction(probaRateSauvegarde).build();
        Integer nombreReussite = 4;// On tue donc 2 marines
        IDataCalculProbabilite data = getData(5, false, true, false);
        INoeudArbre racine = doTestStandard(data, probaAttendu, nombreReussite);
        RecordBlessures blessures = new RecordBlessures(1, null, null, 1);
        validateBlessureNormales(racine, blessures);
    }

    @Test
    public void SacrosSaintes5HallebardeRageSacreeChanoinesseTest() throws FunctionnalExeption {
        Fraction probaTouche = new Fraction(5, 6);
        Fraction probaRateTouche = new Fraction(1, 6);
        Fraction probaBlesse = new Fraction(5, 6);
        Fraction probaRateSauvegarde = new Fraction(2, 3);
        Fraction chemin1 = FractionCheminBuilder.getInstance().addFraction(probaTouche).addFraction(probaBlesse)
                .addFraction(probaRateSauvegarde).build();
        Fraction chemin2 = FractionCheminBuilder.getInstance().addFraction(probaRateTouche).addFraction(probaTouche)
                .addFraction(probaBlesse).addFraction(probaRateSauvegarde).build();
        Fraction probaAttendu = chemin1.add(chemin2);
        Integer nombreReussite = 4;// On tue donc 2 marines
        IDataCalculProbabilite data = getData(5, false, true, true);
        INoeudArbre racine = doTestStandard(data, probaAttendu, nombreReussite);
        RecordBlessures blessures = new RecordBlessures(1, null, null, 2);
        validateBlessureNormales(racine, blessures);
    }

    @Test
    public void SacrosSaintes10MasseTest() throws FunctionnalExeption {
        Fraction probaTouche = new Fraction(2, 3);
        Fraction probaBlesse = new Fraction(1, 2);
        Fraction probaRateSauvegarde = new Fraction(1, 2);
        Fraction probaAttendu = FractionCheminBuilder.getInstance().addFraction(probaTouche).addFraction(probaBlesse)
                .addFraction(probaRateSauvegarde).build();
        Integer nombreReussite = 3;// On tue donc 3 marines
        IDataCalculProbabilite data = getData(10, true, false, false);
        INoeudArbre racine = doTestStandard(data, probaAttendu, nombreReussite);
        RecordBlessures blessures = new RecordBlessures(2, null, null, 1);
        validateBlessureNormales(racine, blessures);
    }

    @Test
    public void SacrosSaintes10MasseChanoinesseTest() throws FunctionnalExeption {
        Fraction probaTouche = new Fraction(2, 3);
        Fraction probaRateTouche = new Fraction(1, 3);
        Fraction probaBlesse = new Fraction(1, 2);
        Fraction probaRateSauvegarde = new Fraction(1, 2);
        Fraction chemin1 = FractionCheminBuilder.getInstance().addFraction(probaTouche).addFraction(probaBlesse)
                .addFraction(probaRateSauvegarde).build();
        Fraction chemin2 = FractionCheminBuilder.getInstance().addFraction(probaRateTouche).addFraction(probaTouche).addFraction(probaBlesse)
                .addFraction(probaRateSauvegarde).build();
        Fraction probaAttendu = chemin1.add(chemin2);
        Integer nombreReussite = 3;// On tue donc 3 marines
        IDataCalculProbabilite data = getData(10, true, false, true);
        INoeudArbre racine = doTestStandard(data, probaAttendu, nombreReussite);
        RecordBlessures blessures = new RecordBlessures(2, null, null, 2);
        validateBlessureNormales(racine, blessures);
    }
    
    @Test
    public void SacrosSaintes10MasseRageSacree() throws FunctionnalExeption {
        Fraction probaTouche = new Fraction(2, 3);
        Fraction probaBlesse = new Fraction(2, 3);
        Fraction probaRateSauvegarde = new Fraction(1, 2);
        Fraction probaAttendu = FractionCheminBuilder.getInstance().addFraction(probaTouche).addFraction(probaBlesse)
                .addFraction(probaRateSauvegarde).build();
        Integer nombreReussite = 4;// On tue donc 4 marines
        IDataCalculProbabilite data = getData(10, true, true, false);
        INoeudArbre racine = doTestStandard(data, probaAttendu, nombreReussite);
        RecordBlessures blessures = new RecordBlessures(2, null, null, 1);
        validateBlessureNormales(racine, blessures);
    }

    @Test
    public void SacrosSaintes10MasseRageSacreeChanoinesse() throws FunctionnalExeption {
        Fraction probaTouche = new Fraction(2, 3);
        Fraction probaRateTouche = new Fraction(1, 3);
        Fraction probaBlesse = new Fraction(2, 3);
        Fraction probaRateSauvegarde = new Fraction(1, 2);
        Fraction chemin1 = FractionCheminBuilder.getInstance().addFraction(probaTouche).addFraction(probaBlesse)
                .addFraction(probaRateSauvegarde).build();
        Fraction chemin2 = FractionCheminBuilder.getInstance().addFraction(probaRateTouche).addFraction(probaTouche).addFraction(probaBlesse)
                .addFraction(probaRateSauvegarde).build();
        Fraction probaAttendu = chemin1.add(chemin2);
        Integer nombreReussite = 5;// On tue donc 10 marines
        IDataCalculProbabilite data = getData(10, true, true, true);
        INoeudArbre racine = doTestStandard(data, probaAttendu, nombreReussite);
        RecordBlessures blessures = new RecordBlessures(2, null, null, 2);
        validateBlessureNormales(racine, blessures);
    }
    
    
    @Test
    public void SacrosSaintes5MasseTest() throws FunctionnalExeption {
        Fraction probaTouche = new Fraction(5, 6);
        Fraction probaBlesse = new Fraction(1, 2);
        Fraction probaRateSauvegarde = new Fraction(1, 2);
        Fraction probaAttendu = FractionCheminBuilder.getInstance().addFraction(probaTouche).addFraction(probaBlesse)
                .addFraction(probaRateSauvegarde).build();
        Integer nombreReussite = 3;// On tue donc 3 marines
        IDataCalculProbabilite data = getData(5, true, false, false);
        INoeudArbre racine = doTestStandard(data, probaAttendu, nombreReussite);
        RecordBlessures blessures = new RecordBlessures(2, null, null, 1);
        validateBlessureNormales(racine, blessures);
    }

    @Test
    public void SacrosSaintes5MasseChanoinesseTest() throws FunctionnalExeption {
        Fraction probaTouche = new Fraction(5, 6);
        Fraction probaRateTouche = new Fraction(1, 6);
        Fraction probaBlesse = new Fraction(1, 2);
        Fraction probaRateSauvegarde = new Fraction(1, 2);
        Fraction chemin1 = FractionCheminBuilder.getInstance().addFraction(probaTouche).addFraction(probaBlesse)
                .addFraction(probaRateSauvegarde).build();
        Fraction chemin2 = FractionCheminBuilder.getInstance().addFraction(probaRateTouche).addFraction(probaTouche).addFraction(probaBlesse)
                .addFraction(probaRateSauvegarde).build();
        Fraction probaAttendu = chemin1.add(chemin2);
        Integer nombreReussite = 3;// On tue donc 3 marines
        IDataCalculProbabilite data = getData(5, true, false, true);
        INoeudArbre racine = doTestStandard(data, probaAttendu, nombreReussite);
        RecordBlessures blessures = new RecordBlessures(2, null, null, 2);
        validateBlessureNormales(racine, blessures);
    }
    
    @Test
    public void SacrosSaintes5MasseRageSacree() throws FunctionnalExeption {
        Fraction probaTouche = new Fraction(5, 6);
        Fraction probaBlesse = new Fraction(2, 3);
        Fraction probaRateSauvegarde = new Fraction(1, 2);
        Fraction probaAttendu = FractionCheminBuilder.getInstance().addFraction(probaTouche).addFraction(probaBlesse)
                .addFraction(probaRateSauvegarde).build();
        Integer nombreReussite = 3;// On tue donc 3 marines
        IDataCalculProbabilite data = getData(5, true, true, false);
        INoeudArbre racine = doTestStandard(data, probaAttendu, nombreReussite);
        RecordBlessures blessures = new RecordBlessures(2, null, null, 1);
        validateBlessureNormales(racine, blessures);
    }

    @Test
    public void SacrosSaintes5MasseRageSacreeChanoinesse() throws FunctionnalExeption {
        Fraction probaTouche = new Fraction(5, 6);
        Fraction probaRateTouche = new Fraction(1, 6);
        Fraction probaBlesse = new Fraction(2, 3);
        Fraction probaRateSauvegarde = new Fraction(1, 2);
        Fraction chemin1 = FractionCheminBuilder.getInstance().addFraction(probaTouche).addFraction(probaBlesse)
                .addFraction(probaRateSauvegarde).build();
        Fraction chemin2 = FractionCheminBuilder.getInstance().addFraction(probaRateTouche).addFraction(probaTouche).addFraction(probaBlesse)
                .addFraction(probaRateSauvegarde).build();
        Fraction probaAttendu = chemin1.add(chemin2);
        Integer nombreReussite = 3;// On tue donc 3 marines
        IDataCalculProbabilite data = getData(5, true, true, true);
        INoeudArbre racine = doTestStandard(data, probaAttendu, nombreReussite);
        RecordBlessures blessures = new RecordBlessures(2, null, null, 2);
        validateBlessureNormales(racine, blessures);
    }
    
    private IDataCalculProbabilite getData(Integer nbSoeur, boolean isMasse, boolean isRageSacree,
            boolean isChanoinesse) {
        IContexteAction context = getContextAction(nbSoeur);
        SacroSainteCelesteBuilderAttaque builder = SacroSainteCelesteBuilderAttaque.getInstance(context, nbSoeur);
        if (isMasse) {
            builder.equipeMasseEnergetique();
        } else {
            builder.equipeHallebardeConsacree();
        }
        if (isRageSacree) {
            builder.utiliseStratagemeRageSacree();
        }
        if (isChanoinesse) {
            builder.ajouteChanoinesse();
        }
        IConstituantDefenseur defenseur = SpaceMarineDuChaosBuilderDefense.getInstance(context, 10).build();
        return DataCalculProbabiliteBuilder.getInstance().addContextAction(context).addAttaquant(builder.build())
                .addDefenseur(defenseur).addGestionNombreAttaque(EGestionDe.SIMULATION_OPTIMISTE)
                .addGestionJetToucheBlessure(EGestionDe.SIMULATION_OPTIMISTE)
                .addGestionSauvegardeDefenseur(EGestionDe.SIMULATION_OPTIMISTE).build();
    }

    private IContexteAction getContextAction(Integer nbSoeur) {
        return ContextActionForTestProbaBuilder.getInstance().addSimule(ESimule.CORPS_A_CORPS_APRES_CHARGE)
                .addNumeroTour(2).addEffectifInitialAttaquant(10).addEffectifCourantAttaquant(nbSoeur)
                .addMouvementAttaquant(EMouvement.IMMOBILE).addBatimentAttaquant(new RecordBatiment(false, false))
                .addEffectifCourantDefenseur(10).addMouvementDefenseur(EMouvement.IMMOBILE)
                .addBatimentDefenseur(new RecordBatiment(false, false)).addDistanceEntreBelligerant(0.0).build();
    }
}
Reply


Messages In This Thread
Projet Calculateur - by Philou - 12-09-2022, 09:47 AM
RE: Projet Calculateur - by Philou - 12-09-2022, 09:52 AM
RE: Projet Calculateur - by Philou - 17-09-2022, 09:14 PM
RE: Projet Calculateur - by Philou - 25-09-2022, 07:26 AM
RE: Projet Calculateur - by Philou - 25-09-2022, 08:54 AM
RE: Projet Calculateur - by Philou - 03-10-2022, 10:54 AM
RE: Projet Calculateur - by Philou - 16-10-2022, 11:36 AM
RE: Projet Calculateur - by Philou - 24-10-2022, 01:08 PM
RE: Projet Calculateur - by Philou - 25-10-2022, 09:52 AM
RE: Projet Calculateur - by sdm - 25-10-2022, 11:06 PM
RE: Projet Calculateur - by Philou - 25-10-2022, 11:23 PM
RE: Projet Calculateur - by Philou - 26-10-2022, 03:09 PM
RE: Projet Calculateur - by Philou - 25-10-2022, 11:25 PM
RE: Projet Calculateur - by Philou - 06-11-2022, 05:27 PM
RE: Projet Calculateur - by Philou - 19-11-2022, 10:36 AM
RE: Projet Calculateur - by Philou - 23-11-2022, 08:34 AM
RE: Projet Calculateur - by Philou - 24-11-2022, 08:49 PM
RE: Projet Calculateur - by Philou - 04-12-2022, 06:57 PM
RE: Projet Calculateur - by Philou - 11-12-2022, 12:11 PM
RE: Projet Calculateur - by Philou - 18-12-2022, 06:47 PM
RE: Projet Calculateur - by Philou - 19-12-2022, 09:05 PM
RE: Projet Calculateur - by Philou - 03-01-2023, 09:34 PM
RE: Projet Calculateur - by Philou - 07-01-2023, 06:36 PM
RE: Projet Calculateur - by Philou - 01-02-2023, 08:21 PM
RE: Projet Calculateur - by Philou - 16-02-2023, 08:31 PM
RE: Projet Calculateur - by Gaeriel - 17-02-2023, 10:56 PM
RE: Projet Calculateur - by Philou - 17-02-2023, 11:32 PM
RE: Projet Calculateur - by Philou - 05-03-2023, 05:45 PM
RE: Projet Calculateur - by Philou - 06-03-2023, 08:55 PM
RE: Projet Calculateur - by Philou - 08-03-2023, 08:28 PM
RE: Projet Calculateur - by Philou - 12-03-2023, 07:56 AM
RE: Projet Calculateur - by Philou - 23-03-2023, 06:44 PM
RE: Projet Calculateur - by Philou - 28-03-2023, 08:58 PM
RE: Projet Calculateur - by Philou - 27-04-2023, 08:05 PM
RE: Projet Calculateur - by Philou - 30-04-2023, 10:29 AM
RE: Projet Calculateur - by Philou - 02-05-2023, 08:03 AM
RE: Projet Calculateur - by Philou - 19-05-2023, 11:36 AM
RE: Projet Calculateur - by Philou - 19-05-2023, 05:44 PM
RE: Projet Calculateur - by Philou - 20-05-2023, 09:10 PM
RE: Projet Calculateur - by Philou - 22-06-2023, 07:38 AM
RE: Projet Calculateur - by Philou - 24-06-2023, 07:09 AM
RE: Projet Calculateur - by Philou - 26-06-2023, 07:44 PM
RE: Projet Calculateur - by Philou - 28-06-2023, 07:09 AM
RE: Projet Calculateur - by Philou - 28-06-2023, 07:43 PM
RE: Projet Calculateur - by Philou - 30-06-2023, 07:22 PM
RE: Projet Calculateur - by Philou - 08-08-2023, 07:54 PM
RE: Projet Calculateur - by Philou - 19-08-2023, 10:30 AM
RE: Projet Calculateur - by Philou - 19-08-2023, 06:20 PM
RE: Projet Calculateur - by Philou - 20-08-2023, 10:17 AM
RE: Projet Calculateur - by Philou - 22-01-2024, 09:02 PM
RE: Projet Calculateur - by Philou - 09-05-2024, 10:21 AM
RE: Projet Calculateur - by Philou - 11-05-2024, 05:41 PM
RE: Projet Calculateur - by Philou - 25-05-2024, 08:41 AM
RE: Projet Calculateur - by Philou - 24-04-2025, 04:09 PM

Forum Jump:


Users browsing this thread: 1 Guest(s)