Changeset 529:af2d2fb8e6b3


Ignore:
Timestamp:
04/23/08 15:52:18 (2 years ago)
Author:
Mateusz Loskot <mateusz@…>
Branch:
default
Convert:
svn:1766ff46-f334-0410-ab20-d63176f87757/trunk@594
Message:

Updated LASWriter test with test cases for overwriting header and stream accessor.

Location:
test/unit
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • test/unit/common.cpp

    r523 r529  
    3636        h.GetVersionMinor(), 1); 
    3737 
     38    std::string x = h.GetSystemId(); 
    3839    ensure_equals("wrong default system id", 
    3940        h.GetSystemId(), LASHeader::SystemIdentifier); 
  • test/unit/laswriter_test.cpp

    r525 r529  
    3131        {} 
    3232 
     33        ~laswriter_data() 
     34        { 
     35            // remove temporary file after each test case 
     36            int const rc = std::remove(tmpfile_.c_str()); 
     37            ensure_equals(rc, 0); 
     38        } 
     39 
    3340        void test_file10_point1(liblas::LASPoint const& p) 
    3441        { 
     
    107114            test_default_header(hdr_default); 
    108115        } 
    109  
    110         int const rc = std::remove(tmpfile_.c_str()); 
    111         ensure_equals(rc, 0); 
    112116    } 
    113117 
     
    202206            ensure_equals(point.GetUserData(), 0); 
    203207        } 
    204  
    205         int const rc = std::remove(tmpfile_.c_str()); 
    206         ensure_equals(rc, 0); 
     208    } 
     209 
     210     
     211    // Test WriteHeader method 
     212    template<> 
     213    template<> 
     214    void to::test<3>() 
     215    { 
     216        { 
     217            std::ofstream ofs; 
     218            ofs.open(tmpfile_.c_str(), std::ios::out | std::ios::binary); 
     219 
     220            liblas::LASHeader header; 
     221            liblas::LASWriter writer(ofs, header); 
     222 
     223            // test initially written header 
     224            liblas::LASHeader const& hdr_default = writer.GetHeader(); 
     225            test_default_header(hdr_default); 
     226 
     227            // update some header data and overwrite header block 
     228            header.SetFileSourceId(65535); 
     229            header.SetSystemId("Unit Test libLAS System"); 
     230            header.SetSoftwareId("Unit Test libLAS Software"); 
     231            header.SetCreationDOY(100); 
     232            header.SetCreationYear(2008); 
     233            header.SetScale(1.123, 2.123, 3.123); 
     234            header.SetOffset(4.321, 5.321, 6.321); 
     235 
     236            writer.WriteHeader(header); 
     237        } 
     238 
     239        // read and check updated header block 
     240        { 
     241            std::ifstream ifs; 
     242            ifs.open(tmpfile_.c_str(), std::ios::in | std::ios::binary); 
     243            liblas::LASReader reader(ifs); 
     244 
     245            liblas::LASHeader const& header = reader.GetHeader(); 
     246            ensure_equals(header.GetFileSourceId(), 65535); 
     247            ensure_equals(header.GetSystemId(), std::string("Unit Test libLAS System")); 
     248            ensure_equals(header.GetSoftwareId(), std::string("Unit Test libLAS Software")); 
     249            ensure_equals(header.GetCreationDOY(), 100); 
     250            ensure_equals(header.GetCreationYear(), 2008); 
     251            ensure_equals(header.GetScaleX(), 1.123); 
     252            ensure_equals(header.GetScaleY(), 2.123); 
     253            ensure_equals(header.GetScaleZ(), 3.123); 
     254            ensure_equals(header.GetOffsetX(), 4.321); 
     255            ensure_equals(header.GetOffsetY(), 5.321); 
     256            ensure_equals(header.GetOffsetZ(), 6.321); 
     257        } 
     258    } 
     259 
     260    // Test GetStream method 
     261    template<> 
     262    template<> 
     263    void to::test<4>() 
     264    { 
     265        std::ofstream ofs; 
     266        ofs.open(tmpfile_.c_str(), std::ios::out | std::ios::binary); 
     267 
     268        liblas::LASHeader header; 
     269        liblas::LASWriter writer(ofs, header); 
     270 
     271        std::ostream& os = writer.GetStream(); 
     272 
     273        std::ostream const* const p1 = &ofs; 
     274        std::ostream const* const p2 = &os; 
     275        ensure_equals(ofs, os); // same streams 
    207276    } 
    208277} 
Note: See TracChangeset for help on using the changeset viewer.