package com.example; import com.example.entity.Course; /** * 测试类,用于验证湖大选课系统功能 */ public class CourseSystemTest { public static void main(String[] args) { // 初始化数据库 DatabaseUtil.initDatabase(); // 清空现有数据 DatabaseUtil.clearCourses(); // 添加测试数据 addTestData(); // 创建CourseAnalysis实例 CourseAnalysis analysis = new CourseAnalysis(); // 测试整体统计信息 System.out.println("===== 测试整体统计信息 ====="); System.out.println(analysis.getOverallStatistics()); // 测试课程类型分布 System.out.println("\n===== 测试课程类型分布 ====="); System.out.println(analysis.getCourseTypeDistribution()); // 测试院系统计 System.out.println("\n===== 测试院系统计 ====="); System.out.println(analysis.getDepartmentDistribution()); // 测试学分分布 System.out.println("\n===== 测试学分分布 ====="); System.out.println(analysis.getCreditDistribution()); // 测试热门课程 System.out.println("\n===== 测试热门课程 ====="); System.out.println(analysis.getTopCourses()); // 测试课程容量使用率 System.out.println("\n===== 测试课程容量使用率 ====="); System.out.println(analysis.getCourseUsageRate()); // 测试按院系分组的统计 System.out.println("\n===== 测试按院系分组的统计 ====="); System.out.println(analysis.getDepartmentStatistics()); // 测试教师课程统计 System.out.println("\n===== 测试教师课程统计 ====="); System.out.println(analysis.getTeacherStatistics()); // 测试课程容量利用率分析 System.out.println("\n===== 测试课程容量利用率分析 ====="); System.out.println(analysis.getCapacityAnalysis()); System.out.println("\n===== 测试完成 ====="); } // 添加测试数据 private static void addTestData() { Course course1 = new Course(); course1.setCourseCode("CS101"); course1.setCourseName("计算机科学导论"); course1.setCredit(3.0); course1.setTeacher("张教授"); course1.setDepartment("计算机学院"); course1.setCapacity(100); course1.setEnrolled(95); course1.setClassTime("周一 8:00-10:00"); course1.setClassRoom("A101"); course1.setCourseType("必修课"); course1.setSemester("2024春季"); DatabaseUtil.saveCourse(course1); Course course2 = new Course(); course2.setCourseCode("CS102"); course2.setCourseName("数据结构"); course2.setCredit(4.0); course2.setTeacher("李教授"); course2.setDepartment("计算机学院"); course2.setCapacity(80); course2.setEnrolled(75); course2.setClassTime("周二 10:00-12:00"); course2.setClassRoom("A102"); course2.setCourseType("必修课"); course2.setSemester("2024春季"); DatabaseUtil.saveCourse(course2); Course course3 = new Course(); course3.setCourseCode("MATH101"); course3.setCourseName("高等数学"); course3.setCredit(5.0); course3.setTeacher("王教授"); course3.setDepartment("数学学院"); course3.setCapacity(120); course3.setEnrolled(110); course3.setClassTime("周三 8:00-10:00"); course3.setClassRoom("B101"); course3.setCourseType("必修课"); course3.setSemester("2024春季"); DatabaseUtil.saveCourse(course3); Course course4 = new Course(); course4.setCourseCode("ENG101"); course4.setCourseName("大学英语"); course4.setCredit(2.0); course4.setTeacher("刘教授"); course4.setDepartment("外国语学院"); course4.setCapacity(150); course4.setEnrolled(120); course4.setClassTime("周四 14:00-16:00"); course4.setClassRoom("C101"); course4.setCourseType("选修课"); course4.setSemester("2024春季"); DatabaseUtil.saveCourse(course4); Course course5 = new Course(); course5.setCourseCode("PHYS101"); course5.setCourseName("大学物理"); course5.setCredit(4.0); course5.setTeacher("陈教授"); course5.setDepartment("物理学院"); course5.setCapacity(90); course5.setEnrolled(85); course5.setClassTime("周五 10:00-12:00"); course5.setClassRoom("D101"); course5.setCourseType("必修课"); course5.setSemester("2024春季"); DatabaseUtil.saveCourse(course5); System.out.println("测试数据添加完成,共添加 5 门课程"); } }