Added utility structures + tests

This commit is contained in:
Marvin Scham
2023-06-07 05:46:03 +02:00
parent b9fb6cbc89
commit 3ba366684c
19 changed files with 624 additions and 11 deletions

View File

@@ -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());
}
}