owlps/owlps-positioning/tests/building_test.hh

76 lines
1.6 KiB
C++
Raw Normal View History

#include <cxxtest/TestSuite.h>
#include "building.hh"
#include "waypoint.hh"
#include "area.hh"
class Building_test: public CxxTest::TestSuite
{
public:
void test_constructors(void)
{
// Default constructor
Building b1 ;
Building b2("Unnamed building") ;
TS_ASSERT_EQUALS(b1, b2) ;
// Copy constructor
Building b3("My Enormous Building") ;
Building b4(b3) ;
TS_ASSERT_EQUALS(b3, b4) ;
}
void test_accessors(void)
{
// Simple read accessors
Building b1 ;
TS_ASSERT_EQUALS(b1.get_name(), "Unnamed building") ;
std::vector<Area*> va1 ;
TS_ASSERT_EQUALS(b1.get_areas(), va1) ;
std::vector<Waypoint*> vwp1 ;
TS_ASSERT_EQUALS(b1.get_waypoints(), vwp1) ;
// Write & read accessors
Building b2("My Building") ;
TS_ASSERT_EQUALS(b2.get_name(), "My Building") ;
b2.set_name("My Second Building") ;
TS_ASSERT_EQUALS(b2.get_name(), "My Second Building") ;
Waypoint *wp1 = new Waypoint(&b2, 43, 45, 909) ;
Waypoint *wp2 = new Waypoint(&b2, 12, 78, 2) ;
b2.add_waypoint(wp1) ;
b2.add_waypoint(wp2) ;
vwp1.push_back(wp1) ;
vwp1.push_back(wp2) ;
TS_ASSERT_EQUALS(b2.get_waypoints(), vwp1) ;
Area *a1 = new Area() ;
Area *a2 = new Area() ;
b2.add_area(a1) ;
b2.add_area(a2) ;
va1.push_back(a1) ;
va1.push_back(a2) ;
TS_ASSERT_EQUALS(b2.get_areas(), va1) ;
}
void test_operators(void)
{
// ==
Building b1("Build") ;
Building b2("Build") ;
TS_ASSERT_EQUALS(b1, b2) ;
// !=
Building b3("B2") ;
TS_ASSERT_DIFFERS(b1, b3) ;
// =
b2 = b3 ;
TS_ASSERT_EQUALS(b2, b3) ;
}
} ;