Discuss / Python / unittest

unittest

# -*- coding: utf-8 -*-

import unittest

classStudent(object):

def__init__(self, name, score):

self.name = name

self.score = score

defget_grade(self):

if60 <= self.score < 80:

return'B'

if80 <= self.score <= 100:

return'A'

if0 <= self.score < 60:

return'C'

ifself.score < 0orself.score > 100:

raiseValueError

classTestStudent(unittest.TestCase):

deftest_80_t0_100(self):

        s1 = Student('Bart', 80)

        s2 = Student('Lisa', 100)

self.assertEqual(s1.get_grade(), 'A')

self.assertEqual(s2.get_grade(), 'A')

deftest_60_to_80(self):

        s1 = Student('Bart', 60)

        s2 = Student('Lisa', 79)

self.assertEqual(s1.get_grade(), 'B')

self.assertEqual(s2.get_grade(), 'B')

deftest_0_to_60(self):

        s1 = Student('Bart', 0)

        s2 = Student('Lisa', 59)

self.assertEqual(s1.get_grade(), 'C')

self.assertEqual(s2.get_grade(), 'C')

deftest_invalid(self):

        s1 = Student('Bart', -1)

        s2 = Student('Lisa', 101)

withself.assertRaises(ValueError):

            s1.get_grade()

withself.assertRaises(ValueError):

            s2.get_grade()

if__name__ == '__main__':

    unittest.main()


  • 1

Reply