Changeset 14397

Show
Ignore:
Timestamp:
05/08/08 14:56:41 (2 months ago)
Author:
rouault
Message:

Improve test coverage for XPlane driver

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/autotest/ogr/data/apt.dat

    r14018 r14397  
    11I 
    2 850 Version - THIS FILE IS A SHORT EXTRACT FROM THE FOLLOWING DATA MADE FOR OGR TESTING. data cycle 2007.12, build 20070153, metadata AptXP850.  Copyright © 2007, Robin A. Peel (robin@xsquawkbox.net).   This data is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.  This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.  You should have received a copy of the GNU General Public License along with this program ("AptNavGNULicence.txt"); if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.  This product was developed using DAFIF (the Defense Aeronautical Flight Information File), a product of the US National Imagery and Mapping Agency (NIMA). NIMA requires the following warranty statements:  (A) Under 10 U.S.C. 456, no civil action may be brought against the United States on the basis of the content of a navigational aid prepared or disseminated by either the former Defense Mapping Agency (DMA) or the National Imagery and Mapping Agency (NIMA).  (B) The DAFIF product is provided "as is," and no warranty, express or implied, including, but not limited to the implied warranties of merchantability and fitness for particular purpose or arising by statute or otherwise in law or from a course of dealing or usage in trade, is made by NIMA as to the accuracy and functioning of the product. ©: Neither NIMA nor its personnel will be liable for any claims, losses, or damages arising from or connected with the use of this product.  The user agrees to hold harmless the United States National Imagery and Mapping Agency.  The user's sole and exclusive remedy is to stop using the DAFIF product. 
     2850 Version - THIS FILE IS A SHORT EXTRACT FROM THE FOLLOWING DATA MADE FOR OGR TESTING. data cycle 2007.12, build 20070153, metadata AptXP850 and data cycle 2007.12, build 20070154, metadata AptXP810.  Copyright © 2007, Robin A. Peel (robin@xsquawkbox.net).   This data is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.  This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.  You should have received a copy of the GNU General Public License along with this program ("AptNavGNULicence.txt"); if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.  This product was developed using DAFIF (the Defense Aeronautical Flight Information File), a product of the US National Imagery and Mapping Agency (NIMA). NIMA requires the following warranty statements:  (A) Under 10 U.S.C. 456, no civil action may be brought against the United States on the basis of the content of a navigational aid prepared or disseminated by either the former Defense Mapping Agency (DMA) or the National Imagery and Mapping Agency (NIMA).  (B) The DAFIF product is provided "as is," and no warranty, express or implied, including, but not limited to the implied warranties of merchantability and fitness for particular purpose or arising by statute or otherwise in law or from a course of dealing or usage in trade, is made by NIMA as to the accuracy and functioning of the product. ©: Neither NIMA nor its personnel will be liable for any claims, losses, or damages arising from or connected with the use of this product.  The user agrees to hold harmless the United States National Imagery and Mapping Agency.  The user's sole and exclusive remedy is to stop using the DAFIF product. 
    33 
    441     3799 0 1 E46  02 Ranch 
     
    55555555 13269 VICTORIA APP 
    556556 
     5571     189 1 0 ZZZY Abbotsford_V810 
     55810  49.019925 -122.363339 07x  85.75  7972 0000.0000 0000.0000   200 122136  1 1 3 0.25 1 0300.0300 
     55910  49.025267 -122.373947 01x  25.71  5257 0249.0000 0000.0000   200 131123  1 1 3 0.25 1 0300.0300 
     56010  49.027363 -122.374488 H1x 296.45    49 0000.0000 0000.0000    49 121121  1 0 0 0.25 0 0300.0300 
     56110  49.027925 -122.372780 01L  25.01  1478 0000.0000 0000.0000    95 111111  3 0 1 0.00 0 0300.0300 
    557562 
    5585631      204 1 0 VTX2 Ban Bung 
  • trunk/autotest/ogr/ogr_xplane.py

    r14018 r14397  
    4949        return 'fail' 
    5050 
    51     layers = [ ( 'APT'                  , 6 ), 
    52                ( 'RunwayPolygon'        , 12 ), 
    53                ( 'RunwayThreshold'      , 27 ), 
    54                ( 'WaterRunwayPolygon'   , 1 ), 
    55                ( 'WaterRunwayThreshold' , 2 ), 
    56                ( 'Helipad'              , 1 ),  
    57                ( 'HelipadPolygon'       , 1 ), 
    58                ( 'TaxiwayRectangle'     , 437 ), 
    59                ( 'Pavement'             , 11 ), 
    60                ( 'APTBoundary'          , 1 ), 
    61                ( 'APTLinearFeature'     , 45 ), 
    62                ( 'ATCFreq'              , 42 ), 
    63                ( 'StartupLocation'      , 110 ), 
    64                ( 'APTLightBeacon'       , 3 ), 
    65                ( 'APTWindsock'          , 25 ), 
    66                ( 'TaxiwaySign'          , 17 ), 
    67                ( 'VASI_PAPI_WIGWAG'     , 24
     51    layers = [ ( 'APT'                  , 7,   [ ('apt_icao', 'E46') ] ), 
     52               ( 'RunwayPolygon'        , 15,  [ ('apt_icao', 'E46') ] ), 
     53               ( 'RunwayThreshold'      , 34,  [ ('apt_icao', 'E46') ] ), 
     54               ( 'WaterRunwayPolygon'   , 1,   [ ('apt_icao', 'I38') ] ), 
     55               ( 'WaterRunwayThreshold' , 2,   [ ('apt_icao', 'I38') ] ), 
     56               ( 'Helipad'              , 2,   [ ('apt_icao', 'CYXX') ] ),  
     57               ( 'HelipadPolygon'       , 2,   [ ('apt_icao', 'CYXX') ] ), 
     58               ( 'TaxiwayRectangle'     , 437, [ ('apt_icao', 'LFPG') ] ), 
     59               ( 'Pavement'             , 11,  [ ('apt_icao', 'CYXX') ] ), 
     60               ( 'APTBoundary'          , 1,   [ ('apt_icao', 'VTX2') ] ), 
     61               ( 'APTLinearFeature'     , 45,  [ ('apt_icao', 'CYXX') ] ), 
     62               ( 'ATCFreq'              , 42,  [ ('apt_icao', 'CYXX') ] ), 
     63               ( 'StartupLocation'      , 110, [ ('apt_icao', 'CYXX') ] ), 
     64               ( 'APTLightBeacon'       , 3,   [ ('apt_icao', 'CYXX') ] ), 
     65               ( 'APTWindsock'          , 25,  [ ('apt_icao', 'E46') ] ), 
     66               ( 'TaxiwaySign'          , 17,  [ ('apt_icao', 'CYXX') ] ), 
     67               ( 'VASI_PAPI_WIGWAG'     , 30,  [ ('apt_icao', 'CYXX') ]
    6868             ] 
    6969 
     
    7373            gdaltest.post_reason( 'wrong number of features for layer %s : %d. %d were expected ' % (layer[0], lyr.GetFeatureCount(), layer[1]) ) 
    7474            return 'fail' 
     75        feat_read = lyr.GetNextFeature() 
     76        for item in layer[2]: 
     77            if feat_read.GetField(item[0]) != item[1]: 
     78                print layer[0] 
     79                print item[0] 
     80                print feat_read.GetField(item[0]) 
     81                return 'fail' 
    7582 
    7683    return 'success' 
     
    8794        return 'fail' 
    8895 
    89     layers = [ ( 'ILS'                  , 6 ), 
    90                ( 'VOR'                  , 3 ), 
    91                ( 'NDB'                  , 4 ), 
    92                ( 'GS'                   , 1 ), 
    93                ( 'Marker'               , 3 ), 
    94                ( 'DME'                  , 6 ), 
    95                ( 'DMEILS'               , 1
     96    layers = [ ( 'ILS'                  , 6, [ ('navaid_id', 'IMQS') ] ), 
     97               ( 'VOR'                  , 3, [ ('navaid_id', 'AAL') ] ), 
     98               ( 'NDB'                  , 4, [ ('navaid_id', 'APH') ] ), 
     99               ( 'GS'                   , 1, [ ('navaid_id', 'IMQS') ] ), 
     100               ( 'Marker'               , 3, [ ('apt_icao', '40N') ] ), 
     101               ( 'DME'                  , 6, [ ('navaid_id', 'AAL') ] ), 
     102               ( 'DMEILS'               , 1, [ ('navaid_id', 'IWG') ]
    96103             ] 
    97104 
     
    101108            gdaltest.post_reason( 'wrong number of features for layer %s : %d. %d were expected ' % (layer[0], lyr.GetFeatureCount(), layer[1]) ) 
    102109            return 'fail' 
     110        feat_read = lyr.GetNextFeature() 
     111        for item in layer[2]: 
     112            if feat_read.GetField(item[0]) != item[1]: 
     113                print layer[0] 
     114                print item[0] 
     115                print feat_read.GetField(item[0]) 
     116                return 'fail' 
    103117 
    104118    return 'success' 
     
    115129        return 'fail' 
    116130 
    117     layers = [ ( 'AirwaySegment'        , 11 ), 
    118                ( 'AirwayIntersection'   , 14
     131    layers = [ ( 'AirwaySegment'        , 11, [ ('segment_name', 'R464') ] ), 
     132               ( 'AirwayIntersection'   , 14, [ ('name', '00MKK') ]
    119133             ] 
    120134 
     
    124138            gdaltest.post_reason( 'wrong number of features for layer %s : %d. %d were expected ' % (layer[0], lyr.GetFeatureCount(), layer[1]) ) 
    125139            return 'fail' 
     140        feat_read = lyr.GetNextFeature() 
     141        for item in layer[2]: 
     142            if feat_read.GetField(item[0]) != item[1]: 
     143                print layer[0] 
     144                print item[0] 
     145                print feat_read.GetField(item[0]) 
     146                return 'fail' 
    126147 
    127148    return 'success' 
     
    137158        return 'fail' 
    138159 
    139     layers = [ ( 'FIX'                  , 1
     160    layers = [ ( 'FIX'                  , 1, [ ('fix_name', '00MKK') ]
    140161             ] 
    141162 
     
    145166            gdaltest.post_reason( 'wrong number of features for layer %s : %d. %d were expected ' % (layer[0], lyr.GetFeatureCount(), layer[1]) ) 
    146167            return 'fail' 
     168        feat_read = lyr.GetNextFeature() 
     169        for item in layer[2]: 
     170            if feat_read.GetField(item[0]) != item[1]: 
     171                print layer[0] 
     172                print item[0] 
     173                print feat_read.GetField(item[0]) 
     174                return 'fail' 
    147175 
    148176    return 'success'