Add TestCases

main
Lukas Klipfel 2026-01-16 16:37:53 +01:00
parent 86b9b8bb73
commit 08fd3f0f1f
6 changed files with 321 additions and 0 deletions

7
.classpath 100755
View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/5"/>
<classpathentry kind="output" path="bin"/>
</classpath>

62
.gitignore vendored 100755
View File

@ -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

17
.project 100755
View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>MeineArrayList</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

View File

@ -1,4 +1,7 @@
# PR1_Aufgabensammlung_Erstelle_Arraylist # 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 # Aufgabe
Implementieren Sie die Klasse MeineArrayList so, dass sie die Grundlegenden Funktionen einer ArrayList\<String> hat ohne ArrayList<> in der Klasse zu verwenden. Implementieren Sie die Klasse MeineArrayList so, dass sie die Grundlegenden Funktionen einer ArrayList\<String> hat ohne ArrayList<> in der Klasse zu verwenden.

View File

@ -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];
}
}

View File

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