Esempio n. 1
0
def test_probleme_encodage():
    """Test."""
    personnel_str_1 = """
    Février / 3 /
    Mars / 4 /
    
    Avril / 7 / 7
    """
    personnel_str_2 = """
    Février / 3 /
    Mars / 4 /
    Avril / 7 / 8
    """
    echange_str = """
    3 / .33
    """
    couts_str = """
    160 / 200 / 200
    """
    h_supp_str = """
    .25
    """
    with pytest.raises(ValueError):
        Probleme.par_str(personnel_str_1, echange_str, couts_str, h_supp_str)
    with pytest.raises(ValueError):
        Probleme.par_str(personnel_str_2, echange_str, couts_str, h_supp_str)
Esempio n. 2
0
def test_constructeur(personnel, echange, couts, h_supp):
    """Constructeur alternatif."""
    personnel_str = """
    Février / 3 /
    Mars / 4 /
    Avril / 7 /
    Mai / 7 /
    Juin / 5 / 5
    """
    echange_str = """
    3 / .33
    """
    couts_str = """
    160 / 200 / 200
    """
    h_supp_str = """
    .25
    """
    probleme = Probleme.par_str(personnel_str, echange_str, couts_str,
                                h_supp_str)
    assert probleme == Probleme(personnel, echange, couts, h_supp)
Esempio n. 3
0
 def _sur_clique(self, b):
     self.zone_probleme.clear_output()
     self.zone_solution.clear_output()
     self.zone_graphique.clear_output()
     echange_str = f"""
     {str(self.zone_entree_ajout_max.value)} / {str(self.zone_entree_suppression_max.value/100)}
     """
     couts_str = f"""
     {str(self.zone_entree_couts_changement.value)} / {str(self.zone_entree_couts_sur_effectif.value)} / {str(self.zone_entree_couts_sous_effectif.value)}
     """
     try:
         probleme = Probleme.par_str(
             self.zone_entree_personnel.value + "   \n" +
             self.zone_entree_objectif.value, echange_str, couts_str,
             str(self.zone_entree_h_supp.value / 100))
         solution = Resolution(grapheD=GrapheD(probleme=probleme))
     except ValueError:
         probleme = None
     with self.zone_probleme:
         if probleme is not None:
             display(probleme.genere_table_personnel())
             display(probleme.genere_table_contraintes())
             display(probleme._couts.genere_table_couts())
         else:
             print(
                 f"Veuillez relire le mode d'emploi \npour rentrer les données correctement !"
             )
     with self.zone_solution:
         if probleme is not None:
             if solution._est_resolvable():
                 display(solution.genere_table())
                 solution.genere_graphique()
             else:
                 print(
                     f"Configuration incorrecte ! \nIl ne peut pas y avoir {probleme[probleme.mois[-1]].nb_employes_min} employé(s) présent(s) au mois de {probleme[probleme.mois[-1]].mois}."
                 )