Testing Sales Item PBO (Pertemuan 10)
Pemrograman Berbasis Objek (PBO)
Nama: Hosea Felix Sanjaya
NRP: 5025241177
Kelas: B
Tahun: 2025
Testing Class Comment di Java
Halo semuanya! 👋
Pada kesempatan kali ini, saya mau membahas tentang pengujian (testing) untuk sebuah class sederhana bernama Comment.
Class ini dirancang untuk merepresentasikan sebuah komentar pengguna, misalnya dalam sistem ulasan (review system) pada aplikasi e-commerce atau forum diskusi.
Tujuan Class
Class Comment memiliki fungsi utama untuk menyimpan informasi berikut:
- Author (Penulis komentar)
- Text (Isi komentar)
- Rating (Penilaian dalam skala 1–5)
- Votes (Jumlah suara atau dukungan)
Selain menyimpan data, class ini juga mendukung operasi sederhana seperti:
upvote()→ menambah satu suara positif.downvote()→ mengurangi satu suara.
Kode Program Class Comment
/**
* Write a description of class Comment here.
*
* @author Hosea Felix Sanjaya
* @version 30 Oct 2025
*/
public class Comment {
private String author;
private String text;
private int rating;
private int votes;
public Comment(String author, String text, int rating) {
this.author = author;
this.text = text;
this.rating = rating;
this.votes = 0;
}
public String getAuthor() {
return author;
}
public String getText() {
return text;
}
public int getRating() {
return rating;
}
public int getVoteCount() {
return votes;
}
public void upvote() {
votes++;
}
public void downvote() {
votes--;
}
public String getFullDetails() {
return "Author: " + author + "\n" +
"Rating: " + rating + "/5\n" +
"Votes: " + votes + "\n" +
"Comment: " + text;
}
}
Class Testing: CommentTester
Untuk menguji fungsionalitas class Comment, kita buat class lain bernama CommentTester.
Class ini akan membuat objek Comment, menampilkan detailnya, dan mencoba melakukan voting.
/**
* Class untuk mengetes Comment class.
*
* @author Hose
* @version 30 Oct 2025
*/
public class CommentTester {
public static void main(String[] args) {
// Membuat objek comment
Comment comment1 = new Comment("Hosea", "Produk ini sangat bagus!", 5);
// Menampilkan detail awal
System.out.println("=== Detail Awal ===");
System.out.println(comment1.getFullDetails());
// Melakukan voting
comment1.upvote();
comment1.upvote();
comment1.downvote();
// Menampilkan hasil setelah voting
System.out.println("\n=== Setelah Voting ===");
System.out.println(comment1.getFullDetails());
}
}
Hasil Output
=== Detail Awal === Author: Hosea Rating: 5/5 Votes: 0 Comment: Produk ini sangat bagus! === Setelah Voting === Author: Hosea Rating: 5/5 Votes: 1 Comment: Produk ini sangat bagus!
Tidak ada komentar:
Posting Komentar