diff --git a/src/main/java/ch/heigvd/res/chill/domain/lohaheigvd/ClubMate.java b/src/main/java/ch/heigvd/res/chill/domain/lohaheigvd/ClubMate.java new file mode 100644 index 0000000..5627b3d --- /dev/null +++ b/src/main/java/ch/heigvd/res/chill/domain/lohaheigvd/ClubMate.java @@ -0,0 +1,21 @@ +package ch.heigvd.res.chill.domain.lohaheigvd; + +import ch.heigvd.res.chill.domain.IProduct; + +import java.math.BigDecimal; + +public class ClubMate implements IProduct { + + public final static String NAME = "ClubMate"; + public final static BigDecimal PRICE = new BigDecimal(2.0); + + @Override + public String getName() { + return NAME; + } + + @Override + public BigDecimal getPrice() { + return PRICE; + } +} diff --git a/src/main/java/ch/heigvd/res/chill/domain/lohaheigvd/Fifty.java b/src/main/java/ch/heigvd/res/chill/domain/lohaheigvd/Fifty.java new file mode 100644 index 0000000..f45f762 --- /dev/null +++ b/src/main/java/ch/heigvd/res/chill/domain/lohaheigvd/Fifty.java @@ -0,0 +1,21 @@ +package ch.heigvd.res.chill.domain.lohaheigvd; + +import ch.heigvd.res.chill.domain.IProduct; + +import java.math.BigDecimal; + +public class Fifty implements IProduct { + + public final static String NAME = "Fifty"; + public final static BigDecimal PRICE = new BigDecimal(2.0); + + @Override + public String getName() { + return NAME; + } + + @Override + public BigDecimal getPrice() { + return PRICE; + } +} diff --git a/src/test/java/ch/heigvd/res/chill/domain/lohaheigvd/ClubMateTest.java b/src/test/java/ch/heigvd/res/chill/domain/lohaheigvd/ClubMateTest.java new file mode 100644 index 0000000..d0cae53 --- /dev/null +++ b/src/test/java/ch/heigvd/res/chill/domain/lohaheigvd/ClubMateTest.java @@ -0,0 +1,31 @@ +package ch.heigvd.res.chill.domain.lohaheigvd; + +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 ClubMateTest { + + @Test + void thePriceAndNameForClubMateShouldBeCorrect() { + ClubMate beer = new ClubMate(); + assertEquals(beer.getName(), ClubMate.NAME); + assertEquals(beer.getPrice(), ClubMate.PRICE); + } + + @Test + void aBartenderShouldAcceptAnOrderForClubMate() { + Bartender jane = new Bartender(); + String productName = "ch.heigvd.res.chill.domain.lohaheigvd.ClubMate"; + OrderRequest request = new OrderRequest(3, productName); + OrderResponse response = jane.order(request); + BigDecimal expectedTotalPrice = ClubMate.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/lohaheigvd/FiftyTest.java b/src/test/java/ch/heigvd/res/chill/domain/lohaheigvd/FiftyTest.java new file mode 100644 index 0000000..26a6a04 --- /dev/null +++ b/src/test/java/ch/heigvd/res/chill/domain/lohaheigvd/FiftyTest.java @@ -0,0 +1,31 @@ +package ch.heigvd.res.chill.domain.lohaheigvd; + +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 FiftyTest { + + @Test + void thePriceAndNameForFiftyShouldBeCorrect() { + Fifty beer = new Fifty(); + assertEquals(beer.getName(), Fifty.NAME); + assertEquals(beer.getPrice(), Fifty.PRICE); + } + + @Test + void aBartenderShouldAcceptAnOrderForFifty() { + Bartender jane = new Bartender(); + String productName = "ch.heigvd.res.chill.domain.lohaheigvd.Fifty"; + OrderRequest request = new OrderRequest(3, productName); + OrderResponse response = jane.order(request); + BigDecimal expectedTotalPrice = Fifty.PRICE.multiply(new BigDecimal(3)); + assertEquals(expectedTotalPrice, response.getTotalPrice()); + } + +} \ No newline at end of file