From 0c1e1df1f45e6164a7245f856923d3d14d45dce6 Mon Sep 17 00:00:00 2001 From: Marc Michalsky Date: Thu, 14 May 2020 11:08:41 +0200 Subject: [PATCH] Initial Commit --- .gitignore | 8 +++ src/gfn/marc/Apfelsaft.java | 4 ++ src/gfn/marc/Banane.java | 4 ++ src/gfn/marc/Cocktail.java | 10 ++++ src/gfn/marc/CocktailMixer.java | 7 +++ .../EkligeZutatenKombinationException.java | 4 ++ src/gfn/marc/Main.java | 8 +++ src/gfn/marc/Milch.java | 4 ++ src/gfn/marc/StandardCocktailMixer.java | 35 ++++++++++++ src/gfn/marc/Zutat.java | 4 ++ test/gfn.marc/CocktailMixerTest.java | 53 +++++++++++++++++++ 11 files changed, 141 insertions(+) create mode 100644 .gitignore create mode 100644 src/gfn/marc/Apfelsaft.java create mode 100644 src/gfn/marc/Banane.java create mode 100644 src/gfn/marc/Cocktail.java create mode 100644 src/gfn/marc/CocktailMixer.java create mode 100644 src/gfn/marc/EkligeZutatenKombinationException.java create mode 100644 src/gfn/marc/Main.java create mode 100644 src/gfn/marc/Milch.java create mode 100644 src/gfn/marc/StandardCocktailMixer.java create mode 100644 src/gfn/marc/Zutat.java create mode 100644 test/gfn.marc/CocktailMixerTest.java diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b54fb44 --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/.idea/workspace.xml +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/src/gfn/marc/Apfelsaft.java b/src/gfn/marc/Apfelsaft.java new file mode 100644 index 0000000..4f31c4a --- /dev/null +++ b/src/gfn/marc/Apfelsaft.java @@ -0,0 +1,4 @@ +package gfn.marc; + +public class Apfelsaft implements Zutat{ +} diff --git a/src/gfn/marc/Banane.java b/src/gfn/marc/Banane.java new file mode 100644 index 0000000..bf964ce --- /dev/null +++ b/src/gfn/marc/Banane.java @@ -0,0 +1,4 @@ +package gfn.marc; + +public class Banane implements Zutat { +} diff --git a/src/gfn/marc/Cocktail.java b/src/gfn/marc/Cocktail.java new file mode 100644 index 0000000..ec65ee9 --- /dev/null +++ b/src/gfn/marc/Cocktail.java @@ -0,0 +1,10 @@ +package gfn.marc; + +import java.util.List; + +public class Cocktail { + + public int getAnzahlZutaten() { + return 0; + } +} diff --git a/src/gfn/marc/CocktailMixer.java b/src/gfn/marc/CocktailMixer.java new file mode 100644 index 0000000..3688de5 --- /dev/null +++ b/src/gfn/marc/CocktailMixer.java @@ -0,0 +1,7 @@ +package gfn.marc; + +public interface CocktailMixer { + void hinzufuegen(Zutat zutat); + Cocktail mixen() throws EkligeZutatenKombinationException; + int getAnzahlZutaten(); +} diff --git a/src/gfn/marc/EkligeZutatenKombinationException.java b/src/gfn/marc/EkligeZutatenKombinationException.java new file mode 100644 index 0000000..d7cc1f3 --- /dev/null +++ b/src/gfn/marc/EkligeZutatenKombinationException.java @@ -0,0 +1,4 @@ +package gfn.marc; + +public class EkligeZutatenKombinationException extends Exception { +} diff --git a/src/gfn/marc/Main.java b/src/gfn/marc/Main.java new file mode 100644 index 0000000..91e5c87 --- /dev/null +++ b/src/gfn/marc/Main.java @@ -0,0 +1,8 @@ +package gfn.marc; + +public class Main { + + public static void main(String[] args) { + // write your code here + } +} diff --git a/src/gfn/marc/Milch.java b/src/gfn/marc/Milch.java new file mode 100644 index 0000000..b4d413e --- /dev/null +++ b/src/gfn/marc/Milch.java @@ -0,0 +1,4 @@ +package gfn.marc; + +public class Milch implements Zutat{ +} diff --git a/src/gfn/marc/StandardCocktailMixer.java b/src/gfn/marc/StandardCocktailMixer.java new file mode 100644 index 0000000..2e47aa0 --- /dev/null +++ b/src/gfn/marc/StandardCocktailMixer.java @@ -0,0 +1,35 @@ +package gfn.marc; + +import java.util.Collection; + +public class StandardCocktailMixer implements CocktailMixer{ + + @Override + public void hinzufuegen(Zutat zutat) { + } + + @Override + public Cocktail mixen() throws EkligeZutatenKombinationException { + return null; + } + + @Override + public int getAnzahlZutaten() { + return 0; + } + + + + + // gegeben + public static boolean enthaelt(Collection collection, Class klasse) { + for (Object o : collection) { + if (o != null && o.getClass() == klasse) { + return true; + } + } + return false; + } + +} + diff --git a/src/gfn/marc/Zutat.java b/src/gfn/marc/Zutat.java new file mode 100644 index 0000000..f3ed6c4 --- /dev/null +++ b/src/gfn/marc/Zutat.java @@ -0,0 +1,4 @@ +package gfn.marc; + +public interface Zutat { +} diff --git a/test/gfn.marc/CocktailMixerTest.java b/test/gfn.marc/CocktailMixerTest.java new file mode 100644 index 0000000..ffb9775 --- /dev/null +++ b/test/gfn.marc/CocktailMixerTest.java @@ -0,0 +1,53 @@ +package gfn.marc; + +import static org.junit.Assert.*; + +import org.junit.Before; +import org.junit.Test; + +public class CocktailMixerTest { + + CocktailMixer cocktailMixer; + + @Before + public void setUp() { + this.cocktailMixer = new StandardCocktailMixer(); + } + + @Test + public void testeCocktailMixer() throws EkligeZutatenKombinationException { + Cocktail cocktail = cocktailMixer.mixen(); + assertNotNull(cocktail); + } + + @Test + public void testeAnzahlZutatenInMixer() { + Banane banene = new Banane(); + Milch milch = new Milch(); + cocktailMixer.hinzufuegen(banene); + cocktailMixer.hinzufuegen(milch); + assertEquals(2, cocktailMixer.getAnzahlZutaten()); + } + + @Test + public void testeAnzahlZutatenInCocktail() throws EkligeZutatenKombinationException { + Banane banene = new Banane(); + Milch milch = new Milch(); + cocktailMixer.hinzufuegen(banene); + cocktailMixer.hinzufuegen(milch); + Cocktail cocktail = cocktailMixer.mixen(); + assertEquals(0, cocktailMixer.getAnzahlZutaten()); + assertEquals(2, cocktail.getAnzahlZutaten()); + } + + @Test (expected = EkligeZutatenKombinationException.class) + public void testeEkligeZutatenKombination() throws EkligeZutatenKombinationException { + Banane banane = new Banane(); + Apfelsaft apfelsaft = new Apfelsaft(); + cocktailMixer.hinzufuegen(banane); + cocktailMixer.hinzufuegen(apfelsaft); + Cocktail cocktail = cocktailMixer.mixen(); + } + +} +