From f73b8e2455475226b879f20a6ff831151041ea35 Mon Sep 17 00:00:00 2001 From: Robert von Burg Date: Mon, 19 Jun 2017 10:08:18 +0200 Subject: [PATCH] [Fix] Fixed getting next/previous element of activity --- .../li/strolch/model/activity/Activity.java | 4 +- .../strolch/model/activity/ActivityTest.java | 40 ++++++++++++++++--- 2 files changed, 37 insertions(+), 7 deletions(-) diff --git a/li.strolch.model/src/main/java/li/strolch/model/activity/Activity.java b/li.strolch.model/src/main/java/li/strolch/model/activity/Activity.java index 4d83c9e59..43721ef45 100644 --- a/li.strolch.model/src/main/java/li/strolch/model/activity/Activity.java +++ b/li.strolch.model/src/main/java/li/strolch/model/activity/Activity.java @@ -228,7 +228,7 @@ public class Activity extends AbstractStrolchRootElement boolean foundElem = false; Iterator 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> iter = elementIterator(); boolean foundElem = false; - IActivityElement elem = iter.next().getValue(); + IActivityElement elem; while (iter.hasNext()) { elem = iter.next().getValue(); diff --git a/li.strolch.model/src/test/java/li/strolch/model/activity/ActivityTest.java b/li.strolch.model/src/test/java/li/strolch/model/activity/ActivityTest.java index 130b7f393..d03db144b 100644 --- a/li.strolch.model/src/test/java/li/strolch/model/activity/ActivityTest.java +++ b/li.strolch.model/src/test/java/li/strolch/model/activity/ActivityTest.java @@ -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 previousElement = a.getPreviousElement(a1); - Optional nextElement = a.getNextElement(a1); + Optional previousElement = a.getPreviousElement(a0); assertFalse(previousElement.isPresent()); + Optional 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 nextElement = a.getNextElementByType(a0, "Consume"); + assertEquals("a1", nextElement.get().getId()); + nextElement = a.getNextElementByType(a0, "Produce"); + assertEquals("a3", nextElement.get().getId()); + // a1 Optional previousElement = a.getPreviousElementByType(a1, "Consume"); assertFalse(previousElement.isPresent()); - Optional 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