diff --git a/pom.xml b/pom.xml index 5078dcae..747f8ec7 100644 --- a/pom.xml +++ b/pom.xml @@ -14,6 +14,7 @@ UTF-8 1.8 1.8 + 1.4.31 @@ -35,6 +36,19 @@ 5.4.0 test + + + + org.jetbrains.kotlin + kotlin-stdlib-jdk8 + ${kotlin.version} + + + org.jetbrains.kotlin + kotlin-test + ${kotlin.version} + test + @@ -43,6 +57,53 @@ maven-surefire-plugin 2.22.1 + + + + org.jetbrains.kotlin + kotlin-maven-plugin + ${kotlin.version} + + + compile + compile + + compile + + + + test-compile + test-compile + + test-compile + + + + + 1.8 + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + + compile + compile + + compile + + + + testCompile + test-compile + + testCompile + + + + diff --git a/src/main/java/ch/heigvd/res/chill/domain/quillasp/SkunkKT.kt b/src/main/java/ch/heigvd/res/chill/domain/quillasp/SkunkKT.kt new file mode 100644 index 00000000..8b0dcd53 --- /dev/null +++ b/src/main/java/ch/heigvd/res/chill/domain/quillasp/SkunkKT.kt @@ -0,0 +1,22 @@ +package ch.heigvd.res.chill.domain.quillasp + +import ch.heigvd.res.chill.domain.IProduct +import java.math.BigDecimal + +/* + * Je me suis dit: "pourquoi pas en Kotlin", c'est un peu comme un Java en plus + * lisible, imho + * + * Bon, c'était un peu tard la nuit, du coup le premier checkout n'a pas + * vraiment checkouté… Mais bon, c'est je trouvais ça amusant + */ +class SkunkKT: IProduct { + override fun getName(): String { return NAME; } + + override fun getPrice(): BigDecimal { return PRICE } + + companion object { + const val NAME = "Skunk but in Kotlin" + val PRICE = BigDecimal(10.0) + } +} \ No newline at end of file diff --git a/src/test/java/ch/heigvd/res/chill/domain/quillasp/SkunkKTTest.kt b/src/test/java/ch/heigvd/res/chill/domain/quillasp/SkunkKTTest.kt new file mode 100644 index 00000000..5b12ee70 --- /dev/null +++ b/src/test/java/ch/heigvd/res/chill/domain/quillasp/SkunkKTTest.kt @@ -0,0 +1,29 @@ +package ch.heigvd.res.chill.domain.quillasp + +import ch.heigvd.res.chill.domain.Bartender +import ch.heigvd.res.chill.protocol.OrderRequest +import org.junit.jupiter.api.Test + +import org.junit.jupiter.api.Assertions.assertEquals + +import java.math.BigDecimal + +class SkunkKTTest { + + @Test + fun thePriceAndNameForSkunkKTShouldBeCorrect() { + var skunkKT = SkunkKT + assertEquals(skunkKT.NAME, SkunkKT.NAME) + assertEquals(skunkKT.PRICE, SkunkKT.PRICE) + } + + @Test + fun aBartenderShouldAcceptAnOrderForSkunkKT() { + var jane = Bartender() + var productName = "ch.heigvd.res.chill.domain.quillasp.SkunkKT" + var request = OrderRequest(3, productName) + var response = jane.order(request) + var expectedTotalPrice = SkunkKT.PRICE.multiply(BigDecimal(3.0)) + assertEquals(expectedTotalPrice, response.totalPrice) + } +} \ No newline at end of file diff --git a/src/test/java/ch/heigvd/res/chill/domain/quillasp/SkunkTest.java b/src/test/java/ch/heigvd/res/chill/domain/quillasp/SkunkTest.java index f510102f..2d6842ce 100644 --- a/src/test/java/ch/heigvd/res/chill/domain/quillasp/SkunkTest.java +++ b/src/test/java/ch/heigvd/res/chill/domain/quillasp/SkunkTest.java @@ -1,7 +1,6 @@ package ch.heigvd.res.chill.domain.quillasp; import ch.heigvd.res.chill.domain.Bartender; -import ch.heigvd.res.chill.domain.wasadigi.Boxer; import ch.heigvd.res.chill.protocol.OrderRequest; import ch.heigvd.res.chill.protocol.OrderResponse; import org.junit.jupiter.api.Test; @@ -20,7 +19,7 @@ void thePriceAndNameForSkunkShouldBeCorrect() { } @Test - void aBartenderShouldAcceptAnOrderForSkunk() { + void aBartenderShouldAcceptAnOrderForSkunk() { // Yes, always Bartender jane = new Bartender(); String productName = "ch.heigvd.res.chill.domain.quillasp.Skunk"; OrderRequest request = new OrderRequest(3, productName);