123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- import sorting
- from random import randint
-
- DEBUG_OUTPUT = True
-
- def test_mergeSort(pruebas):
- FAIL = False
-
- print("\nProbando MergeSort")
-
- for nombre, lista in pruebas.items():
- if sorting.mergeSort(lista) == sorted(lista):
- print(f"{nombre}: " + "Pass")
- else:
- print(f"{nombre}: " + "Fail")
- FAIL = True
-
- if FAIL == True and DEBUG_OUTPUT == True:
- print("\n Test FAIL OUTPUT for MergeSort")
- for nombre, lista in pruebas.items():
- print(f"{nombre}: Obtained -> {sorting.mergeSort(lista)} | Expected -> {sorted(lista)}")
-
- def test_heapSort(pruebas):
- FAIL = False
-
- print("\nProbando HeapSort")
-
- for nombre, lista in pruebas.items():
- if sorting.heapSort(lista) == sorted(lista):
- print(f"{nombre}: " + "Pass")
- else:
- print(f"{nombre}: " + "Fail")
- FAIL = True
-
- if FAIL == True and DEBUG_OUTPUT == True:
- print("\n Test FAIL OUTPUT for HeapSort")
- for nombre, lista in pruebas.items():
- print(f"{nombre}: Obtained -> {sorting.heapSort(lista)} | Expected -> {sorted(lista)}")
-
- def test_quickSort(pruebas):
- FAIL = False
-
- print("\nProbando QuickSort")
-
- for nombre, lista in pruebas.items():
- if sorting.quickSort(lista) == sorted(lista):
- print(f"{nombre}: " + "Pass")
- else:
- print(f"{nombre}: " + "Fail")
- FAIL = True
-
- if FAIL == True and DEBUG_OUTPUT == True:
- print("\n Test FAIL OUTPUT for QuickSort")
- for nombre, lista in pruebas.items():
- print(f"{nombre}: Obtained -> {sorting.quickSort(lista)} | Expected -> {sorted(lista)}")
-
- def test_shellSort(pruebas):
- FAIL = False
-
- print("\nProbando ShellSort")
-
- for nombre, lista in pruebas.items():
- if sorting.shellSort(lista) == sorted(lista):
- print(f"{nombre}: " + "Pass")
- else:
- print(f"{nombre}: " + "Fail")
- FAIL = True
-
- if FAIL == True and DEBUG_OUTPUT == True:
- print("\n Test FAIL OUTPUT for ShellSort")
- for nombre, lista in pruebas.items():
- print(f"{nombre}: Obtained -> {sorting.shellSort(lista)} | Expected -> {sorted(lista)}")
-
- def main():
- PRUEBAS = {"Enteros":[0,7,3,1,4,5,2],
- "Negativos":[8,-1,3,2,-4,9],
- "Aleatorios":[randint(-49,50) for r in range(10)],
- "Vacia":[],
- "Ordenada":[1,2,3,4,5,6,7]}
-
- test_mergeSort(PRUEBAS)
- test_heapSort(PRUEBAS)
- test_quickSort(PRUEBAS)
- test_shellSort(PRUEBAS)
-
- if __name__ == "__main__":
- main()
|