Тестирование при помощи Unittest — пример 5

Доработайте метод summ: он должен возвращать None, если вызывается с одним аргументом или без аргументов.

Подсказка:
Количество переданных аргументов можно узнать с помощью len(args)

Код:

import unittest


class Calculator:
    def summ(self, *args):
        """Возвращает сумму принятых аргументов."""       
        sum = 0
        if len(args) < 2:
            return None
        for i in args:
            sum += i
        return sum


class TestCalc(unittest.TestCase):
    """Тестируем Calculator."""
    @classmethod
    def setUpClass(cls):
        """Вызывается однажды перед запуском всех тестов класса."""
        cls.calc = Calculator()

    def test_summ(self):
        act = TestCalc.calc.summ(3, -3, 5)
        self.assertEqual(act, 5, 'summ работает неправильно')

    def test_summ_no_argument(self):
        act = TestCalc.calc.summ()
        self.assertIsNone(act, None)

    def test_summ_one_argument(self):
        act = TestCalc.calc.summ(5)
        self.assertIsNone(act, None)




Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: