Source code for kyu_5.diophantine_equation.test_solution

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

# FUNDAMENTALS MATHEMATICS ALGORITHMS NUMBERS

import unittest
import allure
import pytest
from kyu_5.diophantine_equation.solution import sol_equa


[docs]@allure.epic('5 kyu') @allure.parent_suite('Novice') @allure.suite("Algorithms") @allure.sub_suite("Unit Tests") @allure.feature('Math') @allure.story('Diophantine Equation') @allure.tag('FUNDAMENTALS', 'MATHEMATICS', 'ALGORITHMS', 'NUMBERS') @allure.link(url='https://www.codewars.com/kata/554f76dca89983cc400000bb/train/python', name='Source/Kata') @pytest.mark.skip(reason="The solution is not ready") class SolutionTestCase(unittest.TestCase):
[docs] def test_solution_basic(self): self.assertEqual(sol_equa(5), [[3, 1]]) self.assertEqual(sol_equa(12), [[4, 1]]) self.assertEqual(sol_equa(13), [[7, 3]]) self.assertEqual(sol_equa(16), [[4, 0]]) self.assertEqual(sol_equa(17), [[9, 4]]) self.assertEqual(sol_equa(20), [[6, 2]])
[docs] def test_solution_medium(self): self.assertEqual(sol_equa(9001), [[4501, 2250]]) self.assertEqual(sol_equa(9004), [[2252, 1125]]) self.assertEqual(sol_equa(9008), [[1128, 562]]) self.assertEqual(sol_equa(9009), [[4505, 2252], [1503, 750], [647, 320], [505, 248], [415, 202], [353, 170], [225, 102], [153, 60], [135, 48], [103, 20], [97, 10], [95, 2]])
[docs] def test_solution_big(self): self.assertEqual(sol_equa(900000), [[112502, 56249], [56254, 28123], [37506, 18747], [22510, 11245], [18762, 9369], [12518, 6241], [11270, 5615], [7530, 3735], [6286, 3107], [4550, 2225], [3810, 1845], [2590, 1205], [2350, 1075], [1650, 675], [1430, 535], [1150, 325], [1050, 225], [950, 25]]) self.assertEqual(sol_equa(90004), [[22502, 11250]]) self.assertEqual(sol_equa(90005), [[45003, 22501], [9003, 4499], [981, 467], [309, 37]]) self.assertEqual(sol_equa(90009), [[45005, 22502], [15003, 7500], [5005, 2498], [653, 290], [397, 130], [315, 48]])
[docs] def test_solution_empty(self): self.assertEqual(sol_equa(90002), [])