def test_student(self): '''Test the Student class''' s1 = Student() self.assertEqual(s1._cwid, '') self.assertEqual(s1._name, '') self.assertEqual(s1._major, '') self.assertEqual(s1._grades, {}) self.assertEqual(s1.prettyprint(), ['', '', []]) s2 = Student('123456', 'Joseph, Joe', 'MSEE') s2.add_grade('SSW-540','A') s2.add_grade('SSW-555','B') self.assertEqual(s2._cwid, '123456') self.assertEqual(s2._name, 'Joseph, Joe') self.assertEqual(s2._major, 'MSEE') self.assertEqual(s2._grades, {'SSW-540':'A', 'SSW-555':'B'}) self.assertEqual(s2.prettyprint(), ['123456', 'Joseph, Joe', ['SSW-540','SSW-555']])
class test_Student(unittest.TestCase): def setUp(self): self.student = Student("Jan","Nowak") def test_init_raise_typeerror(self): self.assertRaises( TypeError, self.student.__init__, 21, 2) def test_add_grade_raise_typeerror(self): self.assertRaises( TypeError, self.student.add_grade, 2, 2) self.assertRaises( TypeError, self.student.add_grade, "sdas", "asd" ) def test_get_total_average_return_correct_result(self): self.student.add_grade("Python",2) self.student.add_grade("Python",3) self.assertAlmostEqual(2.5, self.student.get_total_average(), places = 4) def test_get_class_average_resturn_correct_result(self): self.student.add_grade("Python",2) self.student.add_grade("Python",3) self.assertAlmostEqual(2.5, self.student.get_class_average("Python"), places = 4) def test_get_class_average_raises_typerror(self): self.student.add_grade("Python",2) self.assertRaises( TypeError, self.student.get_class_average, 2)
from Student import Student from MyMath import MyMath from GraduateStudent import GraduateStudent import sys if __name__ == "__main__": s1 = Student() s1.firstName = "Joseph" s1.lastName = "Stalin" s1.id = 1234 s1.add_grade(45) s1.add_grade(90) s1.grade = s1.compute_grade() print(s1) s2 = Student() s2.firstName = "Vladimir" s2.lastName = "Lenin" s2.id = 2222 s2.add_grade(90) s2.add_grade(80) s2.grade = s2.compute_grade() print(s2) g1 = GraduateStudent("Karl","Marx",666) g1.add_grade(85) g1.add_grade(91) g1.grade = g1.computeGrade() print(g1)
print(p + p2) print(p.add(p2)) print(p - p2) print(p * p2) (p2 * p).print_polynomial() # more "mathematical" way of print print(bool(p(3))) print("###############################") student = Student("Ania", "Urban", "*****@*****.**", "298005", {'history': 4}) student2 = Student("Beata", "Kozidrak", "*****@*****.**", "298006") scienceEmployee = ScienceEmployee("Jakub", "Nowak", "*****@*****.**", 412, ["First publication"]) educationEmployee = EducationEmployee('Adam', 'Radosny', '*****@*****.**', 523, {'Friday': '14;00 - ' '15;00'}) scienceEmployee.add_publication("some publication") educationEmployee.add_learning_subject("history") student.add_grade('history', 3) student.add_grade('mathematics', 5) student.send_mail("Abc message") student.send_mail("Def message") educationEmployee.send_mail("Some message") print(student) print(student2) print(scienceEmployee) print(educationEmployee) print(scienceEmployee.get_publications())
class TestStudent(TestCase): def setUp(self): self.testStudent1 = Student('Tommy', 'May', 'A01086435', True, [90]) self.testStudent2 = Student('Tommy', 'May', 'A01086435', True, []) self.testStudent3 = Student('Tommy', 'May', 'A01086435', True, [90, 85, 95]) def test_get_first_name(self): expected_first_name = 'Tommy' actual_first_name = self.testStudent1.get_first_name() self.assertEqual(expected_first_name, actual_first_name) def test_get_last_name(self): expected_last_name = 'May' actual_last_name = self.testStudent1.get_last_name() self.assertEqual(expected_last_name, actual_last_name) def test_get_student_number(self): expected_student_number = 'A01086435' actual_student_number = self.testStudent1.get_student_number() self.assertEqual(expected_student_number, actual_student_number) def test_get_status(self): expected_status = True actual_status = self.testStudent1.get_status() self.assertEqual(expected_status, actual_status) def test_get_grades(self): expected_grades = [90] actual_grades = self.testStudent1.get_grades() self.assertEqual(expected_grades, actual_grades) def test_get_grades_with_empty_list_of_grades(self): expected_grades = [] actual_grades = self.testStudent2.get_grades() self.assertEqual(expected_grades, actual_grades) def test_incorrect_first_name(self): with self.assertRaises(ValueError): new_student = Student('342s[,d', 'name', 'A01275843', True, []) def test_incorrect_last_name(self): with self.assertRaises(ValueError): new_student = Student('name', '[erg5g]i', 'A01275843', True, []) def test_student_number_too_short(self): with self.assertRaises(ValueError): new_student = Student('name', 'name', 'A01274', True, []) def test_student_number_too_long(self): with self.assertRaises(ValueError): new_student = Student('name', 'name', 'A0123434523274', True, []) def test_student_number_doesnt_start_with_A(self): with self.assertRaises(ValueError): new_student = Student('name', 'name', 'B01086348', True, []) def test_grade_not_int(self): with self.assertRaises(ValueError): new_student = Student('name', 'name', 'A01086435', True, ['abc']) def test_grade_over_100(self): with self.assertRaises(ValueError): new_student = Student('name', 'name', 'A01086435', True, ['102']) def test_grade_under_0(self): with self.assertRaises(ValueError): new_student = Student('name', 'name', 'A01086435', True, ['-5']) def test_grade_equals_100(self): try: new_student = Student('name', 'name', 'A01086435', True, ['100']) except ValueError: self.fail("Student constructor raised a ValueError") def test_grade_equals_0(self): try: new_student = Student('name', 'name', 'A01086435', True, ['0']) except ValueError: self.fail("Student constructor raised a ValueError") def test_get_gpa(self): actual_gpa = self.testStudent3.get_gpa() expected_gpa = 90 self.assertEqual(expected_gpa, actual_gpa) def test_add_grade(self): self.testStudent3.add_grade(50) actual_grades = self.testStudent3.get_grades() expected_grades = [90, 85, 95, 50] self.assertEqual(actual_grades, expected_grades)