--- a/src/buildings/test/building-position-allocator-test.cc Tue May 28 11:53:33 2013 +0200
+++ b/src/buildings/test/building-position-allocator-test.cc Mon Jun 03 17:01:52 2013 +0200
@@ -24,6 +24,8 @@
#include "ns3/test.h"
#include <ns3/building-position-allocator.h>
#include <ns3/buildings-mobility-model.h>
+#include <ns3/constant-position-mobility-model.h>
+#include <ns3/mobility-model.h>
#include <ns3/building.h>
#include <ns3/buildings-helper.h>
#include <ns3/mobility-helper.h>
@@ -95,10 +97,11 @@
nodes.Create (24);
MobilityHelper mobility;
- mobility.SetMobilityModel ("ns3::BuildingsMobilityModel");
+ mobility.SetMobilityModel ("ns3::ConstantPositionMobilityModel");
Ptr<PositionAllocator> positionAlloc = CreateObject<RandomRoomPositionAllocator> ();
mobility.SetPositionAllocator (positionAlloc);
mobility.Install (nodes);
+ BuildingsHelper::Install (nodes);
BuildingsHelper::MakeMobilityModelConsistent ();
@@ -108,14 +111,14 @@
{
Ptr<MobilityModel> mm = (*it)->GetObject<MobilityModel> ();
NS_ASSERT_MSG (mm, "no mobility model aggregated to this node");
- Ptr<BuildingsMobilityModel> bmm = DynamicCast<BuildingsMobilityModel> (mm);
- NS_ASSERT_MSG (bmm, "mobility model aggregated to this node is not a BuildingsMobilityModel");
+ Ptr<MobilityBuildingInfo> bmm = mm->GetObject<MobilityBuildingInfo> ();
+ NS_ASSERT_MSG (bmm, "MobilityBuildingInfo has not been aggregated to this node mobility model");
NS_TEST_ASSERT_MSG_EQ (bmm->IsIndoor (), true, "node should be indoor");
Room r (bmm->GetRoomNumberX (), bmm->GetRoomNumberY (), bmm->GetFloorNumber ());
++(roomCounter[r]);
- Vector p = bmm->GetPosition ();
+ Vector p = mm->GetPosition ();
NS_TEST_ASSERT_MSG_GT (p.x, bmm->GetRoomNumberX (), "wrong x value");
NS_TEST_ASSERT_MSG_LT (p.x, bmm->GetRoomNumberX () + 1, "wrong x value");
NS_TEST_ASSERT_MSG_GT (p.y, bmm->GetRoomNumberY (), "wrong y value");
@@ -176,16 +179,18 @@
nodes.Create (24);
MobilityHelper mobility;
- mobility.SetMobilityModel ("ns3::BuildingsMobilityModel");
+ mobility.SetMobilityModel ("ns3::ConstantPositionMobilityModel");
Ptr<PositionAllocator> positionAlloc = CreateObject<RandomRoomPositionAllocator> ();
mobility.SetPositionAllocator (positionAlloc);
mobility.Install (nodes);
+ BuildingsHelper::Install (nodes);
NodeContainer copyNodes;
copyNodes.Create (48);
positionAlloc = CreateObject<SameRoomPositionAllocator> (nodes);
mobility.SetPositionAllocator (positionAlloc);
mobility.Install (copyNodes);
+ BuildingsHelper::Install (copyNodes);
BuildingsHelper::MakeMobilityModelConsistent ();
@@ -195,8 +200,8 @@
{
Ptr<MobilityModel> mm = (*it)->GetObject<MobilityModel> ();
NS_ASSERT_MSG (mm, "no mobility model aggregated to this node");
- Ptr<BuildingsMobilityModel> bmm = DynamicCast<BuildingsMobilityModel> (mm);
- NS_ASSERT_MSG (bmm, "mobility model aggregated to this node is not a BuildingsMobilityModel");
+ Ptr<MobilityBuildingInfo> bmm = mm->GetObject<MobilityBuildingInfo> ();
+ NS_ASSERT_MSG (bmm, "MobilityBuildingInfo has not been aggregated to this node mobility model");
NS_TEST_ASSERT_MSG_EQ (bmm->IsIndoor (), true, "node should be indoor");
Room r (bmm->GetRoomNumberX (), bmm->GetRoomNumberY (), bmm->GetFloorNumber ());