Changeset 963

Show
Ignore:
Timestamp:
11/09/08 07:41:23 (2 months ago)
Author:
mloskot
Message:

lasreader_iterator_test.cpp: refactored to remove redundant code and reuse common test group data.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/test/unit/lasreader_iterator_test.cpp

    r961 r963  
    99#include <liblas/iterator.hpp> 
    1010#include <liblas/laspoint.hpp> 
     11#include <liblas/lasreader.hpp> 
    1112#include <liblas/detail/utility.hpp> 
    1213#include <tut/tut.hpp> 
     
    2425    { 
    2526        std::string file10_; 
     27        std::ifstream ifs_; 
     28        LASReader reader_; 
    2629 
    2730        lasreader_iterator_data() 
    28             : file10_(g_test_data_path + "//TO_core_last_clip.las") 
     31            : file10_(g_test_data_path + "//TO_core_last_clip.las"), 
     32                ifs_(file10_.c_str(), std::ios::in | std::ios::binary), 
     33                    reader_(ifs_) 
    2934        {} 
    3035    }; 
     
    4853    void to::test<2>() 
    4954    { 
    50         std::ifstream ifs(file10_.c_str(), std::ios::in | std::ios::binary); 
    51         LASReader reader(ifs); 
    52         lasreader_iterator it(reader); 
     55        lasreader_iterator it(reader_); 
    5356    } 
    5457 
     
    6972    void to::test<4>() 
    7073    { 
    71         std::ifstream ifs(file10_.c_str(), std::ios::in | std::ios::binary); 
    72         LASReader reader(ifs); 
    73         lasreader_iterator it1(reader); 
     74        lasreader_iterator it1(reader_); 
    7475        lasreader_iterator it2(it1); 
    7576 
     
    9495    void to::test<6>() 
    9596    { 
    96         std::ifstream ifs(file10_.c_str(), std::ios::in | std::ios::binary); 
    97         LASReader reader(ifs); 
    98         lasreader_iterator it1(reader); 
     97        lasreader_iterator it1(reader_); 
    9998        lasreader_iterator it2; 
    10099        it1 = it2; 
     
    108107    void to::test<7>() 
    109108    { 
    110         std::ifstream ifs(file10_.c_str(), std::ios::in | std::ios::binary); 
    111         LASReader reader(ifs); 
    112         lasreader_iterator it(reader); 
     109        lasreader_iterator it(reader_); 
    113110 
    114111        test_file10_point1(*it); 
     
    120117    void to::test<8>() 
    121118    { 
    122         std::ifstream ifs(file10_.c_str(), std::ios::in | std::ios::binary); 
    123         LASReader reader(ifs); 
    124         lasreader_iterator it(reader); 
     119        lasreader_iterator it(reader_); 
    125120 
    126121        // test 1st point data record  
     
    141136    void to::test<9>() 
    142137    { 
    143         std::ifstream ifs(file10_.c_str(), std::ios::in | std::ios::binary); 
    144         LASReader reader(ifs); 
    145         lasreader_iterator it(reader); // move to 1st point 
     138        lasreader_iterator it(reader_); // move to 1st point 
    146139        ++it; // move to 2nd record 
    147140 
     
    154147    void to::test<10>() 
    155148    { 
    156         std::ifstream ifs(file10_.c_str(), std::ios::in | std::ios::binary); 
    157         LASReader reader(ifs); 
    158         lasreader_iterator it(reader); // move to 1st point 
     149        lasreader_iterator it(reader_); // move to 1st point 
    159150        it++; // move to 2nd record 
    160151 
     
    167158    void to::test<11>() 
    168159    { 
    169         std::ifstream ifs(file10_.c_str(), std::ios::in | std::ios::binary); 
    170         LASReader reader(ifs); 
    171         lasreader_iterator it(reader); // move to 1st point 
     160        lasreader_iterator it(reader_); // move to 1st point 
    172161        lasreader_iterator end; 
    173162 
     
    180169    void to::test<12>() 
    181170    { 
    182         std::ifstream ifs(file10_.c_str(), std::ios::in | std::ios::binary); 
    183         LASReader reader(ifs); 
    184         lasreader_iterator it(reader); // move to 1st point 
     171        lasreader_iterator it(reader_); // move to 1st point 
    185172        lasreader_iterator end; 
    186173 
     
    193180    void to::test<13>() 
    194181    { 
    195         std::ifstream ifs(file10_.c_str(), std::ios::in | std::ios::binary); 
    196         LASReader reader(ifs); 
    197         uint32_t const cnt = reader.GetHeader().GetPointRecordsCount(); 
    198         lasreader_iterator it(reader); // move to 1st point 
     182        uint32_t const cnt = reader_.GetHeader().GetPointRecordsCount(); 
     183        lasreader_iterator it(reader_); // move to 1st point 
    199184        lasreader_iterator end; 
    200185 
     
    214199    void to::test<14>() 
    215200    { 
    216         std::ifstream ifs(file10_.c_str(), std::ios::in | std::ios::binary); 
    217         LASReader reader(ifs); 
    218         uint32_t const cnt = reader.GetHeader().GetPointRecordsCount(); 
    219         lasreader_iterator it(reader); // move to 1st point 
     201        uint32_t const cnt = reader_.GetHeader().GetPointRecordsCount(); 
     202        lasreader_iterator it(reader_); // move to 1st point 
    220203        lasreader_iterator end; 
    221204 
     
    229212    void to::test<15>() 
    230213    { 
    231         std::ifstream ifs(file10_.c_str(), std::ios::in | std::ios::binary); 
    232         LASReader reader(ifs); 
    233         lasreader_iterator it(reader); // move to 1st point 
     214        lasreader_iterator it(reader_); // move to 1st point 
    234215 
    235216        std::advance(it, 1); // move to 2nd record 
     
    245226    void to::test<16>() 
    246227    { 
    247         std::ifstream ifs(file10_.c_str(), std::ios::in | std::ios::binary); 
    248         LASReader reader(ifs); 
    249         uint32_t const size = reader.GetHeader().GetPointRecordsCount(); 
    250  
    251         lasreader_iterator it(reader); 
     228        uint32_t const size = reader_.GetHeader().GetPointRecordsCount(); 
     229        lasreader_iterator it(reader_); 
    252230        lasreader_iterator end; 
    253231 
     
    285263        test_file10_point2(pt); 
    286264 
    287         std::ifstream ifs(file10_.c_str(), std::ios::in | std::ios::binary); 
    288         LASReader reader(ifs); 
    289         lasreader_iterator it(reader); 
     265        lasreader_iterator it(reader_); 
    290266        lasreader_iterator end; 
    291267 
     
    296272    } 
    297273 
    298  
    299274    // Test std::equal algorithm 
    300275    template<> 
     
    302277    void to::test<18>() 
    303278    { 
    304         // TODO - mloskot: Can not re-use the reader because libLAS does 
     279        // TODO - mloskot: Can not re-use the LASReader (object reader_) because libLAS does 
    305280        // not support reset operation yet. In order to reuse reader with mre than one iterator 
    306281        // we have to provide operation to reset reader (set internal pointer to beginning of LAS file, etc.). 
     
    309284 
    310285        std::ifstream ifs(file10_.c_str(), std::ios::in | std::ios::binary); 
    311       
    312286 
    313287        // Copy LAS records to std::list based cache 
     
    354328        test_file10_point2(pt); 
    355329 
    356         std::ifstream ifs(file10_.c_str(), std::ios::in | std::ios::binary); 
    357         LASReader reader(ifs); 
    358         lasreader_iterator it(reader); 
     330        lasreader_iterator it(reader_); 
    359331        lasreader_iterator end; 
    360332 
     
    371343    void to::test<20>() 
    372344    { 
    373         std::ifstream ifs(file10_.c_str(), std::ios::in | std::ios::binary); 
    374         LASReader reader(ifs); 
    375         lasreader_iterator it(reader); 
     345        lasreader_iterator it(reader_); 
    376346        lasreader_iterator end; 
    377347 
     
    388358    void to::test<21>() 
    389359    { 
    390         std::ifstream ifs(file10_.c_str(), std::ios::in | std::ios::binary); 
    391         LASReader reader(ifs); 
    392         lasreader_iterator it(reader); 
     360        lasreader_iterator it(reader_); 
    393361        lasreader_iterator end; 
    394362 
     
    396364        typedef liblas::detail::Extents<double> bbox_t; 
    397365 
    398         LASHeader const& h = reader.GetHeader(); 
     366        LASHeader const& h = reader_.GetHeader(); 
    399367        bbox_t lasbbox(point_t(h.GetMinX(), h.GetMinY(), h.GetMinZ()), 
    400368                       point_t(h.GetMaxX(), h.GetMaxY(), h.GetMaxZ())); 
     
    406374        ensure(lasbbox == bbox); 
    407375    } 
    408  
    409   
    410376} 
    411377