From c3638019fe8c6b6b67e13d1f59d9ff68da47e98d Mon Sep 17 00:00:00 2001 From: Valentin BOUVAREL Date: Thu, 17 Nov 2022 11:00:22 +0100 Subject: [PATCH] Add gestform format --- gestform.py | 10 ++++++++ tests/tests_gestform.py | 55 ++++++++++++++++++++++++++++++++++++++++- 2 files changed, 64 insertions(+), 1 deletion(-) diff --git a/gestform.py b/gestform.py index 25f6322..97588dc 100644 --- a/gestform.py +++ b/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 diff --git a/tests/tests_gestform.py b/tests/tests_gestform.py index 73e3439..0562efd 100644 --- a/tests/tests_gestform.py +++ b/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")