diff --git a/src/main/java/ch/heigvd/res/chill/domain/gvetter/Cardinal.java b/src/main/java/ch/heigvd/res/chill/domain/gvetter/Cardinal.java new file mode 100644 index 000000000..16b69564a --- /dev/null +++ b/src/main/java/ch/heigvd/res/chill/domain/gvetter/Cardinal.java @@ -0,0 +1,21 @@ +package ch.heigvd.res.chill.domain.gvetter; + +import ch.heigvd.res.chill.domain.IProduct; + +import java.math.BigDecimal; + +public class Cardinal implements IProduct { + + public final static String NAME = "Cardinal"; + public final static BigDecimal PRICE = new BigDecimal(2.3); + + @Override + public String getName() { + return NAME; + } + + @Override + public BigDecimal getPrice() { + return PRICE; + } +} diff --git a/src/main/java/ch/heigvd/res/chill/domain/gvetter/Carlsberg.java b/src/main/java/ch/heigvd/res/chill/domain/gvetter/Carlsberg.java new file mode 100644 index 000000000..080cf9eea --- /dev/null +++ b/src/main/java/ch/heigvd/res/chill/domain/gvetter/Carlsberg.java @@ -0,0 +1,21 @@ +package ch.heigvd.res.chill.domain.gvetter; + +import ch.heigvd.res.chill.domain.IProduct; + +import java.math.BigDecimal; + +public class Carlsberg implements IProduct { + + public final static String NAME = "Carlsberg"; + public final static BigDecimal PRICE = new BigDecimal(2.9); + + @Override + public String getName() { + return NAME; + } + + @Override + public BigDecimal getPrice() { + return PRICE; + } +} diff --git a/src/main/java/ch/heigvd/res/chill/domain/gvetter/Valaisanne.java b/src/main/java/ch/heigvd/res/chill/domain/gvetter/Valaisanne.java new file mode 100644 index 000000000..7213c0b3d --- /dev/null +++ b/src/main/java/ch/heigvd/res/chill/domain/gvetter/Valaisanne.java @@ -0,0 +1,21 @@ +package ch.heigvd.res.chill.domain.gvetter; + +import ch.heigvd.res.chill.domain.IProduct; + +import java.math.BigDecimal; + +public class Valaisanne implements IProduct { + + public final static String NAME = "Valaisanne"; + public final static BigDecimal PRICE = new BigDecimal(2.8); + + @Override + public String getName() { + return NAME; + } + + @Override + public BigDecimal getPrice() { + return PRICE; + } +} diff --git a/src/test/java/ch/heigvd/res/chill/domain/gvetter/CardinalTest.java b/src/test/java/ch/heigvd/res/chill/domain/gvetter/CardinalTest.java new file mode 100644 index 000000000..9ff6e372b --- /dev/null +++ b/src/test/java/ch/heigvd/res/chill/domain/gvetter/CardinalTest.java @@ -0,0 +1,31 @@ +package ch.heigvd.res.chill.domain.gvetter; + +import ch.heigvd.res.chill.domain.Bartender; +import ch.heigvd.res.chill.protocol.OrderRequest; +import ch.heigvd.res.chill.protocol.OrderResponse; +import org.junit.jupiter.api.Test; + +import java.math.BigDecimal; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +class CardinalTest { + + @Test + void thePriceAndNameForCardinalShouldBeCorrect() { + Cardinal beer = new Cardinal(); + assertEquals(beer.getName(), Cardinal.NAME); + assertEquals(beer.getPrice(), Cardinal.PRICE); + } + + @Test + void aBartenderShouldAcceptAnOrderForCardinal() { + Bartender jane = new Bartender(); + String productName = "ch.heigvd.res.chill.domain.gvetter.Cardinal"; + OrderRequest request = new OrderRequest(3, productName); + OrderResponse response = jane.order(request); + BigDecimal expectedTotalPrice = Cardinal.PRICE.multiply(new BigDecimal(3)); + assertEquals(expectedTotalPrice, response.getTotalPrice()); + } + +} \ No newline at end of file diff --git a/src/test/java/ch/heigvd/res/chill/domain/gvetter/CarlsbergTest.java b/src/test/java/ch/heigvd/res/chill/domain/gvetter/CarlsbergTest.java new file mode 100644 index 000000000..e1bb58ca8 --- /dev/null +++ b/src/test/java/ch/heigvd/res/chill/domain/gvetter/CarlsbergTest.java @@ -0,0 +1,31 @@ +package ch.heigvd.res.chill.domain.gvetter; + +import ch.heigvd.res.chill.domain.Bartender; +import ch.heigvd.res.chill.protocol.OrderRequest; +import ch.heigvd.res.chill.protocol.OrderResponse; +import org.junit.jupiter.api.Test; + +import java.math.BigDecimal; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +class CarlsbergTest { + + @Test + void thePriceAndNameForCarlsbergShouldBeCorrect() { + Carlsberg beer = new Carlsberg(); + assertEquals(beer.getName(), Carlsberg.NAME); + assertEquals(beer.getPrice(), Carlsberg.PRICE); + } + + @Test + void aBartenderShouldAcceptAnOrderForCarlsberg() { + Bartender jane = new Bartender(); + String productName = "ch.heigvd.res.chill.domain.gvetter.Carlsberg"; + OrderRequest request = new OrderRequest(3, productName); + OrderResponse response = jane.order(request); + BigDecimal expectedTotalPrice = Carlsberg.PRICE.multiply(new BigDecimal(3)); + assertEquals(expectedTotalPrice, response.getTotalPrice()); + } + +} \ No newline at end of file diff --git a/src/test/java/ch/heigvd/res/chill/domain/gvetter/ValaisanneTest.java b/src/test/java/ch/heigvd/res/chill/domain/gvetter/ValaisanneTest.java new file mode 100644 index 000000000..352330f38 --- /dev/null +++ b/src/test/java/ch/heigvd/res/chill/domain/gvetter/ValaisanneTest.java @@ -0,0 +1,31 @@ +package ch.heigvd.res.chill.domain.gvetter; + +import ch.heigvd.res.chill.domain.Bartender; +import ch.heigvd.res.chill.protocol.OrderRequest; +import ch.heigvd.res.chill.protocol.OrderResponse; +import org.junit.jupiter.api.Test; + +import java.math.BigDecimal; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +class ValaisanneTest { + + @Test + void thePriceAndNameForValaisanneShouldBeCorrect() { + Valaisanne beer = new Valaisanne(); + assertEquals(beer.getName(), Valaisanne.NAME); + assertEquals(beer.getPrice(), Valaisanne.PRICE); + } + + @Test + void aBartenderShouldAcceptAnOrderForValaisanne() { + Bartender jane = new Bartender(); + String productName = "ch.heigvd.res.chill.domain.gvetter.Valaisanne"; + OrderRequest request = new OrderRequest(3, productName); + OrderResponse response = jane.order(request); + BigDecimal expectedTotalPrice = Valaisanne.PRICE.multiply(new BigDecimal(3)); + assertEquals(expectedTotalPrice, response.getTotalPrice()); + } + +} \ No newline at end of file