from unittest import TestCase from gestform import ( generate_numbers_list, MIN, MAX, randomise_with_iterator, gestformation, ) class RandomListNumberTest(TestCase): def setUp(self) -> None: super().setUp() self.generated: list = generate_numbers_list(mini=MIN, maxi=MAX) def test_generate_numbers_list(self): self.assertEqual(min(self.generated), MIN) self.assertEqual(max(self.generated), MAX) self.assertIn(0, self.generated) self.assertNotIn(MIN - 1, self.generated) self.assertNotIn(MAX + 1, self.generated) def test_randomised_iterator_over_list(self): count: int = 0 for n in randomise_with_iterator(self.generated): with self.subTest(n): self.assertGreaterEqual(n, MIN) 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(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(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(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(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(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(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")