class Course: def __init__(self, name: str, teacher: Teacher): self.name = name self.teacher = teacher self.students = [] def add_student(self, student: Student): self.students.append(student) def remove_student(self, student: Student): self.students.remove(student) def get_info(self) -> str: return f"Name: {self.name}\nTeacher: {self.teacher.name}\nStudents: {[student.name for student in self.students]}"编写测试用例
时间: 2024-03-09 18:48:27 浏览: 22
好的,这是一个课程类,我们可以编写以下测试用例:
1. 测试添加一个学生是否成功。
```
def test_add_student(self):
teacher = Teacher('John', 'male')
course = Course('Math', teacher)
student = Student('Tom', 18, 'male')
course.add_student(student)
assert len(course.students) == 1
assert course.students[0].name == 'Tom'
```
2. 测试添加多个学生是否成功。
```
def test_add_multiple_students(self):
teacher = Teacher('John', 'male')
course = Course('Math', teacher)
student1 = Student('Tom', 18, 'male')
student2 = Student('Lucy', 19, 'female')
course.add_student(student1)
course.add_student(student2)
assert len(course.students) == 2
assert course.students[0].name == 'Tom'
assert course.students[1].name == 'Lucy'
```
3. 测试移除一个学生是否成功。
```
def test_remove_student(self):
teacher = Teacher('John', 'male')
course = Course('Math', teacher)
student1 = Student('Tom', 18, 'male')
student2 = Student('Lucy', 19, 'female')
course.add_student(student1)
course.add_student(student2)
course.remove_student(student1)
assert len(course.students) == 1
assert course.students[0].name == 'Lucy'
```
4. 测试获取课程信息是否正确。
```
def test_get_info(self):
teacher = Teacher('John', 'male')
course = Course('Math', teacher)
student1 = Student('Tom', 18, 'male')
student2 = Student('Lucy', 19, 'female')
course.add_student(student1)
course.add_student(student2)
info = course.get_info()
expected_info = "Name: Math\nTeacher: John\nStudents: ['Tom', 'Lucy']"
assert info == expected_info
```
这些测试用例可以测试课程类的方法是否正常工作,包括添加学生、移除学生、获取课程信息等。