Example #1
0
 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']])
Example #2
0
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)
Example #3
0
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)

Example #4
0
    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())
Example #5
0
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)