Browse Source

Add gestform format

main
Valentin BOUVAREL 3 years ago
parent
commit
c3638019fe
  1. 10
      gestform.py
  2. 55
      tests/tests_gestform.py

10
gestform.py

@ -19,3 +19,13 @@ def randomise_with_iterator(list_from: List[int]) -> int:
shuffle(randomized)
while randomized:
yield randomized.pop()
def gestformation(number: int) -> str:
"""Transform a number to a string depends on modularity"""
if number % 3 == 0 and number % 5 == 0:
return "GestForm"
elif number % 5 == 0:
return "Forme"
elif number % 3 == 0:
return "Geste"
return number

55
tests/tests_gestform.py

@ -3,10 +3,11 @@ from unittest import TestCase
from gestform import (
generate_numbers_list, MIN, MAX,
randomise_with_iterator,
gestformation,
)
class RandomListNumber(TestCase):
class RandomListNumberTest(TestCase):
def setUp(self) -> None:
super().setUp()
self.generated: list = generate_numbers_list(mini=MIN, maxi=MAX)
@ -26,3 +27,55 @@ class RandomListNumber(TestCase):
self.assertLessEqual(n, MAX)
count += 1
self.assertEqual(len(self.generated), count)
class GestFormTest(TestCase):
def setUp(self) -> None:
super().setUp()
self.generated: list = [
i for i in randomise_with_iterator(
generate_numbers_list(mini=MIN, maxi=MAX)
)
]
def test_geste_modulo_3(self):
gest_numbers = [-999, -333, 3, 9, 18, 1002]
for i in gest_numbers:
with self.subTest(i):
result = gestformation(i)
self.assertEqual(result, "Geste")
def test_not_geste_modulo_3(self):
gest_numbers = [-998, -332, 2, 10, 19, 1000]
for i in gest_numbers:
with self.subTest(i):
result = gestformation(i)
self.assertNotEqual(result, "Geste")
def test_forme_modulo_5(self):
gest_numbers = [-5555, -50, 5, 40, 70, 995]
for i in gest_numbers:
with self.subTest(i):
result = gestformation(i)
self.assertEqual(result, "Forme")
def test_not_forme_modulo_5(self):
gest_numbers = [-998, -332, 2, 14, 19, 1111]
for i in gest_numbers:
with self.subTest(i):
result = gestformation(i)
self.assertNotEqual(result, "Forme")
def test_gestform_modulo_15(self):
gest_numbers = [-1500, -60, 15, 105, 900, 1005]
for i in gest_numbers:
with self.subTest(i):
result = gestformation(i)
self.assertEqual(result, "GestForm")
def test_not_gestform_modulo_5(self):
gest_numbers = [-998, -332, 2, 10, 19, 1000]
for i in gest_numbers:
with self.subTest(i):
result = gestformation(i)
self.assertNotEqual(result, "GestForm")

Loading…
Cancel
Save