PBO 10
muhammad rafi budi purnama
5025221307
PBO 10
code : https://github.com/mbahbud/PBO.git
Sales Item Unit Testing
Penugasan kali ini kita kana mendemonstrasikan cara kerja unit testing. Class diagram nya seperti berikut.
Penerapan kode dari ketiga class tersebut adalah seperti berikut :
Comment.java
public class Comment {
private String author;
private String text;
private int rating; // misalnya 1–5
public Comment(String author, String text, int rating) {
this.author = author;
this.text = text;
this.rating = rating;
}
public String getAuthor() {
return author;
}
public String getText() {
return text;
}
public int getRating() {
return rating;
}
public String toString() {
return author + " (" + rating + "/5): " + text;
}
}
SalesItem.java
import java.util.ArrayList;
public class SalesItem {
private String name;
private int price;
private ArrayList<Comment> comments;
public SalesItem(String name, int price) {
this.name = name;
this.price = price;
this.comments = new ArrayList<>();
}
public String getName() {
return name;
}
public int getPrice() {
return price;
}
public void addComment(String author, String text, int rating) {
Comment c = new Comment(author, text, rating);
comments.add(c);
}
public ArrayList<Comment> getComments() {
return comments;
}
public void printInfo() {
System.out.println("Item: " + name);
System.out.println("Price: $" + price);
System.out.println("Comments:");
if (comments.isEmpty()) {
System.out.println(" No comments yet.");
} else {
for (Comment c : comments) {
System.out.println(" - " + c);
}
}
System.out.println();
}
}
SalesItemTest.java
import static org.junit.Assert.*;
import org.junit.Test;
public class SalesItemTest {
@Test
public void testSalesItemCreation() {
SalesItem item = new SalesItem("Laptop Gaming", 1500);
assertEquals("Laptop Gaming", item.getName());
assertEquals(1500, item.getPrice());
}
@Test
public void testAddComment() {
SalesItem item = new SalesItem("Keyboard", 500);
item.addComment("Aditya", "Bagus sekali!", 5);
assertEquals(1, item.getComments().size());
assertEquals("Aditya", item.getComments().get(0).getAuthor());
assertEquals(5, item.getComments().get(0).getRating());
}
@Test
public void testMultipleComments() {
SalesItem item = new SalesItem("Mouse", 200);
item.addComment("Adit", "Mantap", 4);
item.addComment("Rizki", "Lumayan", 3);
assertEquals(2, item.getComments().size());
}
}
ketika pada class SalesItemTest dijalankan TestAll maka hasilnya adalah seperti berikut.
Komentar
Posting Komentar