package de.hs_fulda.ciip.projjpn; import junit.framework.TestCase; public class ItemTest extends TestCase { /** * No Items are in Stock. * Check the inStock() Method. */ public void test_ItemNotInStock() { // Given Item item = new Item(); // When boolean notInStock = item.inStock(); // Then assertFalse(notInStock); } /** * Stock is not Empty. * Check the inStock() Method. */ public void test_ItemInStock() { // Given Item item = new Item(); item.updateAvailability(1); // When boolean inStock = item.inStock(); // Then assertTrue(inStock); } /** * One and the same type of an item costs the same. * check getCurrentPrice() */ public void test_priceOfMultipleIdenticalItems() { // Given Item item = new Item(); int quantity = 3; float price = 5; item.updateAvailability(quantity); item.updatePrice(price); // When float expectedPrice = quantity * price; // Then float actualPrice = 0; for(int i = 0; i < quantity; i++) { actualPrice += item.getCurrentPrice(); } assertEquals(expectedPrice, actualPrice); } /** * Check if creating a complete item with all attributes works as intended. */ public void test_buildCompleteItem() { // Given String expectedTitel = "Logitec Maus"; String expectedDescription = "Gaming Maus fuer Fortgeschrittene."; int expectedQuantity = 10; float expectedPrice = 69.99f; // When Item itemNotNull = new Item(expectedTitel, expectedDescription, expectedQuantity, expectedPrice); // Then assertNotNull(itemNotNull); // When boolean validDescription = itemNotNull.getDescription().equals(expectedDescription); assertTrue(validDescription); boolean validTitle = itemNotNull.getTitel().equals(expectedTitel); assertTrue(validTitle); boolean validQuantity = itemNotNull.getCurrentStock() == expectedQuantity; assertTrue(validQuantity); boolean validPrice = itemNotNull.getCurrentPrice() == expectedPrice; assertTrue(validPrice); } }