Revision 45008 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.db/org.gvsig.fmap.dal.db.mdb/src/test/java/org/gvsig/fmap/dal/store/mdb/TestCreate.java

View differences:

TestCreate.java
6 6
import java.util.List;
7 7
import junit.framework.TestCase;
8 8
import static junit.framework.TestCase.assertEquals;
9
import org.apache.commons.codec.binary.Hex;
9 10
import org.gvsig.expressionevaluator.ExpressionBuilder;
10 11
import org.gvsig.expressionevaluator.ExpressionUtils;
11 12
import org.gvsig.expressionevaluator.GeometryExpressionBuilder;
......
25 26
import org.gvsig.fmap.dal.feature.NewFeatureStoreParameters;
26 27
import org.gvsig.fmap.dal.store.jdbc.JDBCStoreParameters;
27 28
import org.gvsig.fmap.dal.store.jdbc2.JDBCServerExplorer;
29
import org.gvsig.fmap.geom.Geometry;
28 30
import org.gvsig.tools.ToolsLocator;
29 31
import org.gvsig.tools.dataTypes.DataType;
30 32
import org.gvsig.tools.library.impl.DefaultLibrariesInitializer;
......
237 239
                    );
238 240
                    assertEquals(
239 241
                            String.format("Field %s type mismatch", sourceAttr.getName()),
240
                            sourceAttr.getDataTypeName(),
242
                            ToolsLocator.getDataTypesManager().get(DataTypes.STRING).getName(),
241 243
                            targetAttr.getDataTypeName()
242 244
                    );
243
                    assertEquals(
244
                            String.format("Field %s geometry type mismatch", sourceAttr.getName()),
245
                            sourceAttr.getGeomType().getName(),
246
                            targetAttr.getGeomType().getName()
247
                    );
248
                    assertEquals(
249
                            String.format("Field %s geometry SRS mismatch", sourceAttr.getName()),
250
                            sourceAttr.getSRS().toString(),
251
                            targetAttr.getSRS().toString()
252
                    );
253
                    assertEquals(
254
                            String.format("Field %s size mismatch", sourceAttr.getName()),
255
                            sourceAttr.getSize(),
256
                            targetAttr.getSize()
257
                    );
258
                    assertEquals(
259
                            String.format("Field %s precision mismatch", sourceAttr.getName()),
260
                            sourceAttr.getPrecision(),
261
                            targetAttr.getPrecision()
262
                    );
245
//                    assertEquals(
246
//                            String.format("Field %s geometry type mismatch", sourceAttr.getName()),
247
//                            sourceAttr.getGeomType().getName(),
248
//                            targetAttr.getGeomType().getName()
249
//                    );
250
//                    assertEquals(
251
//                            String.format("Field %s geometry SRS mismatch", sourceAttr.getName()),
252
//                            sourceAttr.getSRS().toString(),
253
//                            targetAttr.getSRS().toString()
254
//                    );
255
//                    assertEquals(
256
//                            String.format("Field %s size mismatch", sourceAttr.getName()),
257
//                            sourceAttr.getSize(),
258
//                            targetAttr.getSize()
259
//                    );
260
//                    assertEquals(
261
//                            String.format("Field %s precision mismatch", sourceAttr.getName()),
262
//                            sourceAttr.getPrecision(),
263
//                            targetAttr.getPrecision()
264
//                    );
263 265
                    break;
264 266
                default:
265 267
                    fail(
......
333 335
                        );
334 336
                        break;
335 337
                    case DataTypes.GEOMETRY:
336
                        assertEquals(
337
                                String.format("Feature %03d attribute %s", i, sourceAttr.getName()),
338
                                sourceFeature.get(sourceAttr.getName()),
339
                                targetFeature.get(sourceAttr.getName())
340
                        );
338
                    Geometry sourceGeom = sourceFeature.getDefaultGeometry();
339
                        if (sourceGeom != null) {
340
                            byte[] wkb = sourceGeom.convertToWKB();
341
                            String sourceGeomHex = Hex.encodeHexString(wkb);
342

  
343
                            assertEquals(
344
                                    String.format("Feature %03d attribute %s", i, sourceAttr.getName()),
345
                                    sourceGeomHex,
346
                                    targetFeature.get(sourceAttr.getName())
347
                            );
348
                        } else {
349
                            assertEquals(
350
                                    String.format("Feature %03d attribute %s", i, sourceAttr.getName()),
351
                                    sourceGeom,
352
                                    targetFeature.get(sourceAttr.getName())
353
                            );
354
                        }
341 355
                        break;
356

  
342 357
                    case DataTypes.LONG:
343 358
                        Object expectedLong = sourceFeature.get(sourceAttr.getName());
344 359
                        if (expectedLong != null) {
......
355 370
                        );
356 371
                        break;
357 372

  
358
                    case DataTypes.FLOAT:
373
                    case DataTypes.FLOAT: // Access float
374
                        Object expectedFloat = sourceFeature.get(sourceAttr.getName());
375
                        if (expectedFloat != null) {
376
                            expectedFloat = sourceFeature.get(sourceAttr.getName());
377
                        }
378
                        Object targetFloat = targetFeature.get(sourceAttr.getName());
379
                        if (targetFloat!=null) {
380
                            targetFloat = targetFeature.getFloat(sourceAttr.getName());
381
                        }
382
                        assertEquals(
383
                                String.format("Feature %03d attribute %s", i, sourceAttr.getName()),
384
                                expectedFloat,
385
                                targetFloat
386
                        );
387
                        break;
388
                    case DataTypes.DECIMAL:
389
                        if (sourceAttr.getPrecision() == 19 && sourceAttr.getScale() == 0) { // en acces es un decimal, lo tratamos como long
390
                            Object expectedDecimalAsLong = sourceFeature.get(sourceAttr.getName());
391
                            if (expectedDecimalAsLong != null) {
392
                                expectedDecimalAsLong = sourceFeature.getLong(sourceAttr.getName());
393
                            }
394
                            Object targetDecimalasLong= targetFeature.get(sourceAttr.getName());
395
                            if (targetDecimalasLong!=null) {
396
                                targetDecimalasLong = targetFeature.getLong(sourceAttr.getName());
397
                            }
398
                            assertEquals(
399
                                    String.format("Feature %03d attribute %s", i, sourceAttr.getName()),
400
                                    expectedDecimalAsLong,
401
                                    targetDecimalasLong
402
                            );
403
                            break;
404
                        }
359 405
                    case DataTypes.DOUBLE:
360 406
                    default:
361 407
                        Object sourceValue = sourceFeature.get(sourceAttr.getName());

Also available in: Unified diff