From 0a8bd72c1bb38536e0920d76c9cccffa65e96026 Mon Sep 17 00:00:00 2001 From: Amaury Vanoorenberghe <amaury.vanoorenberghe.etu@univ-lille.fr> Date: Mon, 15 Nov 2021 14:49:00 +0100 Subject: [PATCH] Initial commit --- .project | 2 +- pom.xml | 2 +- .../iutinfo/m3105/patisserie/Assortment.java | 35 ------------- .../iutinfo/m3105/patisserie/Patisserie.java | 28 ----------- .../m3105/patisserie/dessert/Dessert.java | 21 -------- .../m3105/patisserie/dessert/Desserts.java | 50 ------------------- .../patisserie/dessert/EmptyDessert.java | 18 ------- .../m3105/patisserie/dessert/Topping.java | 25 ---------- .../m3105/patisserie/dessert/bases/Crepe.java | 23 --------- .../patisserie/dessert/bases/Waffle.java | 23 --------- .../patisserie/dessert/toppings/Banana.java | 28 ----------- .../patisserie/dessert/toppings/Caramel.java | 28 ----------- .../dessert/toppings/Chocolate.java | 28 ----------- .../dessert/toppings/Strawberries.java | 28 ----------- .../dessert/toppings/WhippedCream.java | 28 ----------- .../patisserie/printers/DessertPrinter.java | 7 --- .../printers/DessertPrinterMultiLine.java | 21 -------- .../printers/DessertPrinterSingleLine.java | 21 -------- .../iutinfo/m3105/patisserie/DessertTest.java | 47 ----------------- 19 files changed, 2 insertions(+), 461 deletions(-) delete mode 100644 src/main/java/fr/univlille/iutinfo/m3105/patisserie/Assortment.java delete mode 100644 src/main/java/fr/univlille/iutinfo/m3105/patisserie/Patisserie.java delete mode 100644 src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/Dessert.java delete mode 100644 src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/Desserts.java delete mode 100644 src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/EmptyDessert.java delete mode 100644 src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/Topping.java delete mode 100644 src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/bases/Crepe.java delete mode 100644 src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/bases/Waffle.java delete mode 100644 src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/toppings/Banana.java delete mode 100644 src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/toppings/Caramel.java delete mode 100644 src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/toppings/Chocolate.java delete mode 100644 src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/toppings/Strawberries.java delete mode 100644 src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/toppings/WhippedCream.java delete mode 100644 src/main/java/fr/univlille/iutinfo/m3105/patisserie/printers/DessertPrinter.java delete mode 100644 src/main/java/fr/univlille/iutinfo/m3105/patisserie/printers/DessertPrinterMultiLine.java delete mode 100644 src/main/java/fr/univlille/iutinfo/m3105/patisserie/printers/DessertPrinterSingleLine.java delete mode 100644 src/test/java/fr/univlille/iutinfo/m3105/patisserie/DessertTest.java diff --git a/.project b/.project index ad9f889..d7a6d14 100644 --- a/.project +++ b/.project @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <projectDescription> - <name>TP6</name> + <name>TP8</name> <comment></comment> <projects> </projects> diff --git a/pom.xml b/pom.xml index 0970fc5..d7dbf87 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ <modelVersion>4.0.0</modelVersion> <groupId>fr.univlille.iutinfo.m3501</groupId> - <artifactId>TP6</artifactId> + <artifactId>TP8</artifactId> <version>1.0</version> <build> diff --git a/src/main/java/fr/univlille/iutinfo/m3105/patisserie/Assortment.java b/src/main/java/fr/univlille/iutinfo/m3105/patisserie/Assortment.java deleted file mode 100644 index 5c96b83..0000000 --- a/src/main/java/fr/univlille/iutinfo/m3105/patisserie/Assortment.java +++ /dev/null @@ -1,35 +0,0 @@ -package fr.univlille.iutinfo.m3105.patisserie; - -import java.util.*; - -import fr.univlille.iutinfo.m3105.patisserie.dessert.Dessert; -import fr.univlille.iutinfo.m3105.patisserie.dessert.EmptyDessert; - -public class Assortment implements Iterable<Dessert> { - private final List<Dessert> DESSERTS; - - public Assortment(Dessert... desserts) { - DESSERTS = new ArrayList<Dessert>(); - DESSERTS.addAll(Arrays.asList(desserts)); - } - - public boolean add(Dessert dessert) { - return DESSERTS.add(dessert); - } - - public boolean add(String commande) { - final Dessert dessert = Patisserie.creerDessert(commande); - - if (dessert == null || dessert.getClass() == EmptyDessert.class) { - return false; - } - - return add(dessert); - } - - @Override - public Iterator<Dessert> iterator() { - return DESSERTS.iterator(); - } - -} diff --git a/src/main/java/fr/univlille/iutinfo/m3105/patisserie/Patisserie.java b/src/main/java/fr/univlille/iutinfo/m3105/patisserie/Patisserie.java deleted file mode 100644 index 9fe2157..0000000 --- a/src/main/java/fr/univlille/iutinfo/m3105/patisserie/Patisserie.java +++ /dev/null @@ -1,28 +0,0 @@ -package fr.univlille.iutinfo.m3105.patisserie; - -import fr.univlille.iutinfo.m3105.patisserie.dessert.Dessert; -import fr.univlille.iutinfo.m3105.patisserie.dessert.Desserts; -import fr.univlille.iutinfo.m3105.patisserie.dessert.EmptyDessert; - -public class Patisserie { - public static final Dessert creerDessert(String commande) { - Dessert dessert = new EmptyDessert(); - - //try { - String[] commands = commande.split("\s"); - - for (String command : commands) { - Desserts dessertMaker = Desserts.fromName(command); - dessert = dessertMaker.make(dessert); - } - //} catch (Exception e) { - dessert = new EmptyDessert(); - //} - - return dessert; - } - - public static void main(String[] args) { - System.out.println(creerDessert("crepe potassium")); - } -} diff --git a/src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/Dessert.java b/src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/Dessert.java deleted file mode 100644 index c484bf3..0000000 --- a/src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/Dessert.java +++ /dev/null @@ -1,21 +0,0 @@ -package fr.univlille.iutinfo.m3105.patisserie.dessert; - -import java.util.Locale; - -/** - * Dessert - */ -public abstract class Dessert { - public abstract double price(); - public abstract String name(); - - public abstract String[] identifier(); - - @Override - public String toString() { - final String fullPrice = String.format(Locale.ROOT, "%.2f€", price()); - final String fullName = name(); - - return fullName + " : " + fullPrice; - } -} \ No newline at end of file diff --git a/src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/Desserts.java b/src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/Desserts.java deleted file mode 100644 index 3a23c38..0000000 --- a/src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/Desserts.java +++ /dev/null @@ -1,50 +0,0 @@ -package fr.univlille.iutinfo.m3105.patisserie.dessert; - -import java.util.Arrays; -import java.util.function.Function; -import java.util.function.Supplier; - -import fr.univlille.iutinfo.m3105.patisserie.dessert.bases.Crepe; -import fr.univlille.iutinfo.m3105.patisserie.dessert.bases.Waffle; -import fr.univlille.iutinfo.m3105.patisserie.dessert.toppings.*; - -public enum Desserts { - NONE (EmptyDessert::new), - WAFFLE (Waffle::new), - CREPE (Crepe::new), - CHOCOLATE (Chocolate::new), - STRAWBERRIES (Strawberries::new), - BANANA (Banana::new), - CARAMEL (Caramel::new), - WHIPPED_CREAM (WhippedCream::new); - - private static final Dessert NOTHING = new EmptyDessert(); - private final Function<Dessert, Dessert> CONSTRUCTOR; - - private Desserts(Function<Dessert, Dessert> ctor) { - CONSTRUCTOR = ctor; - } - - private Desserts(Supplier<Dessert> ctor) { - CONSTRUCTOR = (d) -> ctor.get(); - } - - public static final Desserts fromName(String name) { - return Arrays.stream(values()) - .filter(item -> Arrays.stream(item.identifier()) - .anyMatch(name.toLowerCase()::equals)) - .findFirst().orElse(NONE); - } - - public Dessert make(Dessert base) { - try { - return CONSTRUCTOR.apply(base); - } catch (Exception e) { - return new EmptyDessert(); - } - } - - public String[] identifier() { - return make(NOTHING).identifier(); - } -} \ No newline at end of file diff --git a/src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/EmptyDessert.java b/src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/EmptyDessert.java deleted file mode 100644 index f71834c..0000000 --- a/src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/EmptyDessert.java +++ /dev/null @@ -1,18 +0,0 @@ -package fr.univlille.iutinfo.m3105.patisserie.dessert; - -public class EmptyDessert extends Dessert { - @Override - public double price() { - return Double.NaN; - } - - @Override - public String name() { - return "Le dessert ne doit pas commencer par une garniture"; - } - - @Override - public String[] identifier() { - return new String[0]; - } -} diff --git a/src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/Topping.java b/src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/Topping.java deleted file mode 100644 index 9ac8d02..0000000 --- a/src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/Topping.java +++ /dev/null @@ -1,25 +0,0 @@ -package fr.univlille.iutinfo.m3105.patisserie.dessert; - -/** - * Garniture - */ -public abstract class Topping extends Dessert { - private final Dessert DESSERT; - - public Topping(Dessert base) { - DESSERT = base; - } - - public abstract double extraPrice(); - public abstract String nameFormat(); - - @Override - public double price() { - return extraPrice() + DESSERT.price(); - } - - @Override - public String name() { - return String.format(nameFormat(), DESSERT.name()); - } -} diff --git a/src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/bases/Crepe.java b/src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/bases/Crepe.java deleted file mode 100644 index 83c1b87..0000000 --- a/src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/bases/Crepe.java +++ /dev/null @@ -1,23 +0,0 @@ -package fr.univlille.iutinfo.m3105.patisserie.dessert.bases; - -import fr.univlille.iutinfo.m3105.patisserie.dessert.Dessert; - -/** - * Crêpe - */ -public class Crepe extends Dessert { - @Override - public double price() { - return 0.80; - } - - @Override - public String name() { - return "Crêpe"; - } - - @Override - public String[] identifier() { - return new String[] {"crepe"}; - } -} \ No newline at end of file diff --git a/src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/bases/Waffle.java b/src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/bases/Waffle.java deleted file mode 100644 index 7683d33..0000000 --- a/src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/bases/Waffle.java +++ /dev/null @@ -1,23 +0,0 @@ -package fr.univlille.iutinfo.m3105.patisserie.dessert.bases; - -import fr.univlille.iutinfo.m3105.patisserie.dessert.Dessert; - -/** - * Gauffre - */ -public class Waffle extends Dessert { - @Override - public double price() { - return 0.80; - } - - @Override - public String name() { - return "Gauffre"; - } - - @Override - public String[] identifier() { - return new String[] {"gauffre", "waffle"}; - } -} \ No newline at end of file diff --git a/src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/toppings/Banana.java b/src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/toppings/Banana.java deleted file mode 100644 index 1a9c579..0000000 --- a/src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/toppings/Banana.java +++ /dev/null @@ -1,28 +0,0 @@ -package fr.univlille.iutinfo.m3105.patisserie.dessert.toppings; - -import fr.univlille.iutinfo.m3105.patisserie.dessert.Dessert; -import fr.univlille.iutinfo.m3105.patisserie.dessert.Topping; - -/** - * P O T A S S I U M - */ -public class Banana extends Topping { - public Banana(Dessert base) { - super(base); - } - - @Override - public double extraPrice() { - return 1.1; - } - - @Override - public String nameFormat() { - return "%s avec des morceaux de banane"; - } - - @Override - public String[] identifier() { - return new String[] {"potassium", "babane", "banana"}; - } -} diff --git a/src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/toppings/Caramel.java b/src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/toppings/Caramel.java deleted file mode 100644 index c848f39..0000000 --- a/src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/toppings/Caramel.java +++ /dev/null @@ -1,28 +0,0 @@ -package fr.univlille.iutinfo.m3105.patisserie.dessert.toppings; - -import fr.univlille.iutinfo.m3105.patisserie.dessert.Dessert; -import fr.univlille.iutinfo.m3105.patisserie.dessert.Topping; - -/** - * Caramel - */ -public class Caramel extends Topping { - public Caramel(Dessert base) { - super(base); - } - - @Override - public double extraPrice() { - return 0.6; - } - - @Override - public String nameFormat() { - return "%s au caramel"; - } - - @Override - public String[] identifier() { - return new String[] {"caramel"}; - } -} diff --git a/src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/toppings/Chocolate.java b/src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/toppings/Chocolate.java deleted file mode 100644 index 2c15d81..0000000 --- a/src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/toppings/Chocolate.java +++ /dev/null @@ -1,28 +0,0 @@ -package fr.univlille.iutinfo.m3105.patisserie.dessert.toppings; - -import fr.univlille.iutinfo.m3105.patisserie.dessert.Dessert; -import fr.univlille.iutinfo.m3105.patisserie.dessert.Topping; - -/** - * Chocolat - */ -public class Chocolate extends Topping { - public Chocolate(Dessert base) { - super(base); - } - - @Override - public double extraPrice() { - return 1.50; - } - - @Override - public String nameFormat() { - return "%s au chocolat"; - } - - @Override - public String[] identifier() { - return new String[] {"chocolat", "chocolate", "choco"}; - } -} \ No newline at end of file diff --git a/src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/toppings/Strawberries.java b/src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/toppings/Strawberries.java deleted file mode 100644 index 1a64730..0000000 --- a/src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/toppings/Strawberries.java +++ /dev/null @@ -1,28 +0,0 @@ -package fr.univlille.iutinfo.m3105.patisserie.dessert.toppings; - -import fr.univlille.iutinfo.m3105.patisserie.dessert.Dessert; -import fr.univlille.iutinfo.m3105.patisserie.dessert.Topping; - -/** - * Fraises - */ -public class Strawberries extends Topping { - public Strawberries(Dessert base) { - super(base); - } - - @Override - public double extraPrice() { - return 1.25; - } - - @Override - public String nameFormat() { - return "%s aux fraises"; - } - - @Override - public String[] identifier() { - return new String[] {"fraises", "strawberries"}; - } -} diff --git a/src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/toppings/WhippedCream.java b/src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/toppings/WhippedCream.java deleted file mode 100644 index 57b471c..0000000 --- a/src/main/java/fr/univlille/iutinfo/m3105/patisserie/dessert/toppings/WhippedCream.java +++ /dev/null @@ -1,28 +0,0 @@ -package fr.univlille.iutinfo.m3105.patisserie.dessert.toppings; - -import fr.univlille.iutinfo.m3105.patisserie.dessert.Dessert; -import fr.univlille.iutinfo.m3105.patisserie.dessert.Topping; - -/** - * Chantilly - */ -public class WhippedCream extends Topping { - public WhippedCream(Dessert base) { - super(base); - } - - @Override - public double extraPrice() { - return 0.95; - } - - @Override - public String nameFormat() { - return "%s avec de la chantilly"; - } - - @Override - public String[] identifier() { - return new String[] {"chantilly", "whipped-cream"}; - } -} diff --git a/src/main/java/fr/univlille/iutinfo/m3105/patisserie/printers/DessertPrinter.java b/src/main/java/fr/univlille/iutinfo/m3105/patisserie/printers/DessertPrinter.java deleted file mode 100644 index 5d56f45..0000000 --- a/src/main/java/fr/univlille/iutinfo/m3105/patisserie/printers/DessertPrinter.java +++ /dev/null @@ -1,7 +0,0 @@ -package fr.univlille.iutinfo.m3105.patisserie.printers; - -import fr.univlille.iutinfo.m3105.patisserie.dessert.Dessert; - -public abstract class DessertPrinter { - public abstract String print(Dessert dessert); -} diff --git a/src/main/java/fr/univlille/iutinfo/m3105/patisserie/printers/DessertPrinterMultiLine.java b/src/main/java/fr/univlille/iutinfo/m3105/patisserie/printers/DessertPrinterMultiLine.java deleted file mode 100644 index d00dd99..0000000 --- a/src/main/java/fr/univlille/iutinfo/m3105/patisserie/printers/DessertPrinterMultiLine.java +++ /dev/null @@ -1,21 +0,0 @@ -package fr.univlille.iutinfo.m3105.patisserie.printers; - -import java.util.Locale; - -import fr.univlille.iutinfo.m3105.patisserie.dessert.Dessert; - -public class DessertPrinterMultiLine extends DessertPrinter { - @Override - public String print(Dessert dessert) { - final String fullName = dessert.name(); - final String fullPrice = String.format(Locale.ROOT, "%.2f€", dessert.price()); - - StringBuilder sb = new StringBuilder(); - - sb.append(fullName); - sb.append("\n -> "); - sb.append(fullPrice); - - return sb.toString(); - } -} diff --git a/src/main/java/fr/univlille/iutinfo/m3105/patisserie/printers/DessertPrinterSingleLine.java b/src/main/java/fr/univlille/iutinfo/m3105/patisserie/printers/DessertPrinterSingleLine.java deleted file mode 100644 index fa4e784..0000000 --- a/src/main/java/fr/univlille/iutinfo/m3105/patisserie/printers/DessertPrinterSingleLine.java +++ /dev/null @@ -1,21 +0,0 @@ -package fr.univlille.iutinfo.m3105.patisserie.printers; - -import java.util.Locale; - -import fr.univlille.iutinfo.m3105.patisserie.dessert.Dessert; - -public class DessertPrinterSingleLine extends DessertPrinter { - @Override - public String print(Dessert dessert) { - final String fullName = dessert.name(); - final String fullPrice = String.format(Locale.ROOT, "%.2f€", dessert.price()); - - StringBuilder sb = new StringBuilder(); - - sb.append(fullName); - sb.append("="); - sb.append(fullPrice); - - return sb.toString(); - } -} diff --git a/src/test/java/fr/univlille/iutinfo/m3105/patisserie/DessertTest.java b/src/test/java/fr/univlille/iutinfo/m3105/patisserie/DessertTest.java deleted file mode 100644 index 69b0e4b..0000000 --- a/src/test/java/fr/univlille/iutinfo/m3105/patisserie/DessertTest.java +++ /dev/null @@ -1,47 +0,0 @@ -package fr.univlille.iutinfo.m3105.patisserie; - -import static org.junit.jupiter.api.Assertions.*; - -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; - -import fr.univlille.iutinfo.m3105.patisserie.dessert.Dessert; -import fr.univlille.iutinfo.m3105.patisserie.dessert.bases.Crepe; -import fr.univlille.iutinfo.m3105.patisserie.dessert.bases.Waffle; -import fr.univlille.iutinfo.m3105.patisserie.dessert.toppings.Chocolate; -import fr.univlille.iutinfo.m3105.patisserie.dessert.toppings.Strawberries; -import fr.univlille.iutinfo.m3105.patisserie.dessert.toppings.WhippedCream; - -/** - * Tuto cuisine - */ -public class DessertTest { - private Dessert - crepe, - waffle, - creamCrepe, - chocoWaffle, - doubleChocoCrepe, - strawberryChocoWaffle; - - @BeforeEach - protected void setup() { - crepe = new Crepe(); - waffle = new Waffle(); - chocoWaffle = new Chocolate(waffle); - creamCrepe = new WhippedCream(crepe); - doubleChocoCrepe = new Chocolate(new Chocolate(crepe)); - strawberryChocoWaffle = new Strawberries(chocoWaffle); - } - - @Test - protected void get_dessert_tostring() { - assertEquals("Crêpe : 0.80€", crepe.toString()); - assertEquals("Gauffre : 0.80€", waffle.toString()); - - assertEquals("Gauffre au chocolat : 2.30€", chocoWaffle.toString()); - assertEquals("Crêpe avec de la chantilly : 1.75€", creamCrepe.toString()); - assertEquals("Crêpe au chocolat au chocolat : 3.80€", doubleChocoCrepe.toString()); - assertEquals("Gauffre au chocolat aux fraises : 3.55€", strawberryChocoWaffle.toString()); - } -} \ No newline at end of file -- GitLab