Source code for kyu_7.help_bob_count_letters_and_digits.test_count_letters_and_digits

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

# FUNDAMENTALS STRINGS

import unittest
import allure
from utils.log_func import print_log
from kyu_7.help_bob_count_letters_and_digits.count_letters_and_digits import count_letters_and_digits


[docs]@allure.epic('7 kyu') @allure.parent_suite('Beginner') @allure.suite('Fundamentals') @allure.sub_suite('Unit Tests') @allure.feature('String') @allure.story('Help Bob count letters and digits.') @allure.tag('FUNDAMENTALS', 'STRINGS') @allure.link(url='https://www.codewars.com/kata/5738f5ea9545204cec000155/train/python', name='Source/Kata') class CalculateTestCase(unittest.TestCase): """ Testing count_letters_and_digits function """
[docs] def test_calculate(self): allure.dynamic.title("Testing count_letters_and_digits 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>Test a method that can determine how many letters " "and digits are in a given string.</p>") test_data = [ ('n!!ice!!123', 7), ('de?=?=tttes!!t', 8), ('', 0), ('!@#$%^&`~.', 0), ('u_n_d_e_r__S_C_O_R_E', 10), ] for s, expected in test_data: actual_result = count_letters_and_digits(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)