ЗАДАЧА:
Эта проблема связана с модульным тестированием.
Вашей компании нужна функция, отвечающая следующим требованиям:
- Для заданного массива из n целых чисел функция возвращает индекс элемента с минимальным значением в массиве. Если имеется более одного элемента с минимальным значением, возвращается наименьшее.
- Если в функцию передается пустой массив, она вызывает исключение. Коллега написал этот метод. Реализация на Python приведена ниже. Реализации на других языках можно найти в шаблоне кода.
def minimum_index(seq): if len(seq) == 0: raise ValueError("Cannot get the minimum value index from an empty sequence") min_idx = 0 for i in range(1, len(seq)): if a[i] < a[min_idx]: min_idx = i return min_idx
Коллега подготовил функции, которые будут выполнять тесты и проверять возвращаемые значения. Завершите реализацию 3 классов, чтобы предоставить данные и ожидаемые результаты для тестов.
Выполните следующие методы.
В классе TestDataEmptyArray
:
get_array()
возвращает пустой массив
В классе TestDataUniqueValues
:
get_array()
возвращает массив размером не менее 2 со всеми уникальными элементамиget_expected_result()
возвращает индекс ожидаемого минимального значения для этого массива
В классе TestDataExactlyTwoDifferentMinimums
:
get_array()
возвращает массив, в котором минимальное значение встречается ровно в 2 индексахget_expected_result()
возвращает ожидаемый индекс
class TestDataEmptyArray: @staticmethod def get_array(): return [] class TestDataUniqueValues: @staticmethod def get_array(): return [1, 2] @staticmethod def get_expected_result(): return 0 class TestDataExactlyTwoDifferentMinimums: @staticmethod def get_array(): return [1,2,1] @staticmethod def get_expected_result(): return 0