source: trunk/autoquest-core-events-test/src/test/java/de/ugoe/cs/autoquest/eventcore/guimodel/AbstractDefaultGUIElementTest.java @ 922

Last change on this file since 922 was 922, checked in by sherbold, 12 years ago
  • renaming of packages from de.ugoe.cs.quest to de.ugoe.cs.autoquest
File size: 4.0 KB
Line 
1package de.ugoe.cs.autoquest.eventcore.guimodel;
2
3import static org.junit.Assert.*;
4
5import org.junit.Test;
6
7import de.ugoe.cs.autoquest.eventcore.guimodel.AbstractDefaultGUIElement;
8import de.ugoe.cs.autoquest.eventcore.guimodel.IGUIElement;
9import de.ugoe.cs.autoquest.eventcore.guimodel.IGUIElementSpec;
10
11/**
12 * <p>
13 * TODO comment
14 * </p>
15 *
16 * @version $Revision: $ $Date: 24.08.2012$
17 * @author 2012, last modified by $Author: pharms$
18 */
19public class AbstractDefaultGUIElementTest {
20
21    /**
22     * <p>
23     * TODO: comment
24     * </p>
25     */
26    @Test
27    public void testRegisteringEqualGuiElements() {
28        IGUIElement guiElement1 = new AbstractDefaultGUIElementTestImpl();
29        IGUIElement guiElement2 = new AbstractDefaultGUIElementTestImpl();
30       
31        assertCompletelyUnequal(guiElement1, guiElement2);
32       
33        guiElement1.addEqualGUIElement(guiElement2);
34        assertCompletelyEqual(guiElement1, guiElement2);
35       
36        IGUIElement guiElement3 = new AbstractDefaultGUIElementTestImpl();
37       
38        assertCompletelyEqual(guiElement1, guiElement2);
39        assertCompletelyUnequal(guiElement1, guiElement3);
40        assertCompletelyUnequal(guiElement2, guiElement3);
41       
42        guiElement1.addEqualGUIElement(guiElement3);
43        assertCompletelyEqual(guiElement1, guiElement2, guiElement3);
44
45        IGUIElement guiElement4 = new AbstractDefaultGUIElementTestImpl();
46       
47        assertCompletelyEqual(guiElement1, guiElement2, guiElement3);
48        assertCompletelyUnequal(guiElement1, guiElement4);
49        assertCompletelyUnequal(guiElement2, guiElement4);
50        assertCompletelyUnequal(guiElement3, guiElement4);
51       
52        guiElement3.addEqualGUIElement(guiElement4);
53        assertCompletelyEqual(guiElement1, guiElement2, guiElement3, guiElement4);
54    }
55   
56    /**
57     * <p>
58     *
59     * </p>
60     */
61    private void assertCompletelyUnequal(IGUIElement... guiElements) {
62        for (int i = 0; i < guiElements.length; i++) {
63            for (int j = i + 1; j < guiElements.length; j++) {
64                assertFalse(guiElements[i].equals(guiElements[j]));
65                assertFalse(guiElements[j].equals(guiElements[i]));
66                assertNotSame(guiElements[i].hashCode(), guiElements[j].hashCode());
67            }
68        }
69    }
70
71    /**
72     * <p>
73     *
74     * </p>
75     */
76    private void assertCompletelyEqual(IGUIElement... guiElements) {
77        for (int i = 0; i < guiElements.length; i++) {
78            for (int j = i; j < guiElements.length; j++) {
79                assertTrue(guiElements[i].equals(guiElements[j]));
80                assertTrue(guiElements[j].equals(guiElements[i]));
81                assertEquals(guiElements[i].hashCode(), guiElements[j].hashCode());
82            }
83        }
84    }
85
86    /**
87     * <p>
88     * TODO comment
89     * </p>
90     *
91     * @version $Revision: $ $Date: 24.08.2012$
92     * @author 2012, last modified by $Author: pharms$
93     */
94    public class AbstractDefaultGUIElementTestImpl extends AbstractDefaultGUIElement
95        implements IGUIElement
96    {
97
98        /**
99         * <p>
100         * TODO: comment
101         * </p>
102         *
103         * @param specification
104         * @param parent
105         */
106        public AbstractDefaultGUIElementTestImpl() {
107            super(null, null);
108        }
109
110        /**  */
111        private static final long serialVersionUID = 1L;
112
113        /* (non-Javadoc)
114         * @see de.ugoe.cs.autoquest.eventcore.IEventTarget#getPlatform()
115         */
116        @Override
117        public String getPlatform() {
118            return "TEST";
119        }
120
121        /* (non-Javadoc)
122         * @see de.ugoe.cs.autoquest.eventcore.guimodel.IGUIElement#updateSpecification(de.ugoe.cs.autoquest.eventcore.guimodel.IGUIElementSpec)
123         */
124        @Override
125        public void updateSpecification(IGUIElementSpec furtherSpec) {
126            throw new UnsupportedOperationException();
127        }
128
129        @Override
130        public String getStringIdentifier() {
131            return "DUMMY";
132        }
133
134    }
135
136}
Note: See TracBrowser for help on using the repository browser.