source: trunk/quest-core-tasktrees-test/src/test/java/de/ugoe/cs/quest/tasktrees/nodeequality/EventTaskComparisonRuleTest.java @ 807

Last change on this file since 807 was 807, checked in by pharms, 12 years ago
  • improved node equality comparison to match the principle of lexical, syntactical and semantical node equality. As a result, more condensed task trees are created.
File size: 2.5 KB
Line 
1package de.ugoe.cs.quest.tasktrees.nodeequality;
2
3import static org.junit.Assert.*;
4
5import org.junit.Test;
6
7import de.ugoe.cs.quest.eventcore.IEventTarget;
8import de.ugoe.cs.quest.eventcore.IEventType;
9import de.ugoe.cs.quest.eventcore.StringEventType;
10import de.ugoe.cs.quest.tasktrees.treeifc.ISelection;
11import de.ugoe.cs.quest.tasktrees.treeifc.ITaskTreeNode;
12import de.ugoe.cs.quest.tasktrees.treeifc.ITaskTreeNodeFactory;
13import de.ugoe.cs.quest.tasktrees.treeimpl.TaskTreeNodeFactory;
14import de.ugoe.cs.quest.test.DummyGUIElement;
15
16/**
17 * @author Patrick Harms
18 */
19public class EventTaskComparisonRuleTest {
20
21    /**
22     *
23     */
24    @Test
25    public void test() {
26        ITaskTreeNodeFactory treeNodeFactory = new TaskTreeNodeFactory();
27       
28        EventTaskComparisonRule rule = new EventTaskComparisonRule();
29       
30        // test the identity check
31        IEventType eventType1 = new StringEventType("eventType1");
32        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
33        ITaskTreeNode task1 = treeNodeFactory.createNewEventTask(eventType1, eventTarget1);
34       
35        assertEquals(NodeEquality.IDENTICAL, rule.compare(task1, task1));
36
37        ITaskTreeNode task2 = treeNodeFactory.createNewEventTask(eventType1, eventTarget1);
38       
39        assertEquals(NodeEquality.LEXICALLY_EQUAL, rule.compare(task1, task2));
40        assertEquals(NodeEquality.LEXICALLY_EQUAL, rule.compare(task2, task1));
41       
42        IEventType eventType2 = new StringEventType("eventType2");
43        task2 = treeNodeFactory.createNewEventTask(eventType2, eventTarget1);
44
45        assertEquals(NodeEquality.UNEQUAL, rule.compare(task1, task2));
46        assertEquals(NodeEquality.UNEQUAL, rule.compare(task2, task1));
47       
48        IEventTarget eventTarget2 = new DummyGUIElement("elem2");
49        task2 = treeNodeFactory.createNewEventTask(eventType1, eventTarget2);
50       
51        assertEquals(NodeEquality.UNEQUAL, rule.compare(task1, task2));
52        assertEquals(NodeEquality.UNEQUAL, rule.compare(task2, task1));
53       
54        task2 = treeNodeFactory.createNewEventTask(eventType2, eventTarget2);
55       
56        assertEquals(NodeEquality.UNEQUAL, rule.compare(task1, task2));
57        assertEquals(NodeEquality.UNEQUAL, rule.compare(task2, task1));
58
59        ISelection selection = treeNodeFactory.createNewSelection();
60        assertNull(rule.compare(task1, selection));
61        assertNull(rule.compare(selection, task1));
62        assertNull(rule.compare(task2, selection));
63        assertNull(rule.compare(selection, task2));
64    }
65
66}
Note: See TracBrowser for help on using the repository browser.