def test_is_polygonal(self): """Test is_polygonal()""" for num_sides, test_numbers in enumerate(self.test_numbers): if test_numbers: for test_number in test_numbers: result = fn.is_polygonal(num_sides, test_number) msg = "%d should be %d polygonal" \ % (test_number, num_sides) self.assertTrue(result, msg) for num_sides, not_test_numbers in enumerate(self.not_test_numbers): if not_test_numbers: for not_test_number in not_test_numbers: result = fn.is_polygonal(num_sides, not_test_number) msg = "%d should not be %d polygonal" \ % (not_test_number, num_sides) self.assertFalse(result, msg)
def polygonal_classifications(number_n, up_to_n_sides): """ Returns a list of numbers indicating that number_n is polygonal for each number. For example, 6 is triangular and hexagonal. This function would return: [3, 6] """ result = [] for index in range(3, up_to_n_sides + 1): if fn.is_polygonal(index, number_n): result.append(index) return result