Statistics
| Revision:

svn-gvsig-desktop / trunk / libraries / libTools / src-test / org / gvsig / tools / extensionPoint / TestExtensionPoints.java @ 23216

History | View | Annotate | Download (5.44 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
public class TestExtensionPoints extends TestCase {
33

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

    
41
        protected void tearDown() throws Exception {
42
                super.tearDown();
43
        }
44
        
45
        public void test() {
46
                ExtensionPoints extensionPoints = new ExtensionPoints();
47
                
48
                extensionPoints.add("LayerWizars","WMS",UnaExtensionDePrueba1.class);
49
                extensionPoints.add("LayerWizars","WCS",UnaExtensionDePrueba2.class);
50
                extensionPoints.add("OtherWizars","uno",UnaExtensionDePrueba1.class);
51
                extensionPoints.add("OtherWizars","dos",UnaExtensionDePrueba2.class);
52
                
53
                // Comprobamos que el orden de las extensiones es el que hemos fijado.
54
                ExtensionPoint x = (ExtensionPoint)extensionPoints.get("LayerWizars");
55
                Iterator i =x.keySet().iterator();
56
                String[] nombres = {"WMS", "WCS" };
57
                int n = 0;
58
                while( i.hasNext() ) {
59
                        String nombre = (String)i.next();
60
                        assertTrue(nombres[n].equals(nombre));
61
                        n++;        
62
                }
63
                                
64
                
65
                ExtensionPoint extensionPointLayerWizars;
66
                extensionPointLayerWizars = (ExtensionPoint)extensionPoints.get("LayerWizars");
67
                assertTrue(extensionPointLayerWizars.containsKey("WMS"));
68
                assertTrue(extensionPointLayerWizars.containsKey("WCS"));
69
                
70
                assertEquals(extensionPoints.size(),2);
71
                assertEquals(extensionPointLayerWizars.size(),2);
72
                
73
                ExtensionPoint extensionPointLayerWizars2 = new ExtensionPoint("LayerWizars");
74
                
75
                
76
                extensionPointLayerWizars2.put("File",UnaExtensionDePrueba3.class);
77
                extensionPointLayerWizars2.put("JDBC",UnaExtensionDePrueba4.class);
78
                
79
                extensionPoints.put("LayerWizars",extensionPointLayerWizars2);
80
                
81
                extensionPointLayerWizars = (ExtensionPoint)extensionPoints.get("LayerWizars");
82
                assertEquals(extensionPoints.size(),2);
83
                assertEquals(extensionPointLayerWizars.size(),4);
84
                assertEquals(((ExtensionPoint)extensionPoints.get("OtherWizars")).size(),2);
85
                
86
                assertTrue(extensionPointLayerWizars.containsKey("WMS"));
87
                assertTrue(extensionPointLayerWizars.containsKey("WCS"));
88
                assertTrue(extensionPointLayerWizars.containsKey("File"));
89
                assertTrue(extensionPointLayerWizars.containsKey("JDBC"));
90
                
91
                assertEquals((extensionPointLayerWizars.get("JDBC")),UnaExtensionDePrueba4.class);
92
                assertEquals((extensionPointLayerWizars.get("WMS")),UnaExtensionDePrueba1.class);
93
                
94
                assertEquals(((ExtensionPoint)extensionPoints.get("OtherWizars")).get("uno"),UnaExtensionDePrueba1.class);
95
                
96
                ExtensionPoint extensionPointOther2 = new ExtensionPoint("OtherWizars");
97
                extensionPointOther2.put("tres",UnaExtensionDePrueba3.class);
98
                extensionPointOther2.put("cuatro",UnaExtensionDePrueba4.class);
99
                
100
                extensionPoints.put(extensionPointOther2);
101
                
102
                ExtensionPoint extensionPointOther = (ExtensionPoint)extensionPoints.get("OtherWizars");
103
                assertEquals(extensionPoints.size(),2);
104
                assertEquals(extensionPointLayerWizars.size(),4);
105
                assertEquals(extensionPointOther.size(),4);
106
                
107
                assertTrue(extensionPointOther.containsKey("uno"));
108
                assertTrue(extensionPointOther.containsKey("dos"));
109
                assertTrue(extensionPointOther.containsKey("tres"));
110
                assertTrue(extensionPointOther.containsKey("cuatro"));
111
                
112
                assertEquals((extensionPointOther.get("tres")),UnaExtensionDePrueba3.class);
113
                assertEquals((extensionPointOther.get("dos")),UnaExtensionDePrueba2.class);
114
                
115
                assertEquals(extensionPoints.get("Ninguno"),null);
116
        }
117

    
118
        public void testSingleton() {
119
                ExtensionPoints extensionPoints1 = ExtensionPointsSingleton.getInstance();
120

    
121
                extensionPoints1.add("LayerWizars","WMS",UnaExtensionDePrueba1.class);
122
                extensionPoints1.add("LayerWizars","WCS",UnaExtensionDePrueba2.class);
123
                extensionPoints1.add("OtherWizars","uno",UnaExtensionDePrueba1.class);
124
                extensionPoints1.add("OtherWizars","dos",UnaExtensionDePrueba2.class);
125
                
126
                ExtensionPoints extensionPoints2 = ExtensionPointsSingleton.getInstance();
127
                assertEquals(2, extensionPoints2.size());
128

    
129
                ExtensionPoint extensionPointLayerWizars;
130
                extensionPointLayerWizars = (ExtensionPoint)extensionPoints2.get("LayerWizars");
131
                assertTrue(extensionPointLayerWizars.containsKey("WMS"));
132
                assertTrue(extensionPointLayerWizars.containsKey("WCS"));
133
        }
134
}
135

    
136
class UnaExtensionDePrueba1 {
137
    public UnaExtensionDePrueba1() {
138
                ;
139
        }
140
}
141
class UnaExtensionDePrueba2 {
142
        public UnaExtensionDePrueba2() {
143
        }
144
}
145

    
146
class UnaExtensionDePrueba3 {
147
        public UnaExtensionDePrueba3() {
148
        }
149
}
150

    
151
class UnaExtensionDePrueba4 {
152
        public UnaExtensionDePrueba4() {
153
        }
154
}