mirror of
https://github.com/deunix-educ/aventuriers-des-mots.git
synced 2026-10-13 02:11:58 +02:00
Add CE1 board 3 and CE2 boards 2 and 3 with new backdrops (0.7.0)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -61,3 +61,21 @@ func test_school_levels_helpers() -> void:
|
||||
assert_eq(SchoolLevels.previous("CM1"), "CE2")
|
||||
assert_eq(SchoolLevels.previous("n_importe_quoi"), "")
|
||||
assert_true(SchoolLevels.rank("CM2") > SchoolLevels.rank("CE2"))
|
||||
|
||||
|
||||
func test_correct_answer_position_is_not_always_the_same() -> void:
|
||||
# Une regle dont la bonne reponse est toujours au meme rang se devine sans
|
||||
# lire : les QCM d'une regle doivent varier la position de la bonne reponse.
|
||||
var positions: Dictionary = {}
|
||||
for rule_id: String in ExerciseEngine._rules:
|
||||
for exercise: Dictionary in ExerciseEngine._candidates_for(rule_id, "multiple_choice"):
|
||||
if not positions.has(rule_id):
|
||||
positions[rule_id] = {}
|
||||
positions[rule_id][int(exercise["correct_answer"])] = true
|
||||
assert_gt(positions.size(), 5)
|
||||
for rule_id: String in positions:
|
||||
assert_gt(
|
||||
(positions[rule_id] as Dictionary).size(),
|
||||
1,
|
||||
"bonne reponse toujours au meme rang : %s" % rule_id
|
||||
)
|
||||
|
||||
@@ -15,7 +15,7 @@ func test_unknown_rule_returns_empty_dictionary() -> void:
|
||||
|
||||
func test_missions_are_loaded_and_sorted() -> void:
|
||||
var missions := ExerciseEngine.get_missions()
|
||||
assert_eq(missions.size(), 30)
|
||||
assert_eq(missions.size(), 57)
|
||||
var ids: Array = missions.map(func(m: Dictionary) -> String: return m["mission_id"])
|
||||
assert_eq(ids, ids.duplicate()) # trivialement vrai, documente l'ordre stable
|
||||
assert_true(ids.has("mission_01_pre_des_mots"))
|
||||
@@ -24,14 +24,16 @@ func test_missions_are_loaded_and_sorted() -> void:
|
||||
|
||||
|
||||
func test_missions_are_filtered_by_the_level_of_their_rule() -> void:
|
||||
assert_eq(ExerciseEngine.get_missions_for_level("CE1").size(), 18)
|
||||
assert_eq(ExerciseEngine.get_missions_for_level("CE2").size(), 12)
|
||||
assert_eq(ExerciseEngine.get_missions_for_level("CE1").size(), 27)
|
||||
assert_eq(ExerciseEngine.get_missions_for_level("CE2").size(), 30)
|
||||
assert_eq(ExerciseEngine.get_missions_for_level("CM1").size(), 0)
|
||||
|
||||
|
||||
func test_regions_are_ordered_and_hold_their_missions() -> void:
|
||||
var ce1 := ExerciseEngine.get_regions_for_level("CE1")
|
||||
assert_eq(ce1.size(), 2)
|
||||
assert_eq(ce1.size(), 3)
|
||||
assert_eq(ce1[2]["region_id"], "montagne_des_verbes")
|
||||
assert_eq(ExerciseEngine.get_regions_for_level("CE2").size(), 3)
|
||||
assert_eq(ce1[0]["region_id"], "foret_des_accords")
|
||||
assert_eq(ce1[1]["region_id"], "plage_des_sons")
|
||||
assert_eq(ExerciseEngine.get_missions_for_region("foret_des_accords").size(), 9)
|
||||
|
||||
@@ -60,6 +60,10 @@ func test_ce1_profile_can_move_between_its_regions() -> void:
|
||||
assert_eq(map.get_node("%TitleLabel").text, "La plage des sons")
|
||||
assert_eq(map.get_node("%MapArea").get_child_count(), 9)
|
||||
|
||||
button.pressed.emit()
|
||||
await wait_process_frames(1)
|
||||
assert_eq(map.get_node("%TitleLabel").text, "La montagne des verbes")
|
||||
|
||||
button.pressed.emit()
|
||||
await wait_process_frames(1)
|
||||
assert_eq(map.get_node("%TitleLabel").text, "La forêt des accords")
|
||||
|
||||
Reference in New Issue
Block a user