diff --git a/src/main/java/ch/heigvd/res/pizza/domain/ncdm_stldr/Napoli.java b/src/main/java/ch/heigvd/res/pizza/domain/ncdm_stldr/Napoli.java new file mode 100644 index 0000000..ab6c017 --- /dev/null +++ b/src/main/java/ch/heigvd/res/pizza/domain/ncdm_stldr/Napoli.java @@ -0,0 +1,21 @@ +package ch.heigvd.res.pizza.domain.ncdm_stldr; + +import ch.heigvd.res.pizza.domain.IProduct; + +import java.math.BigDecimal; + +public class Napoli implements IProduct { + + public final static String NAME = "Napoli"; + public final static BigDecimal PRICE = new BigDecimal(17.5); + + @Override + public String getName() { + return NAME; + } + + @Override + public BigDecimal getPrice() { + return PRICE; + } +} diff --git a/src/test/java/ch/heigvd/res/pizza/domain/ncdm_stldr/NapoliTest.java b/src/test/java/ch/heigvd/res/pizza/domain/ncdm_stldr/NapoliTest.java new file mode 100644 index 0000000..efea089 --- /dev/null +++ b/src/test/java/ch/heigvd/res/pizza/domain/ncdm_stldr/NapoliTest.java @@ -0,0 +1,32 @@ +package ch.heigvd.res.pizza.domain.ncdm_stldr; + +import ch.heigvd.res.pizza.domain.Pizzaiolo; +import ch.heigvd.res.pizza.protocol.OrderRequest; +import ch.heigvd.res.pizza.protocol.OrderResponse; +import org.junit.jupiter.api.Test; + +import java.math.BigDecimal; + +import static org.junit.jupiter.api.Assertions.*; + +class NapoliTest { + + @Test + void thePriceAndNameForNapoliShouldBeCorrect() { + Napoli pizza = new Napoli(); + assertEquals(pizza.getName(), Napoli.NAME); + assertEquals(pizza.getPrice(), Napoli.PRICE); + } + + @Test + void aPizzaioloShouldAcceptAnOrderForNapoli() { + Pizzaiolo mario = new Pizzaiolo(); + String productName = "ch.heigvd.res.pizza.domain.ncdm_stldr.Napoli"; + int numberOfPizzas = 2; + OrderRequest request = new OrderRequest(numberOfPizzas, productName); + OrderResponse response = mario.order(request); + BigDecimal expectedTotalPrice = Napoli.PRICE.multiply(new BigDecimal(numberOfPizzas)); + assertEquals(expectedTotalPrice, response.getTotalPrice()); + } + +} \ No newline at end of file