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

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