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)
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)
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}." )