Position2DVectorTest.cpp

Go to the documentation of this file.
00001 #include <gtest/gtest.h>
00002 #include <utils/geom/Position2DVector.h>
00003 
00004 using namespace std;
00005 
00006 /*
00007 Tests the class Position2DVector
00008 */
00009 class Position2DVectorTest : public testing::Test {
00010     protected :
00011         Position2DVector *vectorPolygon;
00012         Position2DVector *vectorLine;
00013 
00014         virtual void SetUp(){
00015             vectorPolygon = new Position2DVector();
00016             vectorPolygon->push_back(Position2D(0,0));
00017             vectorPolygon->push_back(Position2D(0,2));
00018             vectorPolygon->push_back(Position2D(2,4));
00019             vectorPolygon->push_back(Position2D(4,2));
00020             vectorPolygon->push_back(Position2D(4,0));  
00021 
00022             vectorLine = new Position2DVector();
00023             vectorLine->push_back(Position2D(0,0));
00024             vectorLine->push_back(Position2D(2,2));
00025         }
00026 
00027         virtual void TearDown(){
00028             delete vectorPolygon;
00029             delete vectorLine;
00030         }
00031 };
00032 
00033 /* Test the method 'around'*/
00034 TEST_F(Position2DVectorTest, test_method_around) {
00035 
00036     EXPECT_TRUE(vectorPolygon->around(Position2D(1,1)));
00037     EXPECT_TRUE(vectorPolygon->around(Position2D(1,2)));
00038     EXPECT_FALSE(vectorPolygon->around(Position2D(4,4)));
00039     EXPECT_FALSE(vectorPolygon->around(Position2D(0,0)));
00040 
00041     EXPECT_FALSE(vectorLine->around(Position2D(1,1)));
00042     EXPECT_FALSE(vectorLine->around(Position2D(0,2)));
00043 }
00044 
00045 /* Test the method 'getPolygonCenter'.*/
00046 TEST_F(Position2DVectorTest, test_method_getPolygonCenter) {
00047     Position2D pos = vectorPolygon->getPolygonCenter();
00048     EXPECT_FLOAT_EQ(2, pos.x());
00049     EXPECT_FLOAT_EQ(1.6, pos.y());
00050     Position2D pos2 = vectorLine->getPolygonCenter();
00051     EXPECT_FLOAT_EQ(1, pos2.x());
00052     EXPECT_FLOAT_EQ(1, pos2.y());
00053     
00054 }
00055 
00056 /* Test the method 'getBoxBoundary'*/
00057 TEST_F(Position2DVectorTest, test_method_getBoxBoundary) {  
00058     Boundary bound = vectorPolygon->getBoxBoundary();
00059     EXPECT_FLOAT_EQ(bound.xmax(), 4);
00060     EXPECT_FLOAT_EQ(bound.xmin(), 0);
00061     EXPECT_FLOAT_EQ(bound.ymax(), 4);
00062     EXPECT_FLOAT_EQ(bound.ymin(), 0);
00063 }

Generated on Wed May 5 00:06:36 2010 for Sumo - Simulation of Urban MObility by  doxygen 1.5.6