[Fix] Fixed getting next/previous element of activity

This commit is contained in:
Robert von Burg 2017-06-19 10:08:18 +02:00
parent 030ff9f6b3
commit f73b8e2455
2 changed files with 37 additions and 7 deletions

View File

@ -228,7 +228,7 @@ public class Activity extends AbstractStrolchRootElement
boolean foundElem = false;
Iterator<IActivityElement> iter = reversed.iterator();
IActivityElement elem = iter.next();
IActivityElement elem;
while (iter.hasNext()) {
elem = iter.next();
@ -267,7 +267,7 @@ public class Activity extends AbstractStrolchRootElement
Iterator<Entry<String, IActivityElement>> iter = elementIterator();
boolean foundElem = false;
IActivityElement elem = iter.next().getValue();
IActivityElement elem;
while (iter.hasNext()) {
elem = iter.next().getValue();

View File

@ -139,18 +139,27 @@ public class ActivityTest {
Activity a = new Activity("bla", "Bla", "Bla", TimeOrdering.SERIES);
Action a0 = new Action("a0", "A0", "Wait");
a.addElement(a0);
Action a1 = new Action("a1", "A1", "Consume");
a.addElement(a1);
Action a2 = new Action("a2", "A2", "Consume");
a.addElement(a2);
Action a3 = new Action("a3", "A3", "Consume");
Action a3 = new Action("a3", "A3", "Produce");
a.addElement(a3);
Action a4 = new Action("a4", "A4", "Consume");
Action a4 = new Action("a4", "A4", "Produce");
a.addElement(a4);
Action a5 = new Action("a5", "A5", "Use");
a.addElement(a5);
Optional<IActivityElement> previousElement = a.getPreviousElement(a1);
Optional<IActivityElement> nextElement = a.getNextElement(a1);
Optional<IActivityElement> previousElement = a.getPreviousElement(a0);
assertFalse(previousElement.isPresent());
Optional<IActivityElement> nextElement = a.getNextElement(a0);
assertEquals("a1", nextElement.get().getId());
previousElement = a.getPreviousElement(a1);
assertEquals("a0", previousElement.get().getId());
nextElement = a.getNextElement(a1);
assertEquals("a2", nextElement.get().getId());
previousElement = a.getPreviousElement(a2);
@ -166,6 +175,11 @@ public class ActivityTest {
previousElement = a.getPreviousElement(a4);
nextElement = a.getNextElement(a4);
assertEquals("a3", previousElement.get().getId());
assertEquals("a5", nextElement.get().getId());
previousElement = a.getPreviousElement(a5);
nextElement = a.getNextElement(a5);
assertEquals("a4", previousElement.get().getId());
assertFalse(nextElement.isPresent());
}
@ -187,10 +201,16 @@ public class ActivityTest {
Action a5 = new Action("a5", "A5", "Use");
a.addElement(a5);
// a0
Optional<IActivityElement> nextElement = a.getNextElementByType(a0, "Consume");
assertEquals("a1", nextElement.get().getId());
nextElement = a.getNextElementByType(a0, "Produce");
assertEquals("a3", nextElement.get().getId());
// a1
Optional<IActivityElement> previousElement = a.getPreviousElementByType(a1, "Consume");
assertFalse(previousElement.isPresent());
Optional<IActivityElement> nextElement = a.getNextElementByType(a1, "Consume");
nextElement = a.getNextElementByType(a1, "Consume");
assertEquals("a2", nextElement.get().getId());
nextElement = a.getNextElementByType(a1, "Produce");
assertEquals("a3", nextElement.get().getId());
@ -220,6 +240,16 @@ public class ActivityTest {
assertFalse(nextElement.isPresent());
nextElement = a.getNextElementByType(a4, "Use");
assertEquals("a5", nextElement.get().getId());
// a5
previousElement = a.getPreviousElementByType(a5, "Produce");
assertEquals("a4", previousElement.get().getId());
previousElement = a.getPreviousElementByType(a5, "Consume");
assertEquals("a2", previousElement.get().getId());
nextElement = a.getNextElementByType(a5, "Produce");
assertFalse(nextElement.isPresent());
nextElement = a.getNextElementByType(a5, "Use");
assertFalse(nextElement.isPresent());
}
@Test