diff --git a/.classpath b/.classpath
new file mode 100755
index 0000000..6220d0d
--- /dev/null
+++ b/.classpath
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/.gitignore b/.gitignore
new file mode 100755
index 0000000..4c8fd93
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,62 @@
+# ---> Eclipse
+.metadata
+bin/
+tmp/
+*.tmp
+*.bak
+*.swp
+*~.nib
+local.properties
+.settings/
+.loadpath
+.recommenders
+
+# External tool builders
+.externalToolBuilders/
+
+# Locally stored "Eclipse launch configurations"
+*.launch
+
+# PyDev specific (Python IDE for Eclipse)
+*.pydevproject
+
+# CDT-specific (C/C++ Development Tooling)
+.cproject
+
+# CDT- autotools
+.autotools
+
+# Java annotation processor (APT)
+.factorypath
+
+# PDT-specific (PHP Development Tools)
+.buildpath
+
+# sbteclipse plugin
+.target
+
+# Tern plugin
+.tern-project
+
+# TeXlipse plugin
+.texlipse
+
+# STS (Spring Tool Suite)
+.springBeans
+
+# Code Recommenders
+.recommenders/
+
+# Annotation Processing
+.apt_generated/
+.apt_generated_test/
+
+# Scala IDE specific (Scala & Java development for Eclipse)
+.cache-main
+.scala_dependencies
+.worksheet
+
+# Uncomment this line if you wish to ignore the project description file.
+# Typically, this file would be tracked if it contains build/dependency configurations:
+#.project
+
diff --git a/.project b/.project
new file mode 100755
index 0000000..da18560
--- /dev/null
+++ b/.project
@@ -0,0 +1,17 @@
+
+
+ MeineArrayList
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/README.md b/README.md
index e807247..4106cab 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,7 @@
# PR1_Aufgabensammlung_Erstelle_Arraylist
+In diesem Repo finden Sie die Aufgabenstellung mit Tests.
+Sie müssen lediglich die Klasse MeineArrayList fertig implementieren.
+Mit Hilfe der Tests wissen Sie, ob die Aufgabe korrekt ist.
# Aufgabe
Implementieren Sie die Klasse MeineArrayList so, dass sie die Grundlegenden Funktionen einer ArrayList\ hat ohne ArrayList<> in der Klasse zu verwenden.
diff --git a/src/de/hs_mannheim/MeineArrayList/MeineArrayList.java b/src/de/hs_mannheim/MeineArrayList/MeineArrayList.java
new file mode 100755
index 0000000..7c5a482
--- /dev/null
+++ b/src/de/hs_mannheim/MeineArrayList/MeineArrayList.java
@@ -0,0 +1,72 @@
+package de.hs_mannheim.MeineArrayList;
+
+public class MeineArrayList {
+ //Todo: Implementieren
+
+ public MeineArrayList() {
+ //Todo: Implementieren
+ }
+
+ public void add(String n){
+ //Todo: Implementieren
+ }
+
+ public Boolean add(int index, String n){
+ //Todo: Implementieren
+ return false;
+ }
+
+ public void addAll(MeineArrayList liste){
+ //Todo: Implementieren
+ }
+
+ public Boolean addAll(int index, MeineArrayList liste){
+ //Todo: Implementieren
+ return false;
+ }
+
+ public void clear(){
+ //Todo: Implementieren
+ }
+
+ public Boolean contains(String s){
+ //Todo: Implementieren
+ return false;
+ }
+
+ public String get(int index){
+ //Todo: Implementieren
+ return "";
+ }
+
+ public int indexOf(String s){
+ //Todo: Implementieren
+ return -1;
+ }
+
+ public Boolean isEmpty(){
+ //Todo: Implementieren
+ return false;
+ }
+
+ public String remove(int index){
+ //Todo: Implementieren
+ return "";
+ }
+
+ public Boolean set(int index, String s){
+ //Todo: Implementieren
+ return false;
+ }
+
+ public int size(){
+ //Todo: Implementieren
+ return -1;
+ }
+
+ public String[] toArray(){
+ //Todo: Implementieren
+ return new String[0];
+ }
+
+}
diff --git a/src/de/hs_mannheim/MeineArrayList/MeineArrayList_Test.java b/src/de/hs_mannheim/MeineArrayList/MeineArrayList_Test.java
new file mode 100755
index 0000000..d92049d
--- /dev/null
+++ b/src/de/hs_mannheim/MeineArrayList/MeineArrayList_Test.java
@@ -0,0 +1,160 @@
+package de.hs_mannheim.MeineArrayList;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+import org.junit.jupiter.api.Test;
+
+class MeineArrayList_Test {
+
+ @Test
+ void basicAddGetTest() {
+ MeineArrayList list = new MeineArrayList();
+ list.add("Test");
+ assertEquals("Test", list.get(0));
+ }
+
+ @Test
+ void advancedAddGetTest() {
+ MeineArrayList list = new MeineArrayList();
+ list.add("Test1");
+ assertEquals("Test1", list.get(0));
+ list.add("Test2");
+ assertEquals("Test2", list.get(1));
+ list.add("Test3");
+ assertEquals("Test3", list.get(2));
+ list.add(0, "Test4");
+ assertEquals("Test4", list.get(0));
+ list.add(4, "Test5");
+ assertEquals("Test5", list.get(4));
+ assertFalse(list.add(10,"testw3"));
+ assertTrue(list.add(0,"testw3"));
+ }
+
+ @Test
+ void AddAllTest() {
+ MeineArrayList liste1 = new MeineArrayList();
+ MeineArrayList liste2 = new MeineArrayList();
+ liste1.add("1");
+ liste1.add("2");
+ liste1.add("3");
+ liste1.add("4");
+ liste2.add("1");
+ liste2.add("2");
+ liste2.add("3");
+ liste2.add("4");
+ liste1.addAll(liste2);
+ assertEquals("1", liste1.get(0));
+ assertEquals("2", liste1.get(1));
+ assertEquals("3", liste1.get(2));
+ assertEquals("4", liste1.get(3));
+ assertEquals("1", liste1.get(4));
+ assertEquals("2", liste1.get(5));
+ assertEquals("3", liste1.get(6));
+ assertEquals("4", liste1.get(7));
+ liste1.addAll(1,liste2);
+ assertEquals("1", liste1.get(0));
+ assertEquals("1", liste1.get(1));
+ assertEquals("2", liste1.get(2));
+ assertEquals("3", liste1.get(3));
+ assertEquals("4", liste1.get(4));
+ assertEquals("2", liste1.get(5));
+ assertEquals("3", liste1.get(6));
+ assertEquals("4", liste1.get(7));
+ assertEquals("1", liste1.get(8));
+ assertEquals("2", liste1.get(9));
+ assertEquals("3", liste1.get(10));
+ assertEquals("4", liste1.get(11));
+ }
+
+ @Test
+ void clearSizeIsEmptyTest() {
+ MeineArrayList list = new MeineArrayList();
+ assertTrue(list.isEmpty());
+ list.add("Test1");
+ assertEquals("Test1", list.get(0));
+ assertEquals(1, list.size());
+ assertFalse(list.isEmpty());
+ list.clear();
+ assertTrue(list.isEmpty());
+ assertEquals(0, list.size());
+ }
+
+ @Test
+ void containsTest() {
+ MeineArrayList list = new MeineArrayList();
+ assertFalse(list.contains("Test1"));
+ list.add("Test1");
+ assertTrue(list.contains("Test1"));
+ }
+
+ @Test
+ void indexOfTest() {
+ MeineArrayList list = new MeineArrayList();
+ assertEquals(-1, list.indexOf("1"));
+ assertEquals(-1, list.indexOf("2"));
+ assertEquals(-1, list.indexOf("3"));
+ assertEquals(-1, list.indexOf("4"));
+ list.add("1");
+ list.add("2");
+ list.add("3");
+ list.add("4");
+ assertEquals(0, list.indexOf("1"));
+ assertEquals(1, list.indexOf("2"));
+ assertEquals(2, list.indexOf("3"));
+ assertEquals(3, list.indexOf("4"));
+ }
+
+ @Test
+ void removeTest() {
+ MeineArrayList list = new MeineArrayList();
+ assertTrue(list.isEmpty());
+ list.add("1");
+ list.add("2");
+ list.add("3");
+ list.add("4");
+ assertEquals("1", list.remove(0));
+ assertEquals("2", list.remove(0));
+ assertEquals("3", list.remove(0));
+ assertEquals("4", list.remove(0));
+ }
+
+ @Test
+ void setTest() {
+ MeineArrayList list = new MeineArrayList();
+ assertFalse(list.set(10, "hallo"));
+ list.add("1");
+ list.add("2");
+ list.add("3");
+ assertEquals("2", list.get(1));
+ assertTrue(list.set(1, "hallo"));
+ assertEquals("hallo", list.get(1));
+ }
+
+ @Test
+ void sizeTest() {
+ MeineArrayList list = new MeineArrayList();
+ assertEquals(0, list.size());
+ list.add("1");
+ assertEquals(1, list.size());
+ list.add("2");
+ assertEquals(2, list.size());
+ list.add("3");
+ assertEquals(3, list.size());
+ list.add("4");
+ assertEquals(4, list.size());
+ }
+
+ @Test
+ void toArrayTest() {
+ MeineArrayList list = new MeineArrayList();
+ assertArrayEquals(new String[0], list.toArray());
+ list.add("1");
+ assertArrayEquals(new String[] {"1"}, list.toArray());
+ list.add("2");
+ assertArrayEquals(new String[] {"1","2"}, list.toArray());
+ list.add("3");
+ assertArrayEquals(new String[] {"1","2","3"}, list.toArray());
+ list.add("4");
+ assertArrayEquals(new String[] {"1","2","3","4"}, list.toArray());
+ }
+}