34 lines
1.1 KiB
Python
34 lines
1.1 KiB
Python
import unittest
|
|
|
|
from ....content.feature import friendsanity
|
|
|
|
|
|
class TestHeartSteps(unittest.TestCase):
|
|
|
|
def test_given_size_of_one_when_calculate_steps_then_advance_one_heart_at_the_time(self):
|
|
steps = friendsanity.get_heart_steps(4, 1)
|
|
|
|
self.assertEqual(steps, (1, 2, 3, 4))
|
|
|
|
def test_given_size_of_two_when_calculate_steps_then_advance_two_heart_at_the_time(self):
|
|
steps = friendsanity.get_heart_steps(6, 2)
|
|
|
|
self.assertEqual(steps, (2, 4, 6))
|
|
|
|
def test_given_size_of_three_and_max_heart_not_multiple_of_three_when_calculate_steps_then_add_max_as_last_step(self):
|
|
steps = friendsanity.get_heart_steps(7, 3)
|
|
|
|
self.assertEqual(steps, (3, 6, 7))
|
|
|
|
|
|
class TestExtractNpcFromLocation(unittest.TestCase):
|
|
|
|
def test_given_npc_with_space_in_name_when_extract_then_find_name_and_heart(self):
|
|
npc = "Mr. Ginger"
|
|
location_name = friendsanity.to_location_name(npc, 34)
|
|
|
|
found_name, found_heart = friendsanity.extract_npc_from_location_name(location_name)
|
|
|
|
self.assertEqual(found_name, npc)
|
|
self.assertEqual(found_heart, 34)
|