add tests form sem_in_semestre_scolaire

This commit is contained in:
Jean-Marie PLACE 2022-11-11 08:00:17 +01:00
parent 21933000ce
commit fac4ab884d
2 changed files with 72 additions and 16 deletions

View File

@ -493,7 +493,7 @@ def sem_in_semestre_scolaire(
jour_pivot_periode,
mois_pivot_periode,
)
if periode == 0 or None:
if periode is None or periode == 0:
return sem_annee == year
else:
return sem_annee == year and sem_periode == periode

View File

@ -7,7 +7,7 @@ Utiliser comme:
"""
import datetime
from app.scodoc.sco_formsemestre import get_periode
from app.scodoc.sco_formsemestre import get_periode, sem_in_semestre_scolaire
""" Calcule la session associée à un formsemestre sous la forme (année, période)
année: première année de l'année scolaire
@ -32,30 +32,86 @@ Début FormSemestre pivot_année pivot_periode Résultat
"""
def test_general():
# A with default
def test_default():
# with default
assert (2021, 2) == get_periode(datetime.datetime(2022, 1, 1))
# A
assert (2021, 2) == get_periode(datetime.datetime(2022, 1, 1), 1, 8, 1, 12)
# automne nord
def test_automne_nord():
assert (2022, 1) == get_periode(datetime.datetime(2022, 9, 1))
# noel nord
def test_noel_nord():
assert (2022, 2) == get_periode(datetime.datetime(2022, 12, 15))
# été nord
def test_étét_nord():
assert (2021, 2) == get_periode(datetime.datetime(2022, 7, 30))
# printemps sud
def test_printemps_sud():
assert (2022, 1) == get_periode(datetime.datetime(2022, 1, 1), 1, 1, 1, 8)
# automne sud
def test_automne_sud():
assert (2022, 2) == get_periode(datetime.datetime(2022, 8, 2), 1, 1, 1, 8)
# noel sud
def test_noel_sud():
assert (2022, 2) == get_periode(datetime.datetime(2022, 12, 30), 1, 1, 1, 8)
# été sud
def test_été_sud():
assert (2022, 1) == get_periode(datetime.datetime(2022, 7, 30), 1, 1, 1, 8)
# nouvel an sud
def test_nouvel_an_sud():
assert (2021, 2) == get_periode(datetime.datetime(2022, 1, 1), 3, 1, 1, 8)
# nouvel an pp < pa
def test_nouvel_an_special_pp_before_pa():
assert (2023, 1) == get_periode(datetime.datetime(2024, 1, 10), 1, 8, 1, 2)
# été pivot pp<pa
def test_nouvel_été_pp_before_pa():
assert (2023, 2) == get_periode(datetime.datetime(2024, 6, 1), 1, 8, 1, 2)
# automne pp<pa
def test_automne_special_pp_before_pa():
assert (2024, 1) == get_periode(datetime.datetime(2024, 9, 20), 1, 8, 1, 2)
sem_automne = {"date_debut_iso": "2022-09-24"}
sem_nouvel_an = {"date_debut_iso": "2023-01-01"}
sem_printemps = {"date_debut_iso": "2023-03-14"}
sem_été = {"date_debut_iso": "2023-07-11"}
sem_next_year = {"date_debut_iso": "2023-08-16"}
sem_prev_year = {"date_debut_iso": "2022-07-31"}
def test_sem_in_periode1_default():
assert True == sem_in_semestre_scolaire(sem_automne, 2022, 1)
assert False == sem_in_semestre_scolaire(sem_nouvel_an, 2022, 1)
assert False == sem_in_semestre_scolaire(sem_printemps, 2022, 1)
assert False == sem_in_semestre_scolaire(sem_été, 2022, 1)
assert False == sem_in_semestre_scolaire(sem_next_year, 2022, 1)
assert False == sem_in_semestre_scolaire(sem_prev_year, 2022, 1)
def test_sem_in_periode2_default():
assert False == sem_in_semestre_scolaire(sem_automne, 2022, 2)
assert True == sem_in_semestre_scolaire(sem_nouvel_an, 2022, 2)
assert True == sem_in_semestre_scolaire(sem_printemps, 2022, 2)
assert True == sem_in_semestre_scolaire(sem_été, 2022, 2)
assert False == sem_in_semestre_scolaire(sem_next_year, 2022, 1)
assert False == sem_in_semestre_scolaire(sem_prev_year, 2022, 1)
def test_sem_in_annee_default():
assert True == sem_in_semestre_scolaire(sem_automne, 2022, 0)
assert True == sem_in_semestre_scolaire(sem_nouvel_an, 2022)
assert True == sem_in_semestre_scolaire(sem_printemps, 2022, 0)
assert True == sem_in_semestre_scolaire(sem_été, 2022, 0)
assert False == sem_in_semestre_scolaire(sem_next_year, 2022)
assert False == sem_in_semestre_scolaire(sem_prev_year, 2022, 0)