from calcul import DEFAULT_PLAGES from stats import _day_compliant def _p(matin_entree=None, matin_sortie=None, aprem_entree=None, aprem_sortie=None): return { "matin_entree": matin_entree, "matin_sortie": matin_sortie, "aprem_entree": aprem_entree, "aprem_sortie": aprem_sortie, } def test_day_compliant_journee_dans_les_clous(): p = _p("08:50", "12:05", "13:55", "17:10") assert _day_compliant(p, mc=False, ac=False, plages=DEFAULT_PLAGES) is True def test_day_compliant_entree_matin_en_retard(): p = _p("09:10", "12:05", "13:55", "17:10") assert _day_compliant(p, mc=False, ac=False, plages=DEFAULT_PLAGES) is False def test_day_compliant_sortie_aprem_trop_tot(): p = _p("08:50", "12:05", "13:55", "16:45") assert _day_compliant(p, mc=False, ac=False, plages=DEFAULT_PLAGES) is False def test_day_compliant_journee_incomplete_renvoie_none(): p = _p("08:50", "12:05") # pas d'aprem assert _day_compliant(p, mc=False, ac=False, plages=DEFAULT_PLAGES) is None def test_day_compliant_conge_journee_entiere_renvoie_none(): p = _p() assert _day_compliant(p, mc=True, ac=True, plages=DEFAULT_PLAGES) is None def test_day_compliant_plages_personnalisees(): plages = {**DEFAULT_PLAGES, "matin_debut": "08:00"} p = _p("08:30", "12:05", "13:55", "17:10") # 08:30 est après 08:00 (plage custom) -> non conforme, alors qu'avec le défaut (09:00) ça le serait assert _day_compliant(p, mc=False, ac=False, plages=plages) is False assert _day_compliant(p, mc=False, ac=False, plages=DEFAULT_PLAGES) is True