Revision 11379

View differences:

trunk/libraries/libGPE/src-test/org/gvsig/gpe/writers/GPELineStringLayerTest.java
1 1
package org.gvsig.gpe.writers;
2 2

  
3
import org.gvsig.gpe.containers.Element;
4
import org.gvsig.gpe.containers.Feature;
5
import org.gvsig.gpe.containers.GeometryAsserts;
6
import org.gvsig.gpe.containers.Layer;
7
import org.gvsig.gpe.containers.LineString;
3 8

  
9

  
4 10
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
5 11
 *
6 12
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
......
45 51
 *
46 52
 * $Id$
47 53
 * $Log$
48
 * Revision 1.3  2007-04-19 11:50:20  csanchez
54
 * Revision 1.4  2007-04-26 14:39:12  jorpiell
55
 * Add some tests
56
 *
57
 * Revision 1.3  2007/04/19 11:50:20  csanchez
49 58
 * Actualizacion protoripo libGPE
50 59
 *
51 60
 * Revision 1.2  2007/04/14 16:06:35  jorpiell
......
60 69
 * @author Jorge Piera LLodr? (jorge.piera@iver.es)
61 70
 */
62 71
public abstract class GPELineStringLayerTest extends GPEWriterBaseTest{
63

  
72
	private String layerId = "l1";
73
	private String layerName = "Line String Layer";
74
	private String layerDescription = "This is a line string test";
75
	private String srs = "EPSG:23030";
76
	private String bboxId = "bboxID";
77
	private double[] bboxX = generateRandomBBox();
78
	private double[] bboxY = generateRandomBBox();
79
	private double[] bboxZ = generateRandomBBox();
80
	private String element1Name = "LENGTH";
81
	private String feature1Name = "Turia";
82
	private String feature1Id = "f1";
83
	private String lineString1Id = "p1";
84
	private double[] lineString1X = generateRandomCoordinates();
85
	private double[] lineString1Y = generateRandomCoordinates();
86
	private double[] lineString1Z = generateRandomCoordinates();
87
	private Integer element11Value = new Integer(200);
88
	private String feature2Name = "Los Angeles";
89
	private String feature2Id = "f2";
90
	private String lineString2Id = "p2";
91
	private double[] lineString2X = generateRandomCoordinates();
92
	private double[] lineString2Y = generateRandomCoordinates();
93
	private double[] lineString2Z = generateRandomCoordinates();
94
	private Integer element21Value = new Integer(50000);	
95
	
64 96
	/*
65 97
	 * (non-Javadoc)
66 98
	 * @see org.gvsig.gpe.writers.GPEWriterBaseTest#readObjects()
67 99
	 */
68 100
	public void readObjects() {
69
		// TODO Auto-generated method stub
101
		Layer[] layers = getLayers();
102
		assertEquals(layers.length, 1);		
103
		Layer layer = layers[0];
104
		if (hasLayerID()){
105
			assertEquals(layer.getId(),layerId);
106
		}
107
		if (hasLayerName()){
108
			assertEquals(layer.getName(),layerName);
109
		}
110
		if (hasLayerDescription()){
111
			assertEquals(layer.getDescription(),layerDescription);
112
		}
113
		if (hasLayerBbox()){
114
			GeometryAsserts.bbox(layer.getBbox(),bboxX,bboxY,bboxZ);
115
		}
116
		assertEquals(layer.getFeatures().size(), 2);
117
		//FEATURE 1
118
		Feature feature1 = (Feature)layer.getFeatures().get(0);
119
		GeometryAsserts.lineString((LineString)feature1.getGeometry(), lineString1X, lineString1Y, lineString1Z);
120
		if (hasFeatureID()){
121
			assertEquals(feature1.getId(), feature1Id);
122
		}
123
		if (hasFeatureName()){
124
			assertEquals(feature1.getName(), feature1Name);
125
		}
126
		if (hasFeatureElements()){
127
		assertEquals(feature1.getElements().size(),1);
128
		//ELEMENT 1.1
129
			Element element11 = (Element)feature1.getElements().get(0);
130
			assertEquals(element11.getValue(), element11Value);
131
		}
132
//		FEATURE 2
133
		Feature feature2 = (Feature)layer.getFeatures().get(1);
134
		GeometryAsserts.lineString((LineString)feature2.getGeometry(), lineString2X, lineString2Y, lineString2Z);
135
		if (hasFeatureID()){
136
			assertEquals(feature2.getId(), feature2Id);
137
		}
138
		if (hasFeatureName()){
139
			assertEquals(feature2.getName(), feature2Name);
140
		}
141
		if (hasFeatureElements()){
142
		assertEquals(feature1.getElements().size(),1);
143
		//ELEMENT 2.1
144
			Element element21 = (Element)feature1.getElements().get(0);
145
			assertEquals(element21.getValue(), element21Value);
146
		}
70 147
		
71 148
	}
72 149

  
......
76 153
	 */
77 154
	public void writeObjects() {
78 155
		getWriterHandler().initialize();
79
		getWriterHandler().startLayer("1", "Rivers", "Line string layer test", "23030");
80
		getWriterHandler().startBbox("bbox", generateRandomBBox(),
81
				generateRandomBBox(),
82
				generateRandomBBox(),
83
				"23030");
156
		getWriterHandler().startLayer(layerId, layerName, layerDescription, srs);
157
		getWriterHandler().startBbox(bboxId, bboxX,
158
				bboxY,
159
				bboxZ,
160
				srs);
84 161
		getWriterHandler().endBbox();
85
		getWriterHandler().startFeature("Turia","1");
86
		getWriterHandler().startElement("LENGHT", new Integer("150"), Integer.class);
162
		getWriterHandler().startFeature(feature1Id,feature1Name);
163
		getWriterHandler().startElement(element1Name, element11Value, Integer.class);
87 164
		getWriterHandler().endElement();
88
		getWriterHandler().startLineString("p1", generateRandomCoordinates(),
89
				generateRandomCoordinates(),
90
				generateRandomCoordinates(), "EPSG:23030");
165
		getWriterHandler().startLineString(lineString1Id,
166
				lineString1X,
167
				lineString1Y,
168
				lineString1Z, 
169
				srs);
91 170
		getWriterHandler().endLineString();		
92 171
		getWriterHandler().endFeature();
93
		getWriterHandler().startFeature("Ebro","2");
94
		getWriterHandler().startElement("LENGHT", new Integer("300"), Integer.class);
172
		getWriterHandler().startFeature(feature2Id,feature2Name);
173
		getWriterHandler().startElement(element1Name, element21Value, Integer.class);
95 174
		getWriterHandler().endElement();
96
		getWriterHandler().startLineString("p1", generateRandomCoordinates(),
97
				generateRandomCoordinates(),
98
				generateRandomCoordinates(), "EPSG:23030");
175
		getWriterHandler().startLineString(lineString2Id, 
176
				lineString2X,
177
				lineString2Y,
178
				lineString2Z, 
179
				srs);
99 180
		getWriterHandler().endLineString();		
100 181
		getWriterHandler().endFeature();
101 182
		getWriterHandler().endLayer();
102 183
		getWriterHandler().close();		
103 184
	}
104

  
105 185
}
trunk/libraries/libGPE/src-test/org/gvsig/gpe/writers/GPEMultiPolygonLayerTest.java
45 45
 *
46 46
 * $Id$
47 47
 * $Log$
48
 * Revision 1.3  2007-04-19 11:50:20  csanchez
48
 * Revision 1.4  2007-04-26 14:39:12  jorpiell
49
 * Add some tests
50
 *
51
 * Revision 1.3  2007/04/19 11:50:20  csanchez
49 52
 * Actualizacion protoripo libGPE
50 53
 *
51 54
 * Revision 1.2  2007/04/14 16:06:35  jorpiell
......
61 64
 */
62 65
public abstract class GPEMultiPolygonLayerTest extends GPEWriterBaseTest{
63 66

  
67

  
64 68
	/*
65 69
	 * (non-Javadoc)
66 70
	 * @see org.gvsig.gpe.writers.GPEWriterBaseTest#readObjects()
......
82 86
				generateRandomBBox(),
83 87
				"23030");
84 88
		getWriterHandler().endBbox();
85
		getWriterHandler().startFeature("Valencia","f1");
89
		getWriterHandler().startFeature("f1","Valencia");
86 90
		getWriterHandler().startElement("AREA", new Integer("200"), Integer.class);
87 91
		getWriterHandler().endElement();
88 92
		getWriterHandler().startMultiPolygon("mp1", "EPSG:23030");
trunk/libraries/libGPE/src-test/org/gvsig/gpe/writers/GPEMultiPointLayerTest.java
45 45
 *
46 46
 * $Id$
47 47
 * $Log$
48
 * Revision 1.3  2007-04-19 11:50:20  csanchez
48
 * Revision 1.4  2007-04-26 14:39:12  jorpiell
49
 * Add some tests
50
 *
51
 * Revision 1.3  2007/04/19 11:50:20  csanchez
49 52
 * Actualizacion protoripo libGPE
50 53
 *
51 54
 * Revision 1.2  2007/04/14 16:06:35  jorpiell
......
60 63
 * @author Jorge Piera LLodr? (jorge.piera@iver.es)
61 64
 */
62 65
public abstract class GPEMultiPointLayerTest extends GPEWriterBaseTest{
63
		
64 66
	/*
65 67
	 * (non-Javadoc)
66 68
	 * @see org.gvsig.gpe.writers.GPEWriterBaseTest#readObjects()
......
81 83
				generateRandomBBox(),
82 84
				"23030");
83 85
		getWriterHandler().endBbox();
84
		getWriterHandler().startFeature("Spain","f1");
86
		getWriterHandler().startFeature("f1","Spain");
85 87
		getWriterHandler().startElement("POPULATION", new Integer("300000"), Integer.class);
86 88
		getWriterHandler().endElement();
87 89
		getWriterHandler().startMultiPoint("mp1", "EPSG:23030");
trunk/libraries/libGPE/src-test/org/gvsig/gpe/writers/GPEMultiLineStringLayerTest.java
43 43
 *
44 44
 * $Id$
45 45
 * $Log$
46
 * Revision 1.2  2007-04-14 16:06:35  jorpiell
46
 * Revision 1.3  2007-04-26 14:39:12  jorpiell
47
 * Add some tests
48
 *
49
 * Revision 1.2  2007/04/14 16:06:35  jorpiell
47 50
 * Add the container classes
48 51
 *
49 52
 * Revision 1.1  2007/04/13 13:14:55  jorpiell
......
77 80
				generateRandomBBox(),
78 81
				"23030");
79 82
		getWriterHandler().endBbox();
80
		getWriterHandler().startFeature("Spain Rivers","f1");
83
		getWriterHandler().startFeature("f1","Spain Rivers");
81 84
		getWriterHandler().startElement("NUMBER", new Integer("2"), Integer.class);
82 85
		getWriterHandler().endElement();
83 86
		getWriterHandler().startMultiLineString("ml1", "EPSG:23030");
trunk/libraries/libGPE/src-test/org/gvsig/gpe/writers/GPELinearRingLayerTest.java
45 45
 *
46 46
 * $Id$
47 47
 * $Log$
48
 * Revision 1.3  2007-04-19 11:50:20  csanchez
48
 * Revision 1.4  2007-04-26 14:39:12  jorpiell
49
 * Add some tests
50
 *
51
 * Revision 1.3  2007/04/19 11:50:20  csanchez
49 52
 * Actualizacion protoripo libGPE
50 53
 *
51 54
 * Revision 1.2  2007/04/14 16:06:35  jorpiell
......
75 78
				generateRandomBBox(),
76 79
				"23030");
77 80
		getWriterHandler().endBbox();
78
		getWriterHandler().startFeature("Valencia","f1");
81
		getWriterHandler().startFeature("f1","Valencia");
79 82
		getWriterHandler().startElement("AREA", new Integer("200"), Integer.class);
80 83
		getWriterHandler().endElement();
81 84
		getWriterHandler().startLinearRing("lr1", generateRandomLinearRing(),
trunk/libraries/libGPE/src-test/org/gvsig/gpe/writers/GPEMultiLayerTest.java
43 43
 *
44 44
 * $Id$
45 45
 * $Log$
46
 * Revision 1.1  2007-04-14 16:06:35  jorpiell
46
 * Revision 1.2  2007-04-26 14:39:12  jorpiell
47
 * Add some tests
48
 *
49
 * Revision 1.1  2007/04/14 16:06:35  jorpiell
47 50
 * Add the container classes
48 51
 *
49 52
 *
......
73 76
					generateRandomBBox(),
74 77
					"23030");
75 78
			getWriterHandler().endBbox();
76
			getWriterHandler().startFeature("Spain","f1");
79
			getWriterHandler().startFeature("f1","Spain");
77 80
			getWriterHandler().startPoint("p1", 1, 1, 1, "EPSG:23030");
78 81
			getWriterHandler().endPoint();		
79 82
			getWriterHandler().endFeature();
trunk/libraries/libGPE/src-test/org/gvsig/gpe/writers/GPEPolygonsLayerTest.java
1 1
package org.gvsig.gpe.writers;
2 2

  
3
import org.gvsig.gpe.containers.Element;
4
import org.gvsig.gpe.containers.Feature;
5
import org.gvsig.gpe.containers.GeometryAsserts;
6
import org.gvsig.gpe.containers.Layer;
7
import org.gvsig.gpe.containers.Polygon;
3 8

  
9

  
4 10
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
5 11
 *
6 12
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
......
45 51
 *
46 52
 * $Id$
47 53
 * $Log$
48
 * Revision 1.4  2007-04-19 11:50:20  csanchez
54
 * Revision 1.5  2007-04-26 14:39:12  jorpiell
55
 * Add some tests
56
 *
57
 * Revision 1.4  2007/04/19 11:50:20  csanchez
49 58
 * Actualizacion protoripo libGPE
50 59
 *
51 60
 * Revision 1.3  2007/04/14 16:06:35  jorpiell
......
63 72
 * @author Jorge Piera LLodr? (jorge.piera@iver.es)
64 73
 */
65 74
public abstract class GPEPolygonsLayerTest extends GPEWriterBaseTest{
66

  
75
	private String layerId = "l1";
76
	private String layerName = "Municipallity";
77
	private String layerDescription = "Polygons test layer";
78
	private String srs = "EPSG:23030";
79
	private String bboxId = "bboxID";
80
	private double[] bboxX = generateRandomBBox();
81
	private double[] bboxY = generateRandomBBox();
82
	private double[] bboxZ = generateRandomBBox();
83
	private String element1Name = "POPULATION";
84
	private String feature1Name = "Madrid";
85
	private String feature1Id = "f1";
86
	private String polygon1Id = "p1";
87
	private double[] polygon1X = generateRandomCoordinates();
88
	private double[] polygon1Y = generateRandomCoordinates();
89
	private double[] polygon1Z = generateRandomCoordinates();
90
	private String inner11Id = "inner11";
91
	private double[] inner11X = generateRandomCoordinates();
92
	private double[] inner11Y = generateRandomCoordinates();
93
	private double[] inner11Z = generateRandomCoordinates();
94
	private String inner12Id = "inner12";
95
	private double[] inner12X = generateRandomCoordinates();
96
	private double[] inner12Y = generateRandomCoordinates();
97
	private double[] inner12Z = generateRandomCoordinates();
98
	private Integer element11Value = new Integer(100000);
99
	private String feature2Name = "Valencia";
100
	private String feature2Id = "f2";
101
	private String polygon2Id = "p2";
102
	private double[] polygon2X = generateRandomCoordinates();
103
	private double[] polygon2Y = generateRandomCoordinates();
104
	private double[] polygon2Z = generateRandomCoordinates();
105
	private Integer element21Value = new Integer(800000);	
67 106
	/*
68 107
	 * (non-Javadoc)
69 108
	 * @see org.gvsig.gpe.writers.GPEWriterBaseTest#readObjects()
70 109
	 */
71 110
	public void readObjects() {
72
		// TODO Auto-generated method stub
111
		Layer[] layers = getLayers();
112
		assertEquals(layers.length, 1);		
113
		Layer layer = layers[0];
114
		if (hasLayerID()){
115
			assertEquals(layer.getId(),layerId);
116
		}
117
		if (hasLayerName()){
118
			assertEquals(layer.getName(),layerName);
119
		}
120
		if (hasLayerDescription()){
121
			assertEquals(layer.getDescription(),layerDescription);
122
		}
123
		if (hasLayerBbox()){
124
			GeometryAsserts.bbox(layer.getBbox(),bboxX,bboxY,bboxZ);
125
		}
126
		assertEquals(layer.getFeatures().size(), 2);
127
		//FEATURE 1
128
		Feature feature1 = (Feature)layer.getFeatures().get(0);
129
		GeometryAsserts.polygon((Polygon)feature1.getGeometry(), polygon1X, polygon1Y, polygon1Z);
130
		Polygon inner1 = (Polygon)((Polygon)feature1.getGeometry()).getInnerBoundary().get(0);
131
		GeometryAsserts.polygon(inner1, inner11X, inner11Y, inner11Z);
132
		Polygon inner2 = (Polygon)((Polygon)feature1.getGeometry()).getInnerBoundary().get(1);
133
		GeometryAsserts.polygon(inner2, inner12X, inner12Y, inner12Z);
134
		if (hasFeatureID()){
135
			assertEquals(feature1.getId(), feature1Id);
136
		}
137
		if (hasFeatureName()){
138
			assertEquals(feature1.getName(), feature1Name);
139
		}
140
		if (hasFeatureElements()){
141
		assertEquals(feature1.getElements().size(),1);
142
		//ELEMENT 1.1
143
			Element element11 = (Element)feature1.getElements().get(0);
144
			assertEquals(element11.getValue(), element11Value);
145
		}
146
//		FEATURE 2
147
		Feature feature2 = (Feature)layer.getFeatures().get(1);
148
		GeometryAsserts.polygon((Polygon)feature2.getGeometry(), polygon2X, polygon2Y, polygon2Z);
73 149
		
150
		if (hasFeatureID()){
151
			assertEquals(feature2.getId(), feature2Id);
152
		}
153
		if (hasFeatureName()){
154
			assertEquals(feature2.getName(), feature2Name);
155
		}
156
		if (hasFeatureElements()){
157
		assertEquals(feature1.getElements().size(),1);
158
		//ELEMENT 2.1
159
			Element element21 = (Element)feature1.getElements().get(0);
160
			assertEquals(element21.getValue(), element21Value);
161
		}
74 162
	}
75 163

  
76 164
	/*
......
79 167
	 */
80 168
	public void writeObjects() {
81 169
		getWriterHandler().initialize();
82
		getWriterHandler().startLayer("1", "Municipality", "Polygon layer test", "23030");
83
		getWriterHandler().startBbox("bbox", generateRandomBBox(),
84
				generateRandomBBox(),
85
				generateRandomBBox(),
86
				"23030");
170
		getWriterHandler().startLayer(layerId, layerName, layerDescription, srs);
171
		getWriterHandler().startBbox(bboxId, bboxX,
172
				bboxY,
173
				bboxZ,
174
				srs);
87 175
		getWriterHandler().endBbox();
88
		getWriterHandler().startFeature("Valencia","f1");
89
		getWriterHandler().startElement("AREA", new Integer("200"), Integer.class);
176
		getWriterHandler().startFeature(feature1Id,feature1Name);
177
		getWriterHandler().startElement(element1Name, element11Value, Integer.class);
90 178
		getWriterHandler().endElement();
91
		getWriterHandler().startPolygon("p1", generateRandomLinearRing(),
92
				generateRandomLinearRing(),
93
				generateRandomLinearRing(), "EPSG:23030");
94
		getWriterHandler().startInnerBoundary("inner1", generateRandomLinearRing(),
95
				generateRandomLinearRing(),
96
				generateRandomLinearRing(), "EPSG:23030");
179
		getWriterHandler().startPolygon(polygon1Id,
180
				polygon1X,
181
				polygon1Y,
182
				polygon1Z,
183
				srs);
184
		getWriterHandler().startInnerBoundary(inner11Id,
185
				inner11X,
186
				inner11Y,
187
				inner11Z,
188
				srs);
97 189
		getWriterHandler().endInnerBoundary();
98
		getWriterHandler().startInnerBoundary("inner2", generateRandomLinearRing(),
99
				generateRandomLinearRing(),
100
				generateRandomLinearRing(), "EPSG:23030");
190
		getWriterHandler().startInnerBoundary(inner12Id,
191
				inner12X,
192
				inner12Y,
193
				inner12Z,
194
				srs);
101 195
		getWriterHandler().endInnerBoundary();
102 196
		getWriterHandler().endPolygon();		
103 197
		getWriterHandler().endFeature();
104
		getWriterHandler().startFeature("Sagunto","f2");
105
		getWriterHandler().startElement("AREA", new Integer("300"), Integer.class);
198
		getWriterHandler().startFeature(feature2Id,feature2Name);
199
		getWriterHandler().startElement(element1Name, element21Value, Integer.class);
106 200
		getWriterHandler().endElement();
107
		getWriterHandler().startPolygon("p2", generateRandomLinearRing(),
108
				generateRandomLinearRing(),
109
				generateRandomLinearRing(), "EPSG:23030");
201
		getWriterHandler().startPolygon(polygon2Id,
202
				polygon2X,
203
				polygon2Y,
204
				polygon2Z,
205
				srs);
110 206
		getWriterHandler().endPolygon();		
111 207
		getWriterHandler().endFeature();
112 208
		getWriterHandler().endLayer();
trunk/libraries/libGPE/src-test/org/gvsig/gpe/writers/GPEWriterBaseTest.java
58 58
 *
59 59
 * $Id$
60 60
 * $Log$
61
 * Revision 1.5  2007-04-19 11:50:20  csanchez
61
 * Revision 1.6  2007-04-26 14:39:12  jorpiell
62
 * Add some tests
63
 *
64
 * Revision 1.5  2007/04/19 11:50:20  csanchez
62 65
 * Actualizacion protoripo libGPE
63 66
 *
64 67
 * Revision 1.4  2007/04/19 07:23:20  jorpiell
......
88 91
	private GPEContentHandler contenHandler = null;
89 92
	private GPEErrorHandler errorHandler = null;
90 93
	private GPEParser parser = null;
94
	private File outputFile = null;
91 95
	
92 96
	/**
93 97
	 * Register the driver and gets the handler
......
109 113
	 * Delete the file
110 114
	 */
111 115
	public void tearDown(){
112
		//fileTemp.delete();
116
		outputFile.delete();
113 117
	}
114 118
	
115 119
	/**
......
120 124
	 */
121 125
	public void testWriter() throws Exception{
122 126
		writeObjects();
123
		File outputFile = writerHandler.getOutputFile();
127
		outputFile = writerHandler.getOutputFile();
124 128
		//The file must exist
125 129
		parser = GPERegister.createParser(outputFile);
126 130
		parser.parse(getContenHandler(),getErrorHandler() ,outputFile);
......
204 208
	public String getVersion(){
205 209
		return null;
206 210
	}
211
	
207 212
	/**
213
	 * It creates a random point
214
	 * @param length
215
	 * @return
216
	 */
217
	protected double generateRandomPoint(){
218
		return Math.random();		
219
	}
220
	
221
	/**
208 222
	 * It creates a Random bbox coordinates. It return 
209 223
	 * 10 coordinates 
210 224
	 * @return
......
222 236
	protected double[] generateRandomCoordinates(int length){
223 237
		double[] coord = new double[length];
224 238
		for (int i=0 ; i<coord.length ; i++){
225
			coord[i] = Math.random();
239
			coord[i] = generateRandomPoint();
226 240
		}
227 241
		return coord;
228 242
	}
......
236 250
		return generateRandomLinearRing(10);
237 251
	}
238 252
	
239
	
240 253
	/**
241 254
	 * It creates a random linear ring
242 255
	 * @param length
......
245 258
	protected double[] generateRandomLinearRing(int length){
246 259
		double[] coord = new double[length];
247 260
		for (int i=0 ; i<coord.length-1 ; i++){
248
			coord[i] = Math.random();
261
			coord[i] = generateRandomPoint();
249 262
		}
250 263
		coord[length-1] = coord[0];
251 264
		return coord;
......
258 271
	protected double[] generateRandomBBox(){
259 272
		double[] coord = new double[2];
260 273
		for (int i=0 ; i<coord.length ; i++){
261
			coord[i] = Math.random();
274
			coord[i] = generateRandomPoint();
262 275
		}
263 276
		return coord;
264 277
	}
......
313 326
		}
314 327
		return aLayers;
315 328
	}
329
	
330
	/**
331
	 * Return true if the format support layer ID
332
	 * @return
333
	 */
334
	public boolean hasLayerID(){
335
		return true;
336
	}
337
	
338
	/**
339
	 * Return true if the format support layer Name
340
	 * @return
341
	 */
342
	public boolean hasLayerName(){
343
		return true;
344
	}
345
	
346
	/**
347
	 * Return true if the format support layer Name
348
	 * @return
349
	 */
350
	public boolean hasLayerDescription(){
351
		return true;
352
	}
353
	
354
	/**
355
	 * Return true if the format support layer bbox
356
	 * @return
357
	 */
358
	public boolean hasLayerBbox(){
359
		return true;
360
	}
361
	
362
	/**
363
	 * Return true if the format support feature id
364
	 * @return
365
	 */
366
	public boolean hasFeatureID(){
367
		return true;
368
	}
369
	
370
	/**
371
	 * Return true if the format support feature id
372
	 * @return
373
	 */
374
	public boolean hasFeatureName(){
375
		return true;
376
	}
377
	
378
	/**
379
	 * Return true if the format support feature elements
380
	 * @return
381
	 */
382
	public boolean hasFeatureElements(){
383
		return true;
384
	}
385
	
386
	/**
387
	 * Return true if the format support feature elements
388
	 * @return
389
	 */
390
	public boolean hasGeometryID(){
391
		return false;
392
	}
316 393
}
trunk/libraries/libGPE/src-test/org/gvsig/gpe/writers/GPEPointsLayerTest.java
2 2

  
3 3
import org.gvsig.gpe.containers.Element;
4 4
import org.gvsig.gpe.containers.Feature;
5
import org.gvsig.gpe.containers.GeometryAsserts;
5 6
import org.gvsig.gpe.containers.Layer;
7
import org.gvsig.gpe.containers.Point;
6 8

  
7 9
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
8 10
 *
......
48 50
 *
49 51
 * $Id$
50 52
 * $Log$
51
 * Revision 1.4  2007-04-19 11:50:20  csanchez
53
 * Revision 1.5  2007-04-26 14:39:12  jorpiell
54
 * Add some tests
55
 *
56
 * Revision 1.4  2007/04/19 11:50:20  csanchez
52 57
 * Actualizacion protoripo libGPE
53 58
 *
54 59
 * Revision 1.3  2007/04/19 07:23:20  jorpiell
......
69 74
	private String layerId = "l1";
70 75
	private String layerName = "Points Layer";
71 76
	private String layerDescription = "This is a test of a points layer";
77
	private String srs = "EPSG:23030";
78
	private String bboxId = "bboxID";
72 79
	private double[] bboxX = generateRandomBBox();
73 80
	private double[] bboxY = generateRandomBBox();
74 81
	private double[] bboxZ = generateRandomBBox();
82
	private String element1Name = "POPULATION";
75 83
	private String feature1Name = "New York";
76 84
	private String feature1Id = "f1";
77
	private String element1 = "POPULATION";
85
	private String point1Id = "p1";
86
	private double point1X = generateRandomPoint();
87
	private double point1Y = generateRandomPoint();
88
	private double point1Z = generateRandomPoint();
89
	private Integer element11Value = new Integer(30000);
90
	private String feature2Name = "Los Angeles";
91
	private String feature2Id = "f2";
92
	private String point2Id = "p2";
93
	private double point2X = generateRandomPoint();
94
	private double point2Y = generateRandomPoint();
95
	private double point2Z = generateRandomPoint();
96
	private Integer element21Value = new Integer(50000);	
78 97
	
79 98
	/*
80 99
	 * (non-Javadoc)
......
82 101
	 */
83 102
	public void readObjects() {
84 103
		Layer[] layers = getLayers();
85
		assertEquals(layers.length, 1);
86
		
104
		assertEquals(layers.length, 1);		
87 105
		Layer layer = layers[0];
88
		assertEquals(layer.getName(),layerName);
89
		assertEquals(layer.getDescription(),layerDescription);
90
//		assertEquals(layer.getId(),layerId);
91
//		assertEquals(layer.getBbox().getX(),bboxX);
92
//		assertEquals(layer.getBbox().getY(),bboxY);
93
//		assertEquals(layer.getBbox().getZ(),bboxZ);
106
		if (hasLayerID()){
107
			assertEquals(layer.getId(),layerId);
108
		}
109
		if (hasLayerName()){
110
			assertEquals(layer.getName(),layerName);
111
		}
112
		if (hasLayerDescription()){
113
			assertEquals(layer.getDescription(),layerDescription);
114
		}
115
		if (hasLayerBbox()){
116
			GeometryAsserts.bbox(layer.getBbox(),bboxX,bboxY,bboxZ);
117
		}
94 118
		assertEquals(layer.getFeatures().size(), 2);
119
		//FEATURE 1
95 120
		Feature feature1 = (Feature)layer.getFeatures().get(0);
96
//		assertEquals(feature1.getId(), feature1Id);
97
		assertEquals(feature1.getName(), feature1Name);
98
		Element element11 = (Element)feature1.getElements().get(0);
121
		GeometryAsserts.point((Point)feature1.getGeometry(), point1X, point1Y, point1Z);
122
		if (hasFeatureID()){
123
			assertEquals(feature1.getId(), feature1Id);
124
		}
125
		if (hasFeatureName()){
126
			assertEquals(feature1.getName(), feature1Name);
127
		}
128
		if (hasFeatureElements()){
129
		assertEquals(feature1.getElements().size(),1);
130
		//ELEMENT 1.1
131
			Element element11 = (Element)feature1.getElements().get(0);
132
			assertEquals(element11.getValue(), element11Value);
133
		}
134
//		FEATURE 2
135
		Feature feature2 = (Feature)layer.getFeatures().get(1);
136
		GeometryAsserts.point((Point)feature2.getGeometry(), point2X, point2Y, point2Z);
137
		if (hasFeatureID()){
138
			assertEquals(feature2.getId(), feature2Id);
139
		}
140
		if (hasFeatureName()){
141
			assertEquals(feature2.getName(), feature2Name);
142
		}		
143
		if (hasFeatureElements()){
144
		assertEquals(feature1.getElements().size(),1);
145
		//ELEMENT 2.1
146
			Element element21 = (Element)feature1.getElements().get(0);
147
			assertEquals(element21.getValue(), element21Value);
148
		}
99 149
	}
100 150

  
101 151
	/*
......
104 154
	 */
105 155
	public void writeObjects() {
106 156
		getWriterHandler().initialize();
107
		getWriterHandler().startLayer(layerId, layerName, layerDescription, "23030");
108
		getWriterHandler().startBbox("bbox", bboxX,
157
		getWriterHandler().startLayer(layerId, layerName, layerDescription, srs);
158
		getWriterHandler().startBbox(bboxId, bboxX,
109 159
				bboxY,
110 160
				bboxZ,
111
				"23030");
161
				srs);
112 162
		getWriterHandler().endBbox();
113
		getWriterHandler().startFeature(feature1Name,feature1Id);
114
		getWriterHandler().startElement("POPULATION", new Integer("300000"), Integer.class);
163
		getWriterHandler().startFeature(feature1Id,feature1Name);
164
		getWriterHandler().startElement(element1Name, element11Value, Integer.class);
115 165
		getWriterHandler().endElement();
116
		getWriterHandler().startPoint("p1", 2, 2, 2, "EPSG:23030");
166
		getWriterHandler().startPoint(point1Id, point1X, point1Y, point1Z, srs);
117 167
		getWriterHandler().endPoint();		
118 168
		getWriterHandler().endFeature();
119
		getWriterHandler().startFeature("Los Angeles","2");
120
		getWriterHandler().startElement("POPULATION", new Integer("400000"), Integer.class);
169
		getWriterHandler().startFeature(feature2Id,feature2Name);
170
		getWriterHandler().startElement(element1Name, element21Value, Integer.class);
121 171
		getWriterHandler().endElement();
122
		getWriterHandler().startPoint("p1", 1, 1, 1, "EPSG:23030");
172
		getWriterHandler().startPoint(point2Id, point2X, point2Y, point2Z, srs);
123 173
		getWriterHandler().endPoint();		
124 174
		getWriterHandler().endFeature();
125 175
		getWriterHandler().endLayer();
trunk/libraries/libGPE/src-test/org/gvsig/gpe/GPEContentHandlerTest.java
55 55
 *
56 56
 * $Id$
57 57
 * $Log$
58
 * Revision 1.5  2007-04-19 07:23:20  jorpiell
58
 * Revision 1.6  2007-04-26 14:39:12  jorpiell
59
 * Add some tests
60
 *
61
 * Revision 1.5  2007/04/19 07:23:20  jorpiell
59 62
 * Add the add methods to teh contenhandler and change the register mode
60 63
 *
61 64
 * Revision 1.4  2007/04/17 07:53:55  jorpiell
......
86 89
		return layers;
87 90
	}
88 91

  
89
	public Object startFeature(String name, String id) {
90
		System.out.print(tab + "Start Feature: " + name + "\n");
91
		Feature feature = new Feature();
92
		feature.setName(name);
93
		feature.setId(id);
94
		return feature;
95
	}
96

  
97 92
	public void addNameToFeature(Object feature, String name){
98 93
		System.out.print(tab + "Feature name changed: " + name + "\n");
99 94
		((Feature)feature).setName(name);
......
196 191
	}
197 192

  
198 193
	public Object startFeature(String id, String name, Object layer) {
199
		// TODO Auto-generated method stub
200
		return null;
194
		System.out.print(tab + "Start Feature, ID: " +  id + " NAME: " + name + "\n");
195
		Feature feature = new Feature();
196
		feature.setName(name);
197
		feature.setId(id);
198
		if (layer != null){
199
			addFeatureToLayer(feature, layer);
200
		}
201
		return feature;
201 202
	}
202 203

  
203 204
	public Object startInnerPolygon(String id, double[] x, double[] y, double[] z, String srs) {
......
229 230

  
230 231

  
231 232
	public Object startLayer(String id, String name, String description, String srs, Object parentLayer, Object bBox) {
232
		System.out.print(tab + "Start Layer: " + name + "\n");
233
		System.out.print(tab + "Start Layer, ID: " +  id + " NAME: " + name + "\n");
233 234
		tab = tab + "\t";
234 235
		Layer layer = new Layer();
235 236
		layer.setId(id);
trunk/libraries/libGPE/src-test/org/gvsig/gpe/containers/GeometryAsserts.java
1
package org.gvsig.gpe.containers;
2

  
3
import junit.framework.TestCase;
4

  
5
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
6
 *
7
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
8
 *
9
 * This program is free software; you can redistribute it and/or
10
 * modify it under the terms of the GNU General Public License
11
 * as published by the Free Software Foundation; either version 2
12
 * of the License, or (at your option) any later version.
13
 *
14
 * This program is distributed in the hope that it will be useful,
15
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17
 * GNU General Public License for more details.
18
 *
19
 * You should have received a copy of the GNU General Public License
20
 * along with this program; if not, write to the Free Software
21
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
22
 *
23
 * For more information, contact:
24
 *
25
 *  Generalitat Valenciana
26
 *   Conselleria d'Infraestructures i Transport
27
 *   Av. Blasco Ib??ez, 50
28
 *   46010 VALENCIA
29
 *   SPAIN
30
 *
31
 *      +34 963862235
32
 *   gvsig@gva.es
33
 *      www.gvsig.gva.es
34
 *
35
 *    or
36
 *
37
 *   IVER T.I. S.A
38
 *   Salamanca 50
39
 *   46005 Valencia
40
 *   Spain
41
 *
42
 *   +34 963163400
43
 *   dac@iver.es
44
 */
45
/* CVS MESSAGES:
46
 *
47
 * $Id$
48
 * $Log$
49
 * Revision 1.1  2007-04-26 14:39:12  jorpiell
50
 * Add some tests
51
 *
52
 *
53
 */
54
/**
55
 * @author Jorge Piera LLodr? (jorge.piera@iver.es)
56
 */
57
public class GeometryAsserts {
58
		
59
	public static void bbox(Bbox bbox, double[] x,double[] y, double[] z){
60
		assertArray(bbox.getX(), x);
61
		assertArray(bbox.getY(), y);
62
		assertArray(bbox.getZ(), z);			
63
	}
64
	
65
	public static void point(Point point, double x,double y, double z){
66
		TestCase.assertEquals(new Double(point.getX()), new Double(x));
67
		TestCase.assertEquals(new Double(point.getY()), new Double(y));
68
		TestCase.assertEquals(new Double(point.getZ()), new Double(z));
69
	}
70
	
71
	public static void lineString(LineString lineString, double[] x,double[] y, double[] z){
72
		assertArray(lineString.getX(), x);
73
		assertArray(lineString.getY(), y);
74
		assertArray(lineString.getZ(), z);
75
	}
76
	
77
	public static void linearRing(LinearRing linearRing, double[] x,double[] y, double[] z){
78
		assertArray(linearRing.getX(), x);
79
		assertArray(linearRing.getY(), y);
80
		assertArray(linearRing.getZ(), z);
81
	}
82
	
83
	public static void polygon(Polygon polygon, double[] x,double[] y, double[] z){
84
		assertArray(polygon.getX(), x);
85
		assertArray(polygon.getY(), y);
86
		assertArray(polygon.getZ(), z);			
87
	}
88
	
89
	private static void assertArray(double[] x, double[] y){
90
		TestCase.assertEquals(x.length, y.length);
91
		for (int i=0 ; i<x.length ; i++){
92
			TestCase.assertEquals(new Double(x[i]),new Double(y[i]));
93
		}
94
	}
95
}
0 96

  

Also available in: Unified diff