Source code for kyu_6.row_of_the_odd_triangle.test_odd_row

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

# ALGORITHMS PERFORMANCE

import unittest
import allure
from utils.log_func import print_log
from kyu_6.row_of_the_odd_triangle.odd_row import odd_row


[docs]@allure.epic('6 kyu') @allure.parent_suite('Novice') @allure.suite("Performance") @allure.sub_suite("Unit Tests") @allure.feature("Algorithms") @allure.story("Row of the odd triangle") @allure.tag('ALGORITHMS', 'PERFORMANCE') @allure.link(url='https://www.codewars.com/kata/5d5a7525207a674b71aa25b5/train/python', name='Source/Kata') class OddRowTestCase(unittest.TestCase): """ Testing odd_row function """
[docs] def test_odd_row(self): allure.dynamic.title("Testing odd_row 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>Given a triangle of consecutive odd numbers find " "the triangle's row knowing its index (the rows are 1-indexed)</p>") test_data = [ (1, [1]), (2, [3, 5]), (13, [157, 159, 161, 163, 165, 167, 169, 171, 173, 175, 177, 179, 181]), (19, [343, 345, 347, 349, 351, 353, 355, 357, 359, 361, 363, 365, 367, 369, 371, 373, 375, 377, 379]), (41, [1641, 1643, 1645, 1647, 1649, 1651, 1653, 1655, 1657, 1659, 1661, 1663, 1665, 1667, 1669, 1671, 1673, 1675, 1677, 1679, 1681, 1683, 1685, 1687, 1689, 1691, 1693, 1695, 1697, 1699, 1701, 1703, 1705, 1707, 1709, 1711, 1713, 1715, 1717, 1719, 1721]), ] for n, expected in test_data: actual_result = odd_row(n) with allure.step("Enter the triangle's row ({}) and verify the " "expected output ({}) vs actual result ({})".format(n, expected, actual_result)): print_log(n=n, expected=expected, result=actual_result) self.assertEqual(expected, actual_result)