Source code for kyu_7.basic_math_add_or_subtract.test_calculate

#  Created by Egor Kostan.
#  GitHub: https://github.com/ikostan
#  LinkedIn: https://www.linkedin.com/in/egor-kostan/

# FUNDAMENTALS STRINGS

import unittest
import allure
from kyu_7.basic_math_add_or_subtract.calculate import calculate
from utils.log_func import print_log


[docs]@allure.epic('7 kyu') @allure.parent_suite('Beginner') @allure.suite('Fundamentals') @allure.sub_suite('Unit Tests') @allure.feature('String') @allure.story('Basic Math (Add or Subtract)') @allure.tag('FUNDAMENTALS', 'STRINGS') @allure.link(url='https://www.codewars.com/kata/5809b62808ad92e31b000031/train/python', name='Source/Kata') class CalculateTestCase(unittest.TestCase): """ Testing calculate function """
[docs] def test_calculate(self): allure.dynamic.title("Testing calculate function") allure.dynamic.severity(allure.severity_level.NORMAL) allure.dynamic.description_html('<h3>Codewars badge:</h3>' '<img src="https://www.codewars.com/users/myFirstCode' '/badges/large">' '<h3>Test Description:</h3>' "<p>In this kata, you will do addition and subtraction " "on a given string. The return value must be also a " "string.</p>") test_data = [ ('1plus2plus3plus4', '10'), ('1minus2minus3minus4', '-8'), ('1plus2plus3minus4', '2'), ] for s, expected in test_data: actual_result = calculate(s) with allure.step("Enter string ({}) and verify the " "expected output ({}) vs actual result ({})".format(s, expected, actual_result)): print_log(s=s, expected=expected, result=actual_result) self.assertEqual(expected, actual_result)