5025231237 - Rayhan Aurelia Pramana Rijal - Unit Testing

 Nama : Rayhan Aurelia Pramana Rijal

   NRP : 5025231237

Kelas   :  PBO A

Kode Untuk sales Item


Kode untuk Comment


Kode untuk Testing



Kode ini terdiri dari tiga kelas: comment, SalesItem, dan SalesItemTest

  1. Comment
    Kelas ini mewakili komentar pelanggan yang memiliki atribut author
     (penulis komentar), text (isi komentar), rating (nilai rating), dan vote (nilai voting). Kelas ini menyediakan metode untuk mendapatkan detail penulis, isi, dan rating, serta untuk menambah atau mengurangi voting. Metode getFullDetails() mengembalikan detail lengkap komentar dalam bentuk string yang menggabungkan penulis, rating, dan isi komentar.

  2. SalesItem
    Kelas ini mewakili barang atau item penjualan yang memiliki atribut name, price (harga dalam cents), dan daftar comment (komentar dari pelanggan). Kelas ini menyediakan metode untuk:

    • Menambah komentar baru (addcomment) dengan pengecekan validitas rating (1 hingga 5) dan mengecek apakah penulis sudah pernah memberikan komentar sebelumnya.
    • Menghapus komentar berdasarkan indeks.
    • Mengelola voting komentar dengan upvotecomment dan downvotecomment.
    • Menampilkan informasi item beserta komentar melalui showinfo.
    • Menemukan komentar yang paling berguna (findMostHelfulComment), yaitu komentar dengan voting tertinggi.
  3. Test
    Ini adalah kelas pengujian berbasis JUnit untuk menguji fungsionalitas dari SalesItem dan Comment. Beberapa metode pengujian di antaranya:

    • Testgetname() dan testGetPrice(): untuk menguji nama dan harga item.
    • testAddValidComment() dan testAddCommentWithInvalidRating(): untuk menguji penambahan komentar dengan validitas rating.
    • testUpvoteComment() dan testDownvoteComment(): untuk menguji mekanisme voting pada komentar.
    • testFindMostHelpfulComment(): untuk memastikan komentar dengan voting tertinggi yang dikembalikan adalah yang paling membantu.

Kelas SalesItem dan Comment bersama-sama mengimplementasikan sistem ulasan atau komentar pelanggan pada suatu item penjualan, lengkap dengan fitur voting untuk membantu menentukan komentar yang paling berguna. Pengujian di SalesItemTest menunjukkan bahwa semua fungsionalitas dasar dari kelas SalesItem dan Comment telah diuji, termasuk penambahan komentar, penghapusan, voting, dan penentuan komentar terbaik.

Komentar

Postingan populer dari blog ini

Tugas Membuat Profil Diri

Ticket Machine

5025231327 - Rayhan Aurelia Pramana Rijal - EAS PWEB E