package studentsystem

import std.collection.*

/**
 * 初始化数据
 * 在程序启动阶段准备一批初始数据,便于快速测试各模块功能。
 */
func initData() {

    // ─── 初始化学生数据 ──────────────────────────────────────────────────────
    let studentData = ArrayList<Student>()
    studentData.add(Student(2501, "panda",  20, Boy,  "Class3"))  // 学号 2501
    studentData.add(Student(2502, "zoom",   19, Boy,  "Class3"))  // 学号 2502
    studentData.add(Student(2303, "zip",    19, Girl, "Class4"))  // 学号 2303
    studentData.add(Student(2304, "luna",   20, Girl, "Class4"))  // 学号 2304
    studentData.add(Student(2505, "tiger",  21, Boy,  "Class3"))  // 学号 2505

    // 注入到学生管理器单例
    StudentManager.propInstance.students = studentData

    // ─── 初始化课程数据 ──────────────────────────────────────────────────────
    let courseData = ArrayList<Course>()
    courseData.add(Course(101, "Math",    3.0, electivity: Compulsory))  // 必修:数学
    courseData.add(Course(102, "Chinese", 3.0, electivity: Compulsory))  // 必修:语文
    courseData.add(Course(103, "Art",     1.0, electivity: Elective))    // 选修:美术
    courseData.add(Course(104, "Music",   2.0, electivity: Elective))    // 选修:音乐
    courseData.add(Course(105, "Physics", 4.0, electivity: Compulsory))  // 必修:物理

    // 注入到课程管理器单例
    CourseManager.propInstance.courses = courseData

    // ─── 初始化成绩数据(拓展任务)───────────────────────────────────────────
    let scoreData = ArrayList<Score>()
    scoreData.add(Score(2501, 101, 85.0))   // panda  - Math    85
    scoreData.add(Score(2501, 102, 90.0))   // panda  - Chinese 90
    scoreData.add(Score(2502, 101, 78.0))   // zoom   - Math    78
    scoreData.add(Score(2502, 103, 92.0))   // zoom   - Art     92
    scoreData.add(Score(2303, 102, 88.0))   // zip    - Chinese 88
    scoreData.add(Score(2303, 104, 76.0))   // zip    - Music   76
    scoreData.add(Score(2304, 101, 95.0))   // luna   - Math    95
    scoreData.add(Score(2505, 105, 82.0))   // tiger  - Physics 82

    // 注入到成绩管理器单例
    ScoreManager.propInstance.scores = scoreData
}