Source code for kyu_8.holiday_vi_shark_pontoon.test_shark

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

# FUNDAMENTALS NUMBERS STRINGS MATHEMATICS ALGORITHMS

import unittest
import allure
from kyu_8.holiday_vi_shark_pontoon.shark import shark


[docs]@allure.epic('8 kyu') @allure.parent_suite('Beginner') @allure.suite('Math') @allure.sub_suite("Unit Tests") @allure.feature("String") @allure.story('Holiday VI - Shark Pontoon') @allure.tag('FUNDAMENTALS', 'NUMBERS', 'STRINGS', 'MATHEMATICS', 'ALGORITHMS') @allure.link(url='https://www.codewars.com/kata/57e921d8b36340f1fd000059/train/python', name='Source/Kata') class SharkTestCase(unittest.TestCase): """ Testing shark function """
[docs] def test_shark_alive_1(self): """ Testing shark function -> positive :return: """ allure.dynamic.title("Testing shark function (positive)") 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>You are given 5 variables:</p>" "<p>sharkDistance = distance the shark needs to cover to eat you in metres,</p>" "<p>sharkSpeed = how fast it can move in metres/second,</p>" "<p>pontoonDistance = how far you need to swim to safety in metres,</p>" "<p>youSpeed = how fast you can swim in metres/second,</p>" "<p>dolphin = a boolean, if true, you can half the swimming speed of the shark " "as the dolphin will attack it.</p>" "<p>If you make it, return \"Alive!\", if not, return \"Shark Bait!\".</p>") with allure.step("Enter test data and verify the output"): self.assertEqual(shark(12, 50, 4, 8, True), "Alive!")
[docs] def test_shark_alive_2(self): """ Testing shark function -> positive :return: """ allure.dynamic.title("Testing shark function (positive)") 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>You are given 5 variables:</p>" "<p>sharkDistance = distance the shark needs to cover to eat you in metres,</p>" "<p>sharkSpeed = how fast it can move in metres/second,</p>" "<p>pontoonDistance = how far you need to swim to safety in metres,</p>" "<p>youSpeed = how fast you can swim in metres/second,</p>" "<p>dolphin = a boolean, if true, you can half the swimming speed of the shark " "as the dolphin will attack it.</p>" "<p>If you make it, return \"Alive!\", if not, return \"Shark Bait!\".</p>") with allure.step("Enter test data and verify the output"): self.assertEqual(shark(7, 55, 4, 16, True), "Alive!")
[docs] def test_shark_bait(self): """ Testing shark function -> negative :return: """ allure.dynamic.title("Testing shark function (negative)") 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>You are given 5 variables:</p>" "<p>sharkDistance = distance the shark needs to cover to eat you in metres,</p>" "<p>sharkSpeed = how fast it can move in metres/second,</p>" "<p>pontoonDistance = how far you need to swim to safety in metres,</p>" "<p>youSpeed = how fast you can swim in metres/second,</p>" "<p>dolphin = a boolean, if true, you can half the swimming speed of the shark " "as the dolphin will attack it.</p>" "<p>If you make it, return \"Alive!\", if not, return \"Shark Bait!\".</p>") with allure.step("Enter test data and verify the output"): self.assertEqual(shark(24, 0, 4, 8, True), "Shark Bait!")