diff --git a/src/gfn/marc/Cocktail.java b/src/gfn/marc/Cocktail.java index ec65ee9..336a804 100644 --- a/src/gfn/marc/Cocktail.java +++ b/src/gfn/marc/Cocktail.java @@ -3,8 +3,13 @@ package gfn.marc; import java.util.List; public class Cocktail { + private List zutaten; + + public Cocktail(List zutaten) { + this.zutaten = zutaten; + } public int getAnzahlZutaten() { - return 0; + return this.zutaten.size(); } } diff --git a/src/gfn/marc/StandardCocktailMixer.java b/src/gfn/marc/StandardCocktailMixer.java index 2e47aa0..1ec8a33 100644 --- a/src/gfn/marc/StandardCocktailMixer.java +++ b/src/gfn/marc/StandardCocktailMixer.java @@ -1,27 +1,33 @@ package gfn.marc; +import java.util.ArrayList; import java.util.Collection; +import java.util.List; public class StandardCocktailMixer implements CocktailMixer{ + List zutaten = new ArrayList<>(); + @Override public void hinzufuegen(Zutat zutat) { + this.zutaten.add(zutat); } @Override public Cocktail mixen() throws EkligeZutatenKombinationException { - return null; + if (enthaelt(this.zutaten, Banane.class) && enthaelt(this.zutaten, Apfelsaft.class)) { + throw new EkligeZutatenKombinationException(); + } + List zutaten = new ArrayList<>(this.zutaten); + this.zutaten.clear(); + return new Cocktail(zutaten); } @Override public int getAnzahlZutaten() { - return 0; + return this.zutaten.size(); } - - - - // gegeben public static boolean enthaelt(Collection collection, Class klasse) { for (Object o : collection) { if (o != null && o.getClass() == klasse) {