Browse Source

entfernen der Lösungsdateien für das Stack-Testat

Nur_Aufgabenstellungen
chris 3 years ago
parent
commit
0c982a51a9
  1. 41
      SimpleActivityStack/src/solution/SimpleActivityStack.java
  2. 14
      SimpleActivityStack/src/solution/SimpleActivityStackTest.java
  3. 64
      SimpleActivityStack/src/solution/SimpleStack.java
  4. 13
      SimpleActivityStack/src/solution/SimpleStackTest.java
  5. 66
      SimpleActivityStack/src/testat/ISimpleStack.java

41
SimpleActivityStack/src/solution/SimpleActivityStack.java

@ -1,41 +0,0 @@
package solution;
import testat.SimpleActivity;
public class SimpleActivityStack extends SimpleStack<SimpleActivity> {
@Override
public int push(SimpleActivity activity) {
if (activity == null) {
return 0;
}
if (size() > 0) {
super.get(size() - 1).passivate();
}
activity.activate();
return super.push(activity);
}
@Override
public SimpleActivity pop() {
SimpleActivity activity = super.pop();
if (activity != null) {
activity.passivate();
activity.destroy();
if (size() > 0) {
super.get(size() - 1).activate();
}
}
return activity;
}
@Override
public SimpleActivity remove(int i) {
if (i == super.size() - 1) {
return this.pop();
}
super.get(i).destroy();
return super.remove(i);
}
}

14
SimpleActivityStack/src/solution/SimpleActivityStackTest.java

@ -1,14 +0,0 @@
package solution;
import testat.ASimpleActivityStackTest;
import testat.ISimpleStack;
import testat.SimpleActivity;
public class SimpleActivityStackTest extends ASimpleActivityStackTest {
@Override
protected ISimpleStack<SimpleActivity> getInstance() {
return new SimpleActivityStack();
}
}

64
SimpleActivityStack/src/solution/SimpleStack.java

@ -1,64 +0,0 @@
package solution;
import java.util.LinkedList;
import java.util.List;
import testat.IAction;
import testat.ISimpleStack;
public class SimpleStack<T> implements ISimpleStack<T> {
private List<T> list;
public SimpleStack() {
super();
list = new LinkedList<T>();
}
@Override
public int push(T t) {
if (t != null) {
if (list.contains(t)) {
list.remove(t);
}
list.add(t);
return list.size();
}
return 0;
}
@Override
public T pop() {
if (list.size() == 0) {
return null;
}
return list.remove(list.size() - 1);
}
@Override
public T remove(int i) {
return list.remove(i);
}
@Override
public int size() {
return list.size();
}
@Override
public boolean contains(Object o) {
return list.contains(o);
}
@Override
public T get(int i) {
return list.get(i);
}
@Override
public void forAll(IAction<T> action) {
if (action != null) {
list.forEach(t -> action.execute(t));
}
}
}

13
SimpleActivityStack/src/solution/SimpleStackTest.java

@ -1,13 +0,0 @@
package solution;
import testat.ASimpleStackTest;
import testat.ISimpleStack;
public class SimpleStackTest extends ASimpleStackTest {
@Override
protected ISimpleStack<String> getInstance() {
return new SimpleStack<>();
}
}

66
SimpleActivityStack/src/testat/ISimpleStack.java

@ -1,66 +0,0 @@
package testat;
/**
*
* @author cm
* not provided
*
* @param <T>
*/
public interface ISimpleStack<T> {
/**
* Nimmt ein Objekt auf, das nicht null ist und noch nicht im Stack enthalten
* ist. Rückgabe: Anzahl an Elemente im Stack nach der Aufnahme oder 0, falls t
* == null ist das Objekt bereits enthalten, wird es ganz oben auf den Stapel
* gelegt. Hinweis: Verwenden Sie entsprechende Operationen der Collection/des
* Array und nicht pop/push
*
* @param t
* @return
*/
public int push(T t);
/**
* Entfernt das oberste Objekt und gibt es zurück. Liefert null, falls der Stack
* leer ist
*/
public T pop();
/**
* gibt einen Verweise auf das i-te Objekt zurück. Das Objekt bleibt im //
* Stack. Falls i nicht existiert, führt dies zur IndexOutOfBoundsException. //
* Das unterste Element hat Index 0, das oberste Index size()-1
*
* @param i index
* @return
*/
public T get(int i);
/**
* Wie get(i), nur wird das Objekt aus dem Stack entfernt
*
* @param i
* @return
*/
public T remove(int i);
/**
* Anzahl an Objekte im Stack
*
*/
public int size();
/**
* true, falls das Objekt im Stack enthalten ist
*
*/
public boolean contains(Object o);
/**
* Wendet action.execute auf alle Objekte im Stack an
*
* @param action
*/
public void forAll(IAction<T> action);
}
Loading…
Cancel
Save