27 #include "ns3/boolean.h" 28 #include "ns3/simulator.h" 29 #include "ns3/scheduler.h" 30 #include "ns3/vector.h" 31 #include "ns3/mobility-model.h" 32 #include "ns3/waypoint-mobility-model.h" 33 #include "ns3/mobility-helper.h" 55 void TestXPosition (
double expectedXPos);
62 virtual void DoRun (
void);
69 :
TestCase (
"Test behavior when LazyNotify is false"),
96 m_node = CreateObject<Node> ();
97 m_mob = CreateObject<WaypointMobilityModel> ();
109 Simulator::Destroy ();
136 virtual void DoRun (
void);
142 :
TestCase (
"Test behavior when LazyNotify is true")
168 m_node = CreateObject<Node> ();
169 m_mob = CreateObject<WaypointMobilityModel> ();
181 Simulator::Destroy ();
209 virtual void DoRun (
void);
218 :
TestCase (
"Test behavior of Waypoint InitialPositionIsWaypoint")
245 m_mob1 = CreateObject<WaypointMobilityModel> ();
255 m_mob2 = CreateObject<WaypointMobilityModel> ();
274 m_mob3 = CreateObject<WaypointMobilityModel> ();
284 m_mob4 = CreateObject<WaypointMobilityModel> ();
304 m_mob5 = CreateObject<WaypointMobilityModel> ();
321 Simulator::Destroy ();
343 virtual void DoRun (
void);
347 :
TestCase (
"Test behavior using MobilityHelper and PositionAllocator")
370 positionAlloc->
Add (Vector (0.0, 0.0, 0.0));
371 mobility.SetPositionAllocator (positionAlloc);
375 mobility.SetMobilityModel (
"ns3::WaypointMobilityModel",
398 positionAlloc2->
Add (Vector (0.0, 0.0, 0.0));
410 Simulator::Destroy ();
Smart pointer class similar to boost::intrusive_ptr.
virtual ~WaypointLazyNotifyFalse()
Test whether course change notifications occur regardless of calls to Update() position (which are tr...
AttributeValue implementation for Boolean.
void CourseChangeCallback(std::string path, Ptr< const MobilityModel > model)
Course change callback.
void TestXPosition(Ptr< const WaypointMobilityModel > model, double expectedXPos)
Text X position function.
void AddWaypoint(const Waypoint &waypoint)
Waypoint Initial Position Is Waypoint Test.
void AggregateObject(Ptr< Object > other)
Aggregate two Objects together.
Waypoint Mobility Model Via Helper Test.
virtual ~WaypointMobilityModelViaHelper()
#define NS_TEST_EXPECT_MSG_EQ(actual, limit, msg)
Test that an actual and expected (limit) value are equal and report if not.
Ptr< WaypointMobilityModel > m_mob5
mobility model 5
Ptr< WaypointMobilityModel > m_mob3
mobility model 3
bool SetAttributeFailSafe(std::string name, const AttributeValue &value)
Set a single attribute without raising errors.
Ptr< WaypointMobilityModel > m_mob4
mobility model 4
virtual void DoRun(void)
Implementation to actually run this TestCase.
uint32_t WaypointsLeft(void) const
Get the number of waypoints left for this object, excluding the next one.
Ptr< WaypointMobilityModel > m_mob
modility model
virtual void DoRun(void)
Implementation to actually run this TestCase.
void TestNumWaypoints(Ptr< const WaypointMobilityModel > model, uint32_t num)
Test number of way points.
virtual void DoRun(void)
Implementation to actually run this TestCase.
void AddTestCase(TestCase *testCase, TestDuration duration=QUICK)
Add an individual child TestCase to this test suite.
WaypointLazyNotifyFalse()
void TestXPosition(Ptr< const WaypointMobilityModel > mob, double expectedXPos)
Text X position function.
void TestXPosition(double expectedXPos)
Text X position function.
virtual ~WaypointInitialPositionIsWaypoint()
static MobilityTestSuite mobilityTestSuite
the test suite
Ptr< T > GetObject(void) const
Get a pointer to the requested aggregated Object.
virtual void DoRun(void)
Implementation to actually run this TestCase.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
keep track of a set of node pointers.
void SetMobilityModel(std::string type, std::string n1="", const AttributeValue &v1=EmptyAttributeValue(), std::string n2="", const AttributeValue &v2=EmptyAttributeValue(), std::string n3="", const AttributeValue &v3=EmptyAttributeValue(), std::string n4="", const AttributeValue &v4=EmptyAttributeValue(), std::string n5="", const AttributeValue &v5=EmptyAttributeValue(), std::string n6="", const AttributeValue &v6=EmptyAttributeValue(), std::string n7="", const AttributeValue &v7=EmptyAttributeValue(), std::string n8="", const AttributeValue &v8=EmptyAttributeValue(), std::string n9="", const AttributeValue &v9=EmptyAttributeValue())
Waypoint Lazy Notify True.
void SetPosition(const Vector &position)
Ptr< WaypointMobilityModel > m_mob1
mobility model 1
void Install(Ptr< Node > node) const
"Layout" a single node according to the current position allocator type.
Vector GetPosition(void) const
Helper class used to assign positions and mobility models to nodes.
#define NS_TEST_EXPECT_MSG_EQ_TOL_INTERNAL(actual, limit, tol, msg, file, line)
Test that actual and expected (limit) values are equal to plus or minus some tolerance and report if ...
int m_courseChanges
course changes
void TestXPosition(double expectedXPos)
Test X position function.
Ptr< WaypointMobilityModel > m_mob2
mobility model 2
Time Seconds(double value)
Construct a Time in the indicated unit.
void Add(Vector v)
Add a position to the list of positions.
Ptr< Node > Get(uint32_t i) const
Get the Ptr<Node> stored in this container at a given index.
Waypoint-based mobility model.
WaypointInitialPositionIsWaypoint()
virtual ~WaypointLazyNotifyTrue()
Time Now(void)
create an ns3::Time instance which contains the current simulation time.
Ptr< WaypointMobilityModel > m_mob
modility model
void Create(uint32_t n)
Create n nodes and append pointers to them to the end of this NodeContainer.
void SetPositionAllocator(Ptr< PositionAllocator > allocator)
Set the position allocator which will be used to allocate the initial position of every node initiali...
void CourseChangeCallback(std::string path, Ptr< const MobilityModel > model)
Course change callback.
WaypointMobilityModelViaHelper()
static void CourseChangeCallback(std::string path, Ptr< const MobilityModel > model)