Buat Pengujian Unit Urutkan Cepat

Membuat pengujian unit untuk fungsi Python tertentu.

Anda dapat membuat kueri model secara langsung dan menguji hasil yang ditampilkan saat menggunakan parameter value yang berbeda dengan Konsol Cloud, atau dengan memanggil Vertex AI API secara langsung.

Perintah Freeform

Buat pengujian unit untuk fungsi quick_sort berikut.

def quick_sort(arr):
    if len(arr) <= 1:
        return arr
    else:
        pivot = arr[0]
        left = [x for x in arr[1:] if x < pivot]
        right = [x for x in arr[1:] if x >= pivot]
        return quick_sort(left) + [pivot] + quick_sort(right)

Respons

import unittest

def quick_sort(arr):
if len(arr) <= 1:
return arr
else:
pivot = arr[0]
left = [x for x in arr[1:] if x < pivot]
right = [x for x in arr[1:] if x >= pivot]
return quick_sort(left) + [pivot] + quick_sort(right)

class TestQuickSort(unittest.TestCase):

def test_empty_array(self):
self.assertEqual(quick_sort([]), [])

def test_single_element_array(self):
self.assertEqual(quick_sort([5]), [5])

def test_sorted_array(self):
self.assertEqual(quick_sort([1, 2, 3, 4, 5]), [1, 2, 3, 4, 5])

def test_reverse_sorted_array(self):
self.assertEqual(quick_sort([5, 4, 3, 2, 1]), [1, 2, 3, 4, 5])

def test_unsorted_array(self):
self.assertEqual(quick_sort([3, 7, 8, 5, 2, 1, 9, 4, 6]), [1, 2, 3, 4, 5, 6, 7, 8, 9])

def test_array_with_duplicates(self):
self.assertEqual(quick_sort([3, 7, 8, 5, 2, 1, 9, 4, 6, 3, 7]), [1, 2, 3, 3, 4, 5, 6, 7, 7, 8, 9])

if __name__ == '__main__':
unittest.main()

Penjelasan pengujian:

  1. test_empty_array: Memeriksa apakah fungsi menangani array kosong dengan benar.
  2. test_single_element_array: Memeriksa apakah fungsi menangani array dengan satu elemen dengan benar.
  3. test_sorted_array: Memeriksa apakah fungsi mengurutkan array yang sudah diurutkan dengan benar.
  4. test_reverse_sorted_array: Memeriksa apakah fungsi mengurutkan array yang diurutkan terbalik dengan benar.
  5. test_unsorted_array: Memeriksa apakah fungsi mengurutkan array yang tidak diurutkan dengan benar.
  6. test_array_with_duplicates: Memeriksa apakah fungsi menangani array dengan elemen duplikat dengan benar.

Menjalankan pengujian:

Untuk menjalankan pengujian, simpan kode sebagai file Python (misalnya, test_quick_sort.py) dan jalankan dari command line:

python test_quick_sort.py

Tindakan ini akan menjalankan pengujian dan mencetak hasilnya. Jika semua pengujian lulus, Anda akan melihat output mirip dengan:

....
----------------------------------------------------------------------
Ran 6 tests in 0.001s

OK
Model: gemini-1.5-flash-001
Suhu: 1
Token output maks: 8192
TopK: 40
TopP: 0,95