Index: trunk/quest-plugin-jfc-test/src/test/java/de/ugoe/cs/quest/plugin/jfc/JFCReplayIDCalculatorTest.java
===================================================================
--- trunk/quest-plugin-jfc-test/src/test/java/de/ugoe/cs/quest/plugin/jfc/JFCReplayIDCalculatorTest.java	(revision 725)
+++ trunk/quest-plugin-jfc-test/src/test/java/de/ugoe/cs/quest/plugin/jfc/JFCReplayIDCalculatorTest.java	(revision 796)
@@ -2,4 +2,5 @@
 
 import java.io.File;
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashSet;
@@ -13,5 +14,8 @@
 
 import de.ugoe.cs.quest.eventcore.Event;
+import de.ugoe.cs.quest.eventcore.IEventTarget;
 import de.ugoe.cs.quest.plugin.jfc.eventcore.JFCEventId;
+import de.ugoe.cs.quest.plugin.jfc.guimodel.JFCGUIElement;
+import de.ugoe.cs.quest.plugin.jfc.guimodel.JFCGUIElementSpec;
 
 /**
@@ -46,5 +50,5 @@
 	 */
 	@Test
-	public void testCalculateReplayID_1()
+	public void testCalculateReplayIDwithEvent()
 		throws Exception {
 		Collection<JFCEventId> ignoredEvents = new HashSet<JFCEventId>();
@@ -57,4 +61,37 @@
 		
 		String result = new JFCReplayIDCalculator().calculateReplayID(event);
+		assertEquals("e3561778462", result);
+	}
+	
+	/**
+	 * Run the String calculateReplayID(List<JFCGUIElementSpec>) method test.
+	 *
+	 * @throws Exception
+	 */
+	@Test
+	public void testCalculateReplayIDwithGuiElementPath()
+		throws Exception {
+		Collection<JFCEventId> ignoredEvents = new HashSet<JFCEventId>();
+		ignoredEvents.add(JFCEventId.FOCUS_GAINED);
+		JFCLogParser parser = new JFCLogParser(ignoredEvents);
+		parser.parseFile(new File(ClassLoader.getSystemResource("freemind_trace.xml").getFile()));
+		
+		Collection<List<Event>> sequences = parser.getSequences();
+		Event event = sequences.iterator().next().get(0);
+		
+		List<JFCGUIElementSpec> guiElementPath = new ArrayList<JFCGUIElementSpec>();
+		
+		IEventTarget target = event.getTarget();
+		JFCGUIElement jfcTarget = (JFCGUIElement) target;
+		
+		// extract element path
+		JFCGUIElement currentTarget = jfcTarget;
+		while (currentTarget != null){
+			JFCGUIElementSpec currentSpec = (JFCGUIElementSpec) currentTarget.getSpecification();
+			guiElementPath.add(0, currentSpec);
+			currentTarget = (JFCGUIElement) currentTarget.getParent();
+		}
+		
+		String result = new JFCReplayIDCalculator().calculateReplayID(guiElementPath);
 		assertEquals("e3561778462", result);
 	}
