OpenWalnut  1.4.0
WGrid_test.h
00001 //---------------------------------------------------------------------------
00002 //
00003 // Project: OpenWalnut ( http://www.openwalnut.org )
00004 //
00005 // Copyright 2009 OpenWalnut Community, BSV@Uni-Leipzig and CNCF@MPI-CBS
00006 // For more information see http://www.openwalnut.org/copying
00007 //
00008 // This file is part of OpenWalnut.
00009 //
00010 // OpenWalnut is free software: you can redistribute it and/or modify
00011 // it under the terms of the GNU Lesser General Public License as published by
00012 // the Free Software Foundation, either version 3 of the License, or
00013 // (at your option) any later version.
00014 //
00015 // OpenWalnut is distributed in the hope that it will be useful,
00016 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00017 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00018 // GNU Lesser General Public License for more details.
00019 //
00020 // You should have received a copy of the GNU Lesser General Public License
00021 // along with OpenWalnut. If not, see <http://www.gnu.org/licenses/>.
00022 //
00023 //---------------------------------------------------------------------------
00024 
00025 #ifndef WGRID_TEST_H
00026 #define WGRID_TEST_H
00027 
00028 #include <utility>
00029 
00030 #include <cxxtest/TestSuite.h>
00031 
00032 #include "../../common/WProperties.h"
00033 #include "../WGrid.h"
00034 
00035 /**
00036  * Dummy class for testing the abstract class WGrid
00037  */
00038 class Dummy : public WGrid
00039 {
00040 friend class WGridTest;
00041 
00042 public:
00043     /**
00044      * Standard constructor of Dummy class.
00045      * \param size number of positions
00046      */
00047     explicit Dummy( size_t size )
00048         : WGrid( size )
00049     {
00050     }
00051 
00052     /**
00053      * Returns dummy bounding box.
00054      *
00055      * \return bbox
00056      */
00057     virtual WBoundingBox getBoundingBox() const
00058     {
00059         return WBoundingBox( WPosition( 0, 0, 0 ), WPosition( 1, 1, 1 ) );
00060     }
00061 };
00062 
00063 /**
00064  * Tests the WGrid class.
00065  */
00066 class WGridTest : public CxxTest::TestSuite
00067 {
00068 public:
00069     /**
00070      *  Checks if the Dummy is instanceable.
00071      */
00072     void testInstantiation( void )
00073     {
00074         TS_ASSERT_THROWS_NOTHING( Dummy d( 1 ) );
00075     }
00076 
00077     /**
00078      * After instantiation there should be only 1 positions.
00079      */
00080     void testSize( void )
00081     {
00082         Dummy grid( 1 );
00083         TS_ASSERT_EQUALS( grid.size(), 1 );
00084     }
00085 };
00086 
00087 #endif  // WGRID_TEST_H