Added utility structures + tests
This commit is contained in:
@@ -0,0 +1,93 @@
|
||||
package de.rwu.easydrop.model;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
class ProductCatalogueTest {
|
||||
private ProductCatalogue productCatalogue;
|
||||
|
||||
@BeforeEach
|
||||
public void setup() {
|
||||
productCatalogue = new ProductCatalogue("GPU", "Graphics Processing Units");
|
||||
}
|
||||
|
||||
@Test
|
||||
void testAddProduct() {
|
||||
Product product = new Product();
|
||||
product.setProductId("12345");
|
||||
product.setMerchant("AmazonSeller");
|
||||
product.setDataOrigin("Amazon");
|
||||
productCatalogue.addProduct(product);
|
||||
|
||||
List<Product> products = productCatalogue.getProducts();
|
||||
Assertions.assertEquals(1, products.size());
|
||||
Assertions.assertEquals(product, products.get(0));
|
||||
}
|
||||
|
||||
@Test
|
||||
void testRemoveProduct() {
|
||||
Product product1 = new Product();
|
||||
product1.setProductId("12345");
|
||||
product1.setMerchant("AmazonSeller");
|
||||
product1.setDataOrigin("Amazon");
|
||||
productCatalogue.addProduct(product1);
|
||||
|
||||
Product product2 = new Product();
|
||||
product2.setProductId("54321");
|
||||
product2.setMerchant("eBaySeller");
|
||||
product2.setDataOrigin("eBay");
|
||||
productCatalogue.addProduct(product2);
|
||||
|
||||
productCatalogue.removeProduct(product1);
|
||||
|
||||
List<Product> products = productCatalogue.getProducts();
|
||||
Assertions.assertEquals(1, products.size());
|
||||
Assertions.assertEquals(product2, products.get(0));
|
||||
}
|
||||
|
||||
@Test
|
||||
void testClearProducts() {
|
||||
Product product1 = new Product();
|
||||
product1.setProductId("12345");
|
||||
product1.setMerchant("AmazonSeller");
|
||||
product1.setDataOrigin("Amazon");
|
||||
productCatalogue.addProduct(product1);
|
||||
|
||||
Product product2 = new Product();
|
||||
product2.setProductId("54321");
|
||||
product2.setMerchant("eBay");
|
||||
product2.setDataOrigin("eBay");
|
||||
productCatalogue.addProduct(product2);
|
||||
|
||||
productCatalogue.clearProducts();
|
||||
|
||||
List<Product> products = productCatalogue.getProducts();
|
||||
Assertions.assertTrue(products.isEmpty());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testToString() {
|
||||
Product product1 = new Product();
|
||||
product1.setProductId("12345");
|
||||
product1.setMerchant("AmazonSeller");
|
||||
product1.setDataOrigin("Amazon");
|
||||
productCatalogue.addProduct(product1);
|
||||
|
||||
Product product2 = new Product();
|
||||
product2.setProductId("54321");
|
||||
product2.setMerchant("eBaySeller");
|
||||
product2.setDataOrigin("eBay");
|
||||
productCatalogue.addProduct(product2);
|
||||
|
||||
String expectedString = "Product Catalogue: GPU\n" +
|
||||
"Description: Graphics Processing Units\n" +
|
||||
"Products:\n" +
|
||||
"Product: [12345 from AmazonSeller (Amazon) at 0,00 € (available: no)]\n" +
|
||||
"Product: [54321 from eBaySeller (eBay) at 0,00 € (available: no)]\n";
|
||||
|
||||
Assertions.assertEquals(expectedString, productCatalogue.toString());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user