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()); + } +}