ЗАДАЧА:

Эта проблема связана с модульным тестированием.

Вашей компании нужна функция, отвечающая следующим требованиям:

  • Для заданного массива из 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