source: trunk/quest-plugin-mfc-test/src/test/java/de/ugoe/cs/quest/plugin/mfc/MFCLogParserTest.java @ 655

Last change on this file since 655 was 655, checked in by pharms, 12 years ago
  • removed old copyright file header
  • Property svn:executable set to *
  • Property svn:keywords set to Date Revision Author HeadURL Id
File size: 4.7 KB
Line 
1package de.ugoe.cs.quest.plugin.mfc;
2
3import static org.junit.Assert.assertEquals;
4import static org.junit.Assert.assertNotNull;
5import static org.junit.Assert.assertNotSame;
6import static org.junit.Assert.assertTrue;
7
8import java.io.File;
9import java.io.FileInputStream;
10import java.io.FileOutputStream;
11import java.io.InputStreamReader;
12import java.io.PrintStream;
13import java.util.Collection;
14import java.util.List;
15
16import org.junit.After;
17import org.junit.Before;
18import org.junit.Test;
19
20import de.ugoe.cs.quest.ReplayGenerator;
21import de.ugoe.cs.quest.eventcore.Event;
22import de.ugoe.cs.quest.eventcore.guimodel.GUIModel;
23import de.ugoe.cs.util.console.Console;
24import de.ugoe.cs.util.console.listener.IOutputListener;
25
26/**
27 * TODO comment
28 *
29 * @version $Revision$ $Date$
30 * @author 2011, last modified by $Author$
31 */
32public class MFCLogParserTest implements IOutputListener {
33
34    /** */
35    private File tmpFile;
36   
37    /** */
38    private PrintStream outputStream;
39
40    /**
41     *
42     */
43    @Before
44    public void setUp() throws Exception {
45        outputStream = new PrintStream(new FileOutputStream("blub.log"));
46        Console.getInstance().registerOutputListener(this);
47       
48        tmpFile = new File("tmp.xml");
49       
50        if (tmpFile.exists()) {
51            assertTrue(tmpFile.delete());
52        }
53    }
54   
55    /**
56     *
57     */
58    @After
59    public void tearDown() throws Exception {
60        if (!System.out.equals(outputStream) && !System.err.equals(outputStream)) {
61            outputStream.close();
62        }
63       
64        if (tmpFile.exists()) {
65            assertTrue(tmpFile.delete());
66        }
67    }
68   
69   
70    /**
71     *
72     */
73    @Test
74    public void testTrace() throws Exception {
75        File traceFile = new File(ClassLoader.getSystemResource("trace.txt").getFile());
76       
77        new LogPreprocessor().convertToXml(traceFile.getAbsolutePath(),
78                                           tmpFile.getAbsolutePath());
79       
80        MFCLogParser parser = new MFCLogParser();
81        parser.parseFile(tmpFile);
82        Collection<List<Event>> events = parser.getSequences();
83
84        assertNotNull(events);
85        assertTrue(events.size() > 0);
86
87        System.err.println("{");
88        for (List<Event> session : events) {
89            System.err.println("  {");
90            for (Event event : session) {
91                System.err.print("    ");
92                System.err.print(event);
93                System.err.println(",");
94            }
95            System.err.println("  }");
96        }
97        System.err.println("}");
98        System.err.println("\n\n");
99
100        GUIModel guiModel = parser.getGuiModel();
101        assertNotNull(guiModel);
102        assertNotSame(0, guiModel.getRootElements().size());
103
104        guiModel.dump(System.err);
105    }
106
107    /**
108     *
109     */
110    @Test
111    public void testLogfile() throws Exception {
112        File logFile = new File(ClassLoader.getSystemResource("log.xml").getFile());
113
114        MFCLogParser parser = new MFCLogParser();
115        parser.parseFile(logFile);
116        Collection<List<Event>> events = parser.getSequences();
117
118        assertNotNull(events);
119        assertTrue(events.size() > 0);
120
121        System.err.println("{");
122        for (List<Event> session : events) {
123            System.err.println("  {");
124            for (Event event : session) {
125                System.err.print("    ");
126                System.err.print(event);
127                System.err.println(",");
128            }
129            System.err.println("  }");
130        }
131        System.err.println("}");
132        System.err.println("\n\n");
133
134        GUIModel guiModel = parser.getGuiModel();
135        assertNotNull(guiModel);
136
137        guiModel.dump(System.err);
138
139        ReplayGenerator generator = new ReplayGenerator();
140        generator.createLogfileMultipleSessions(parser.getSequences(), tmpFile.getAbsolutePath());
141       
142        InputStreamReader reader1 =
143            new InputStreamReader(ClassLoader.getSystemResourceAsStream("replay.xml"), "UTF-8");
144
145        InputStreamReader reader2 = new InputStreamReader(new FileInputStream(tmpFile), "UTF-8");
146       
147        try {
148            int sign1;
149            do {
150                sign1 = reader1.read();
151                assertEquals(sign1, reader2.read());
152            }
153            while (sign1 > -1);
154        }
155        finally {
156            reader1.close();
157            reader2.close();
158        }
159    }
160
161    /* (non-Javadoc)
162     * @see de.ugoe.cs.util.console.listener.IOutputListener#outputMsg(java.lang.String)
163     */
164    @Override
165    public void outputMsg(String newMessage) {
166        outputStream.println(newMessage);
167    }
168
169}
Note: See TracBrowser for help on using the repository browser.