HackerRank Day 27 Testing 30 days of code solution YASH PAL, 31 July 2024 In this HackerRank Day, 27 Testing 30 days of code problem set all the code is written, we only need to pass the test input data and validate the code. Problem solution in Python 3 programming. 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 seq[i] < seq[min_idx]: min_idx = i return min_idx class TestDataEmptyArray(object): @staticmethod def get_array(): return list() class TestDataUniqueValues(object): @staticmethod def get_array(): return [7,9,1,2,-7,10,22] @staticmethod def get_expected_result(): return 4 class TestDataExactlyTwoDifferentMinimums(object): @staticmethod def get_array(): return [7,9,1,2,-7,10,22,-7] @staticmethod def get_expected_result(): return 4 def TestWithEmptyArray(): try: seq = TestDataEmptyArray.get_array() result = minimum_index(seq) except ValueError as e: pass else: assert False def TestWithUniqueValues(): seq = TestDataUniqueValues.get_array() assert len(seq) >= 2 assert len(list(set(seq))) == len(seq) expected_result = TestDataUniqueValues.get_expected_result() result = minimum_index(seq) assert result == expected_result def TestiWithExactyTwoDifferentMinimums(): seq = TestDataExactlyTwoDifferentMinimums.get_array() assert len(seq) >= 2 tmp = sorted(seq) assert tmp[0] == tmp[1] and (len(tmp) == 2 or tmp[1] < tmp[2]) expected_result = TestDataExactlyTwoDifferentMinimums.get_expected_result() result = minimum_index(seq) assert result == expected_result TestWithEmptyArray() TestWithUniqueValues() TestiWithExactyTwoDifferentMinimums() print("OK") 30 days of code coding problems