From 851c56d546bdab2bb26f3d2c7b058c1696ad6568 Mon Sep 17 00:00:00 2001
From: Peter Kurfer <peter.kurfer@fh-rosenheim.de>
Date: Thu, 2 Nov 2017 12:35:56 +0100
Subject: [PATCH] Copied solution from assignment 04 as starting point

---
 .gitignore                                    |   9 +
 LICENSE                                       |   2 +-
 README.md                                     |   6 +-
 build.gradle                                  |  36 ++++
 gradle.properties                             |   4 +
 gradle/wrapper/gradle-wrapper.jar             | Bin 0 -> 54712 bytes
 gradle/wrapper/gradle-wrapper.properties      |   5 +
 gradlew                                       | 172 ++++++++++++++++++
 gradlew.bat                                   |  84 +++++++++
 settings.gradle                               |  18 ++
 .../prg3/a05/collections/SimpleFilter.java    |  18 ++
 .../inf/prg3/a05/collections/SimpleList.java  |  90 +++++++++
 .../prg3/a05/collections/SimpleListImpl.java  | 124 +++++++++++++
 src/main/resources/log4j2.xml                 |  13 ++
 .../tests/collections/SimpleListTests.java    | 113 ++++++++++++
 .../inf/prg3/a05/tests/models/Person.java     |  71 ++++++++
 16 files changed, 763 insertions(+), 2 deletions(-)
 create mode 100644 .gitignore
 create mode 100644 build.gradle
 create mode 100644 gradle.properties
 create mode 100644 gradle/wrapper/gradle-wrapper.jar
 create mode 100644 gradle/wrapper/gradle-wrapper.properties
 create mode 100755 gradlew
 create mode 100644 gradlew.bat
 create mode 100644 settings.gradle
 create mode 100644 src/main/java/de/fhro/inf/prg3/a05/collections/SimpleFilter.java
 create mode 100644 src/main/java/de/fhro/inf/prg3/a05/collections/SimpleList.java
 create mode 100644 src/main/java/de/fhro/inf/prg3/a05/collections/SimpleListImpl.java
 create mode 100644 src/main/resources/log4j2.xml
 create mode 100644 src/test/java/de/fhro/inf/prg3/a05/tests/collections/SimpleListTests.java
 create mode 100644 src/test/java/de/fhro/inf/prg3/a05/tests/models/Person.java

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..65f75cf
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,9 @@
+.DS_Store
+.gradle
+/build/
+/out/
+gradle-app.setting
+!gradle-wrapper.jar
+.gradletasknamecache
+.idea/
+*.iml
diff --git a/LICENSE b/LICENSE
index e7dccd4..ed3a58d 100644
--- a/LICENSE
+++ b/LICENSE
@@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
+SOFTWARE.
\ No newline at end of file
diff --git a/README.md b/README.md
index 98bc09b..0274a1a 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,5 @@
-# 05-generic-bounds
\ No newline at end of file
+# 05-generic-bounds
+
+* PECS `map`
+* `Plant`, `Flower`, `Shrub`, `PlantBed`
+* `splitByColor`
diff --git a/build.gradle b/build.gradle
new file mode 100644
index 0000000..18dc052
--- /dev/null
+++ b/build.gradle
@@ -0,0 +1,36 @@
+group 'de.fhro.inf.prg3'
+version '1.0-SNAPSHOT'
+
+apply plugin: 'java'
+apply plugin: 'org.junit.platform.gradle.plugin'
+
+sourceCompatibility = 1.8
+
+buildscript {
+    repositories {
+        mavenCentral()
+    }
+    dependencies {
+        classpath 'org.junit.platform:junit-platform-gradle-plugin:1.0.0'
+    }
+}
+
+repositories {
+    mavenCentral()
+}
+
+dependencies {
+    testCompile("org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}")
+    testRuntime("org.junit.jupiter:junit-jupiter-engine:${junitJupiterVersion}")
+    testRuntime("org.junit.platform:junit-platform-launcher:${junitPlatformVersion}")
+    compile("org.apache.logging.log4j:log4j-core:${log4jVersion}")
+    runtime("org.apache.logging.log4j:log4j-jul:${log4jVersion}")
+    compile "org.apache.commons:commons-lang3:$commons_lang3_version"
+}
+
+junitPlatform {
+    logManager 'org.apache.logging.log4j.jul.LogManager'
+    reportsDir file('build/test-results/junit-platform')
+}
+
+
diff --git a/gradle.properties b/gradle.properties
new file mode 100644
index 0000000..44ff5c9
--- /dev/null
+++ b/gradle.properties
@@ -0,0 +1,4 @@
+junitPlatformVersion = 1.0.0
+junitJupiterVersion = 5.0.0
+log4jVersion = 2.9.0
+commons_lang3_version=3.6
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 0000000000000000000000000000000000000000..ed88a042a287c140a32e1639edfc91b2a233da8c
GIT binary patch
literal 54712
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

literal 0
HcmV?d00001

diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 0000000..74bb778
--- /dev/null
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,5 @@
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-4.2.1-bin.zip
diff --git a/gradlew b/gradlew
new file mode 100755
index 0000000..cccdd3d
--- /dev/null
+++ b/gradlew
@@ -0,0 +1,172 @@
+#!/usr/bin/env sh
+
+##############################################################################
+##
+##  Gradle start up script for UN*X
+##
+##############################################################################
+
+# Attempt to set APP_HOME
+# Resolve links: $0 may be a link
+PRG="$0"
+# Need this for relative symlinks.
+while [ -h "$PRG" ] ; do
+    ls=`ls -ld "$PRG"`
+    link=`expr "$ls" : '.*-> \(.*\)$'`
+    if expr "$link" : '/.*' > /dev/null; then
+        PRG="$link"
+    else
+        PRG=`dirname "$PRG"`"/$link"
+    fi
+done
+SAVED="`pwd`"
+cd "`dirname \"$PRG\"`/" >/dev/null
+APP_HOME="`pwd -P`"
+cd "$SAVED" >/dev/null
+
+APP_NAME="Gradle"
+APP_BASE_NAME=`basename "$0"`
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS=""
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD="maximum"
+
+warn () {
+    echo "$*"
+}
+
+die () {
+    echo
+    echo "$*"
+    echo
+    exit 1
+}
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+nonstop=false
+case "`uname`" in
+  CYGWIN* )
+    cygwin=true
+    ;;
+  Darwin* )
+    darwin=true
+    ;;
+  MINGW* )
+    msys=true
+    ;;
+  NONSTOP* )
+    nonstop=true
+    ;;
+esac
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+        # IBM's JDK on AIX uses strange locations for the executables
+        JAVACMD="$JAVA_HOME/jre/sh/java"
+    else
+        JAVACMD="$JAVA_HOME/bin/java"
+    fi
+    if [ ! -x "$JAVACMD" ] ; then
+        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+    fi
+else
+    JAVACMD="java"
+    which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+fi
+
+# Increase the maximum file descriptors if we can.
+if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
+    MAX_FD_LIMIT=`ulimit -H -n`
+    if [ $? -eq 0 ] ; then
+        if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
+            MAX_FD="$MAX_FD_LIMIT"
+        fi
+        ulimit -n $MAX_FD
+        if [ $? -ne 0 ] ; then
+            warn "Could not set maximum file descriptor limit: $MAX_FD"
+        fi
+    else
+        warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
+    fi
+fi
+
+# For Darwin, add options to specify how the application appears in the dock
+if $darwin; then
+    GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
+fi
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin ; then
+    APP_HOME=`cygpath --path --mixed "$APP_HOME"`
+    CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
+    JAVACMD=`cygpath --unix "$JAVACMD"`
+
+    # We build the pattern for arguments to be converted via cygpath
+    ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
+    SEP=""
+    for dir in $ROOTDIRSRAW ; do
+        ROOTDIRS="$ROOTDIRS$SEP$dir"
+        SEP="|"
+    done
+    OURCYGPATTERN="(^($ROOTDIRS))"
+    # Add a user-defined pattern to the cygpath arguments
+    if [ "$GRADLE_CYGPATTERN" != "" ] ; then
+        OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
+    fi
+    # Now convert the arguments - kludge to limit ourselves to /bin/sh
+    i=0
+    for arg in "$@" ; do
+        CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
+        CHECK2=`echo "$arg"|egrep -c "^-"`                                 ### Determine if an option
+
+        if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added a condition
+            eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
+        else
+            eval `echo args$i`="\"$arg\""
+        fi
+        i=$((i+1))
+    done
+    case $i in
+        (0) set -- ;;
+        (1) set -- "$args0" ;;
+        (2) set -- "$args0" "$args1" ;;
+        (3) set -- "$args0" "$args1" "$args2" ;;
+        (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
+        (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
+        (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
+        (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
+        (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
+        (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
+    esac
+fi
+
+# Escape application args
+save () {
+    for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
+    echo " "
+}
+APP_ARGS=$(save "$@")
+
+# Collect all arguments for the java command, following the shell quoting and substitution rules
+eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
+
+# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
+if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
+  cd "$(dirname "$0")"
+fi
+
+exec "$JAVACMD" "$@"
diff --git a/gradlew.bat b/gradlew.bat
new file mode 100644
index 0000000..f955316
--- /dev/null
+++ b/gradlew.bat
@@ -0,0 +1,84 @@
+@if "%DEBUG%" == "" @echo off
+@rem ##########################################################################
+@rem
+@rem  Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+set DIRNAME=%~dp0
+if "%DIRNAME%" == "" set DIRNAME=.
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS=
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if "%ERRORLEVEL%" == "0" goto init
+
+echo.
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto init
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:init
+@rem Get command-line arguments, handling Windows variants
+
+if not "%OS%" == "Windows_NT" goto win9xME_args
+
+:win9xME_args
+@rem Slurp the command line arguments.
+set CMD_LINE_ARGS=
+set _SKIP=2
+
+:win9xME_args_slurp
+if "x%~1" == "x" goto execute
+
+set CMD_LINE_ARGS=%*
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
+
+:end
+@rem End local scope for the variables with windows NT shell
+if "%ERRORLEVEL%"=="0" goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+if  not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
+exit /b 1
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
diff --git a/settings.gradle b/settings.gradle
new file mode 100644
index 0000000..8403dc3
--- /dev/null
+++ b/settings.gradle
@@ -0,0 +1,18 @@
+/*
+ * This settings file was generated by the Gradle 'init' task.
+ *
+ * The settings file is used to specify which projects to include in your build.
+ * In a single project build this file can be empty or even removed.
+ *
+ * Detailed information about configuring a multi-project build in Gradle can be found
+ * in the user guide at https://docs.gradle.org/4.2.1/userguide/multi_project_builds.html
+ */
+
+/*
+// To declare projects as part of a multi-project build use the 'include' method
+include 'shared'
+include 'api'
+include 'services:webservice'
+*/
+
+rootProject.name = '05-generic-bounds'
diff --git a/src/main/java/de/fhro/inf/prg3/a05/collections/SimpleFilter.java b/src/main/java/de/fhro/inf/prg3/a05/collections/SimpleFilter.java
new file mode 100644
index 0000000..d7e0d4e
--- /dev/null
+++ b/src/main/java/de/fhro/inf/prg3/a05/collections/SimpleFilter.java
@@ -0,0 +1,18 @@
+package de.fhro.inf.prg3.a05.collections;
+
+/**
+ * @author Peter Kurfer
+ * Created on 10/6/17.
+ */
+@FunctionalInterface
+public interface SimpleFilter<T> {
+
+	/**
+	 * Determines if a item matches a condition
+	 *
+	 * @param item Object to evaluate
+	 * @return true if the referenced object should be included.
+	 */
+	boolean include(T item);
+}
+
diff --git a/src/main/java/de/fhro/inf/prg3/a05/collections/SimpleList.java b/src/main/java/de/fhro/inf/prg3/a05/collections/SimpleList.java
new file mode 100644
index 0000000..5c4d93e
--- /dev/null
+++ b/src/main/java/de/fhro/inf/prg3/a05/collections/SimpleList.java
@@ -0,0 +1,90 @@
+package de.fhro.inf.prg3.a05.collections;
+
+import java.util.function.Function;
+
+/**
+ * A simple list containing just a few basic methods
+ * Inherits the Iterable interface to ease the handling (e.g. extended for-loop)
+ *
+ * @param <T> type of the items which will be saved in the list
+ */
+public interface SimpleList<T> extends Iterable<T> {
+
+	/**
+	 * Add a given object to the back of the list.
+	 *
+	 * @param o item to add
+	 */
+	void add(T o);
+
+	/**
+	 * @param clazz Class instance to solve the instantiation problem
+	 */
+	@SuppressWarnings("unchecked")
+	default void addDefault(Class<T> clazz) {
+		try {
+			/* better solution would be to use Google Guava to get a type token
+			and use this token to create a new instance
+			because we didn't include a reference to Guava this is the easiest way to create new instance of T */
+			this.add(clazz.newInstance());
+		} catch (InstantiationException | IllegalAccessException e) {
+			e.printStackTrace();
+		}
+	}
+
+	/**
+	 * @return current size of the list
+	 */
+	int size();
+
+	/**
+	 * Generate a new list using the given filter instance.
+	 *
+	 * @param filter SimpleFilter instance to determine which elements should be included
+	 * @return a new, filtered list
+	 */
+	@SuppressWarnings("unchecked")
+	default SimpleList<T> filter(SimpleFilter<T> filter) {
+		SimpleList<T> result;
+		try {
+			result = (SimpleList<T>) getClass().newInstance();
+		} catch (InstantiationException | IllegalAccessException e) {
+			result = new SimpleListImpl<>();
+		}
+
+		for (T o : this) {
+			if (filter.include(o)) {
+				result.add(o);
+			}
+		}
+		return result;
+	}
+
+	/**
+	 * @param transform
+	 * @param <R>
+	 * @return
+	 */
+	@SuppressWarnings("unchecked")
+	default <R> SimpleList<R> map(Function<T, R> transform) {
+		SimpleList<R> result;
+		try {
+			result = (SimpleList<R>) getClass().newInstance();
+		} catch (InstantiationException | IllegalAccessException e) {
+			result = new SimpleListImpl<>();
+		}
+		for (T t : this) {
+			result.add(transform.apply(t));
+		}
+		return result;
+	}
+
+	/* Java 9
+	private <V> SimpleList<V> createNew(Class<SimpleList<V>> clazz){
+		try {
+			return clazz.getConstructor().newInstance()
+		} catch (Exception e) {
+			return new SimpleListImpl<>();
+		}
+	}*/
+}
diff --git a/src/main/java/de/fhro/inf/prg3/a05/collections/SimpleListImpl.java b/src/main/java/de/fhro/inf/prg3/a05/collections/SimpleListImpl.java
new file mode 100644
index 0000000..ce5e786
--- /dev/null
+++ b/src/main/java/de/fhro/inf/prg3/a05/collections/SimpleListImpl.java
@@ -0,0 +1,124 @@
+package de.fhro.inf.prg3.a05.collections;
+
+import java.util.Iterator;
+
+/**
+ * Default implementation of the SimpleList interface
+ *
+ * @author Peter Kurfer
+ * Created on 10/6/17.
+ */
+public class SimpleListImpl<T> implements SimpleList<T> {
+
+	private ListElement<T> head;
+	private int size;
+
+	/**
+	 * Default constructor
+	 */
+	public SimpleListImpl() {
+		head = null;
+	}
+
+	/**
+	 * Add an object to the end of the list
+	 *
+	 * @param item item to add
+	 */
+	@Override
+	public void add(T item) {
+		/* special case empty list */
+		if (head == null) {
+			head = new ListElement<>(item);
+		} else {
+			/* any other list length */
+			ListElement<T> current = head;
+			while (current.getNext() != null) {
+				current = current.getNext();
+			}
+			current.setNext(new ListElement<>(item));
+		}
+		size++;
+	}
+
+	/**
+	 * @return size of the list
+	 */
+	@Override
+	public int size() {
+		return size;
+	}
+
+	/**
+	 * Create a new iterator
+	 */
+	@Override
+	public Iterator<T> iterator() {
+		return new SimpleIterator();
+	}
+
+	/**
+	 * Helper class which implements the Iterator<TE> interface
+	 * Has to be non static because otherwise it could not access the head of the list
+	 */
+	private class SimpleIterator implements Iterator<T> {
+
+		private ListElement<T> current = head;
+
+		/**
+		 * @inheritDoc
+		 */
+		@Override
+		public boolean hasNext() {
+			return current != null;
+		}
+
+		/**
+		 * @inheritDoc
+		 */
+		@Override
+		public T next() {
+			T tmp = current.getItem();
+			current = current.getNext();
+			return tmp;
+		}
+	}
+
+	/**
+	 * Helper class for the linked list
+	 * can be static because the ListElement does not need to access the SimpleList instance
+	 */
+	private static class ListElement<T> {
+		private T item;
+		private ListElement<T> next;
+
+		ListElement(T item) {
+			this.item = item;
+			this.next = null;
+		}
+
+		/**
+		 * @return get object in the element
+		 */
+		public T getItem() {
+			return item;
+		}
+
+		/**
+		 * @return successor of the ListElement - may be NULL
+		 */
+		public ListElement<T> getNext() {
+			return next;
+		}
+
+		/**
+		 * Sets the successor of the ListElement
+		 *
+		 * @param next ListElement
+		 */
+		public void setNext(ListElement<T> next) {
+			this.next = next;
+		}
+	}
+
+}
diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml
new file mode 100644
index 0000000..99d963a
--- /dev/null
+++ b/src/main/resources/log4j2.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Configuration status="WARN">
+    <Appenders>
+        <Console name="Console" target="SYSTEM_OUT">
+            <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
+        </Console>
+    </Appenders>
+    <Loggers>
+        <Root level="all">
+            <AppenderRef ref="Console"/>
+        </Root>
+    </Loggers>
+</Configuration>
\ No newline at end of file
diff --git a/src/test/java/de/fhro/inf/prg3/a05/tests/collections/SimpleListTests.java b/src/test/java/de/fhro/inf/prg3/a05/tests/collections/SimpleListTests.java
new file mode 100644
index 0000000..0bf94c4
--- /dev/null
+++ b/src/test/java/de/fhro/inf/prg3/a05/tests/collections/SimpleListTests.java
@@ -0,0 +1,113 @@
+package de.fhro.inf.prg3.a05.tests.collections;
+
+import de.fhro.inf.prg3.a05.collections.SimpleFilter;
+import de.fhro.inf.prg3.a05.collections.SimpleList;
+import de.fhro.inf.prg3.a05.collections.SimpleListImpl;
+import de.fhro.inf.prg3.a05.tests.models.Person;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import java.util.Iterator;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+/**
+ * @author Peter Kurfer
+ * Created on 10/6/17.
+ */
+class SimpleListTests {
+
+	private final Logger logger = LogManager.getLogger();
+	private SimpleList<Integer> testList;
+
+	@BeforeEach
+	void setup(){
+		testList = new SimpleListImpl<>();
+
+		testList.add(1);
+		testList.add(2);
+		testList.add(3);
+		testList.add(4);
+		testList.add(5);
+	}
+
+	@Test
+	void testAddElements(){
+		logger.info("Testing if adding and iterating elements is implemented correctly");
+		int counter = 0;
+		for(Object o : testList){
+			counter++;
+		}
+		assertEquals(5, counter);
+	}
+
+	@Test
+	void testSize(){
+		logger.info("Testing if size() method is implemented correctly");
+		assertEquals(5, testList.size());
+	}
+
+	@Test
+	void testFilterAnonymousClass(){
+		logger.info("Testing the filter possibilities by filtering for all elements greater 2");
+		SimpleList<Integer> result = testList.filter(new SimpleFilter<Integer>() {
+			@Override
+			public boolean include(Integer item) {
+				return item > 2;
+			}
+		});
+
+		for(Integer i : result){
+			assertTrue(i > 2);
+		}
+	}
+
+	@Test
+	void testFilterLambda(){
+		logger.info("Testing the filter possibilities by filtering for all elements which are dividable by 2");
+		SimpleList<Integer> result = testList.filter(o -> o % 2 == 0);
+		for(Integer i : result){
+			assertTrue(i % 2 == 0);
+		}
+	}
+
+	@Test
+	void testAddEmpty() throws Exception {
+		logger.info("Testing to add a new empty list element");
+		SimpleList<Person> l = new SimpleListImpl<>();
+		l.addDefault(Person.class);
+		assertEquals(1, l.size());
+	}
+
+	@Test
+	void testSimpleListMap(){
+		logger.info("Testing default map method");
+		SimpleList<Integer> mapped = testList.map(i -> i + 1);
+		assertEquals(5, mapped.size());
+		for(Integer i : mapped) {
+			assertTrue(i > 1);
+			assertTrue(i < 7);
+		}
+	}
+
+	@Test
+	void testMap() {
+		logger.info("Testing default map method by mapping every value to its square");
+		SimpleList<Double> result = testList.map(i -> Math.pow(i, 2));
+		Iterator<Integer> origIt = testList.iterator();
+		Iterator<Double> mapIt = result.iterator();
+		while (origIt.hasNext() && mapIt.hasNext()) {
+			assertEquals(Math.pow(origIt.next(), 2), mapIt.next(), 0.1);
+		}
+	}
+
+	@Test
+	void testSimpleListMapChangedType() {
+		logger.info("Testing default map method by mapping every integer to a char value");
+		SimpleList<Character> mapped = testList.map(i -> ((char) (i + 64)));
+		assertEquals(5, mapped.size());
+	}
+}
diff --git a/src/test/java/de/fhro/inf/prg3/a05/tests/models/Person.java b/src/test/java/de/fhro/inf/prg3/a05/tests/models/Person.java
new file mode 100644
index 0000000..94b22b4
--- /dev/null
+++ b/src/test/java/de/fhro/inf/prg3/a05/tests/models/Person.java
@@ -0,0 +1,71 @@
+package de.fhro.inf.prg3.a05.tests.models;
+
+import org.apache.commons.lang3.builder.EqualsBuilder;
+import org.apache.commons.lang3.builder.HashCodeBuilder;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+/**
+ * Demo model with an empty constructor to be able to test the addEmpty() method
+ * @author Peter Kurfer
+ * Created on 10/19/17.
+ */
+public class Person {
+
+	private String firstName;
+	private String lastName;
+
+	public Person() {
+	}
+
+	public Person(String firstName, String lastName) {
+		this.firstName = firstName;
+		this.lastName = lastName;
+	}
+
+	public String getFirstName() {
+		return firstName;
+	}
+
+	public void setFirstName(String firstName) {
+		this.firstName = firstName;
+	}
+
+	public String getLastName() {
+		return lastName;
+	}
+
+	public void setLastName(String lastName) {
+		this.lastName = lastName;
+	}
+
+	@Override
+	public boolean equals(Object o) {
+		if (this == o) return true;
+
+		if (!(o instanceof Person)) return false;
+
+		Person person = (Person) o;
+
+		return new EqualsBuilder()
+				.append(getFirstName(), person.getFirstName())
+				.append(getLastName(), person.getLastName())
+				.isEquals();
+	}
+
+	@Override
+	public int hashCode() {
+		return new HashCodeBuilder(17, 37)
+				.append(getFirstName())
+				.append(getLastName())
+				.toHashCode();
+	}
+
+	@Override
+	public String toString() {
+		return new ToStringBuilder(this)
+				.append("firstName", firstName)
+				.append("lastName", lastName)
+				.toString();
+	}
+}
+
-- 
GitLab