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
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
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
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
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 }