source: trunk/autoquest-plugin-jfc-test/src/test/java/de/ugoe/cs/autoquest/plugin/jfc/JFCSimplifiedLogParserTest.java @ 1058

Last change on this file since 1058 was 1058, checked in by fglaser, 11 years ago
  • Bug in JFCSimplifiedLogParser fixed, which caused violation of event order during parsing
  • Test of JFCSimplifiedLogParser extended to cover handling of events that have no registered target while being parsed.
  • Property svn:mime-type set to text/plain
File size: 3.9 KB
Line 
1
2package de.ugoe.cs.autoquest.plugin.jfc;
3
4import static org.junit.Assert.assertNotNull;
5import static org.junit.Assert.assertTrue;
6
7import java.io.File;
8import java.util.Collection;
9import java.util.List;
10import java.util.logging.Level;
11
12import org.junit.Before;
13import org.junit.Test;
14
15import de.ugoe.cs.autoquest.eventcore.Event;
16import de.ugoe.cs.autoquest.eventcore.guimodel.GUIModel;
17import de.ugoe.cs.autoquest.eventcore.guimodel.IGUIElement;
18import de.ugoe.cs.autoquest.plugin.jfc.guimodel.JFCGUIElement;
19import de.ugoe.cs.util.console.TextConsole;
20
21/**
22 * TODO comment
23 *
24 * @version $Revision: $ $Date: $
25 * @author 2011, last modified by $Author: $
26 */
27public class JFCSimplifiedLogParserTest {
28
29    /**
30     *
31     */
32    @Before
33    public void setUp() {
34        new TextConsole(Level.FINEST);
35    }
36
37    /**
38     * Test that parses regular log file.
39     */
40    @Test
41    public void testParseRegularLog() throws Exception {
42        JFCSimplifiedLogParser parser = new JFCSimplifiedLogParser(null);
43        parser.parseFile(new File(ClassLoader.getSystemResource("freemind_regularTrace.xml")
44                                  .getFile()));
45        Collection<List<Event>> events = parser.getSequences();
46
47        assertNotNull(events);
48        assertTrue(events.size() > 0);
49
50        System.err.println("{");
51        for (List<Event> session : events) {
52            System.err.println("  {");
53            for (Event event : session) {
54                System.err.print("    ");
55                System.err.print(event);
56                System.err.println(",");
57            }
58            System.err.println("  }");
59        }
60        System.err.println("}");
61        System.err.println("\n\n");
62
63        GUIModel guiModel = parser.getGuiModel();
64        assertNotNull(guiModel);
65
66        for (IGUIElement root : guiModel.getRootElements()) {
67            dumpGUIElement(root, guiModel, "");
68        }
69    }
70
71    /**
72     * Test that parses a log file that contains events that have no registered targets when parsed.
73     */
74    @Test
75    public void testParseLogEventsWithoutTargets() throws Exception {
76        JFCSimplifiedLogParser parser = new JFCSimplifiedLogParser(null);
77        parser.parseFile(new File(ClassLoader
78                                  .getSystemResource("argouml_traceEventsWithoutTargets.xml").getFile()));
79        Collection<List<Event>> events = parser.getSequences();
80
81        assertNotNull(events);
82        assertTrue(events.size() > 0);
83
84        System.err.println("{");
85        for (List<Event> session : events) {
86            System.err.println("  {");
87            for (Event event : session) {
88                System.err.print("    ");
89                System.err.print(event);
90                System.err.println(",");
91            }
92            System.err.println("  }");
93        }
94        System.err.println("}");
95        System.err.println("\n\n");
96
97        GUIModel guiModel = parser.getGuiModel();
98        assertNotNull(guiModel);
99
100        for (IGUIElement root : guiModel.getRootElements()) {
101            dumpGUIElement(root, guiModel, "");
102        }
103    }
104
105    /**
106     * TODO: comment
107     *
108     * @param root
109     * @param guiModel
110     */
111    private void dumpGUIElement(IGUIElement guiElement, GUIModel guiModel, String indent) {
112        assertTrue(guiElement instanceof JFCGUIElement);
113
114        System.err.print(indent);
115        System.err.print(guiElement);
116
117        List<IGUIElement> children = guiModel.getChildren(guiElement);
118
119        if ((children != null) && (children.size() > 0)) {
120            System.err.println(" {");
121
122            for (IGUIElement child : children) {
123                dumpGUIElement(child, guiModel, indent + "  ");
124            }
125
126            System.err.print(indent);
127            System.err.print("}");
128        }
129
130        System.err.println();
131    }
132
133}
Note: See TracBrowser for help on using the repository browser.