Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import unittest
- def is_even(number):
- ''' Returns True if **number** is even or False if it is odd. '''
- return number % 2
- class TestIsEven(unittest.TestCase):
- def test_even(self):
- for n in range(-2, 3, 2):
- with self.subTest(n=n):
- self.assertTrue(bool(is_even(n)))
- def test_odd(self):
- for n in range(-3, 4, 2):
- with self.subTest(n=n):
- self.assertFalse(bool(is_even(n)))
- def test_num_at_string(self):
- self.assertRaises(TypeError, is_even, '2')
- def test_no_args(self):
- self.assertRaises(TypeError, is_even)
- if __name__ == '__main__':
- unittest.main()
- # Тесты написаны исходя из описания функции в docstring.
- # Основные тесты не проходят потому что функция возвращет не тот результат,
- # который ожидается по описанию, поскольку при преобразовании к булевым
- # значениям '0' будет равен False, а '1' - True
- #
- # Чтобы функция вела себя соответственно описанию в docstring,
- # необходимо изменить `return number % 2` на `return not number % 2`
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement