Browse Source

initial project commit

vollständige_und_weitere_testate
hertero 3 years ago
committed by chris
parent
commit
4610c02414
  1. 7
      SimpleActivityStack/.classpath
  2. 17
      SimpleActivityStack/.project
  3. 38
      SimpleActivityStack/src/solution/SimpleActivityStack.java
  4. 14
      SimpleActivityStack/src/solution/SimpleActivityStackTest.java
  5. 64
      SimpleActivityStack/src/solution/SimpleStack.java
  6. 13
      SimpleActivityStack/src/solution/SimpleStackTest.java

7
SimpleActivityStack/.classpath

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

17
SimpleActivityStack/.project

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>SimpleActivityStack</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>

38
SimpleActivityStack/src/solution/SimpleActivityStack.java

@ -0,0 +1,38 @@
package solution;
import testat.SimpleActivity;
public class SimpleActivityStack extends SimpleStack<SimpleActivity> {
@Override
public int push(SimpleActivity activity) {
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

@ -0,0 +1,14 @@
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

@ -0,0 +1,64 @@
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

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