You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

136 lines
4.9 KiB

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 门课程");
}
}