Statistics
| Revision:

root / branches / v2_0_0_prep / libraries / libTools / src-test / org / gvsig / tools / extensionpoint / TestExtensionPoints.java @ 24616

History | View | Annotate | Download (5.3 KB)

1
/* gvSIG. Geographic Information System of the Valencian Government
2
 *
3
 * Copyright (C) 2007-2008 Infrastructures and Transports Department
4
 * of the Valencian Gobernment (CIT)
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21
 */
22

    
23
/*
24
 * AUTHORS (In addition to CIT):
25
 */
26
package org.gvsig.tools.extensionpoint;
27

    
28
import java.util.Iterator;
29

    
30
import junit.framework.TestCase;
31

    
32
import org.gvsig.tools.extensionpoint.impl.DefaultExtensionPointManager;
33

    
34
public class TestExtensionPoints extends TestCase {
35

    
36
        protected void setUp() throws Exception {
37
            // Remove previous registered extension points, so other tests
38
        // don't affect the test validations.
39
                super.setUp();
40
        }
41

    
42
        protected void tearDown() throws Exception {
43
                super.tearDown();
44
        }
45

    
46
        public void test() {
47
                ExtensionPointManager manager = new DefaultExtensionPointManager();
48

    
49
                manager.add("LayerWizars").append("WMS", null,
50
                                UnaExtensionDePrueba1.class);
51
                manager.add("LayerWizars").append("WCS", null,
52
                                UnaExtensionDePrueba2.class);
53
                manager.add("OtherWizars").append("uno", null,
54
                                UnaExtensionDePrueba1.class);
55
                manager.add("OtherWizars").append("dos", null,
56
                                UnaExtensionDePrueba2.class);
57

    
58
                // Comprobamos que el orden de las extensiones es el que hemos fijado.
59
                ExtensionPoint x = manager.get("LayerWizars");
60
                Iterator i = x.iterator();
61
                String[] nombres = {"WMS", "WCS" };
62
                int n = 0;
63
                while( i.hasNext() ) {
64
                        String nombre = (String)i.next();
65
                        assertTrue(nombres[n].equals(nombre));
66
                        n++;
67
                }
68

    
69

    
70
                ExtensionPoint extensionPointLayerWizars;
71
                extensionPointLayerWizars = manager.get("LayerWizars");
72
                assertTrue(extensionPointLayerWizars.has("WMS"));
73
                assertTrue(extensionPointLayerWizars.has("WCS"));
74

    
75
                assertEquals(manager.getCount(), 2);
76
                assertEquals(extensionPointLayerWizars.getCount(), 2);
77

    
78
                ExtensionPoint extensionPointLayerWizars2 = manager.create(
79
                                "LayerWizars", null);
80

    
81

    
82
                extensionPointLayerWizars2.append("File", null,
83
                                UnaExtensionDePrueba3.class);
84
                extensionPointLayerWizars2.append("JDBC", null,
85
                                UnaExtensionDePrueba4.class);
86

    
87
                manager.add(extensionPointLayerWizars2);
88

    
89
                extensionPointLayerWizars = manager.get("LayerWizars");
90
                assertEquals(manager.getCount(), 2);
91
                assertEquals(extensionPointLayerWizars.getCount(), 4);
92
                assertEquals(manager.get("OtherWizars").getCount(), 2);
93

    
94
                assertTrue(extensionPointLayerWizars.has("WMS"));
95
                assertTrue(extensionPointLayerWizars.has("WCS"));
96
                assertTrue(extensionPointLayerWizars.has("File"));
97
                assertTrue(extensionPointLayerWizars.has("JDBC"));
98

    
99
                assertEquals((extensionPointLayerWizars.get("JDBC")),UnaExtensionDePrueba4.class);
100
                assertEquals((extensionPointLayerWizars.get("WMS")),UnaExtensionDePrueba1.class);
101

    
102
                assertEquals(manager.get("OtherWizars").get("uno"),
103
                                UnaExtensionDePrueba1.class);
104

    
105
                ExtensionPoint extensionPointOther2 = manager.create("OtherWizars",
106
                                null);
107
                extensionPointOther2.append("tres", null, UnaExtensionDePrueba3.class);
108
                extensionPointOther2
109
                                .append("cuatro", null, UnaExtensionDePrueba4.class);
110

    
111
                manager.add(extensionPointOther2);
112

    
113
                ExtensionPoint extensionPointOther = manager.get("OtherWizars");
114
                assertEquals(manager.getCount(), 2);
115
                assertEquals(extensionPointLayerWizars.getCount(), 4);
116
                assertEquals(extensionPointOther.getCount(), 4);
117

    
118
                assertTrue(extensionPointOther.has("uno"));
119
                assertTrue(extensionPointOther.has("dos"));
120
                assertTrue(extensionPointOther.has("tres"));
121
                assertTrue(extensionPointOther.has("cuatro"));
122

    
123
                assertEquals((extensionPointOther.get("tres")),UnaExtensionDePrueba3.class);
124
                assertEquals((extensionPointOther.get("dos")),UnaExtensionDePrueba2.class);
125

    
126
                assertEquals(manager.get("Ninguno"), null);
127
        }
128

    
129
        public void testSingleton() {
130
                ExtensionPointManager manager1 = DefaultExtensionPointManager
131
                                .getManager();
132

    
133
                manager1.add("LayerWizars").append("WMS", null,
134
                                UnaExtensionDePrueba1.class);
135
                manager1.add("LayerWizars").append("WCS", null,
136
                                UnaExtensionDePrueba2.class);
137
                manager1.add("OtherWizars").append("uno", null,
138
                                UnaExtensionDePrueba1.class);
139
                manager1.add("OtherWizars").append("dos", null,
140
                                UnaExtensionDePrueba2.class);
141

    
142
                ExtensionPointManager manager2 = DefaultExtensionPointManager
143
                                .getManager();
144
                assertEquals(2, manager2.getCount());
145

    
146
                ExtensionPoint extensionPointLayerWizars;
147
                extensionPointLayerWizars = manager2.get("LayerWizars");
148
                assertTrue(extensionPointLayerWizars.has("WMS"));
149
                assertTrue(extensionPointLayerWizars.has("WCS"));
150
        }
151
}
152

    
153
class UnaExtensionDePrueba1 {
154
    public UnaExtensionDePrueba1() {
155
                ;
156
        }
157
}
158
class UnaExtensionDePrueba2 {
159
        public UnaExtensionDePrueba2() {
160
        }
161
}
162

    
163
class UnaExtensionDePrueba3 {
164
        public UnaExtensionDePrueba3() {
165
        }
166
}
167

    
168
class UnaExtensionDePrueba4 {
169
        public UnaExtensionDePrueba4() {
170
        }
171
}