21 #include "ns3/simulator.h"
22 #include "ns3/boolean.h"
23 #include "ns3/double.h"
25 #include "ns3/config.h"
26 #include "ns3/steady-state-random-waypoint-mobility-model.h"
27 #include "ns3/rng-seed-manager.h"
35 :
TestCase (
"Check steady-state rwp mobility model velocity and position distributions") {}
42 virtual void DoRun (
void);
43 virtual void DoTeardown (
void);
44 void DistribCompare ();
50 mobilityStack.clear();
59 double totalTime = 1000;
62 mobilityFactory.
SetTypeId (
"ns3::SteadyStateRandomWaypointMobilityModel");
74 for (uint32_t i = 0; i < count; i++)
80 mobilityStack.push_back (model);
98 std::vector<Ptr<MobilityModel> >::iterator i;
100 for (i = mobilityStack.begin (); i != mobilityStack.end (); ++i)
108 double mean_x = sum_x / count;
109 double mean_y = sum_y / count;
110 double mean_v = sum_v / count;
120 for (i = mobilityStack.begin (); i != mobilityStack.end (); ++i)
128 tmp = velocity - mean_v;
131 double dev_x = std::sqrt (sum_x / (count - 1));
132 double dev_y = std::sqrt (sum_y / (count - 1));
133 double dev_v = std::sqrt (sum_v / (count - 1));
double x
x coordinate of vector
SteadyStateRandomWaypointTest()
static void Run(void)
Run the simulation until one of:
void SetTypeId(TypeId tid)
Vector GetPosition(void) const
static EventId Schedule(Time const &time, MEM mem_ptr, OBJ obj)
Schedule an event to expire at the relative time "time" is reached.
Vector GetVelocity(void) const
Keep track of the current position and velocity of an object.
Ptr< Object > Create(void) const
#define NS_TEST_EXPECT_MSG_EQ_TOL(actual, limit, tol, msg)
Test that actual and expected (limit) values are equal to plus or minus some tolerance and report if ...
static void Destroy(void)
Every event scheduled by the Simulator::insertAtDestroy method is invoked.
void Set(std::string name, const AttributeValue &value)
double y
y coordinate of vector
virtual ~SteadyStateRandomWaypointTest()
virtual void DoRun(void)
Implementation to actually run this TestCase.
static void SetSeed(uint32_t seed)
set the seed it will duplicate the seed value 6 times
instantiate subclasses of ns3::Object.
std::vector< Ptr< MobilityModel > > mobilityStack
static void Stop(void)
If an event invokes this method, it will be the last event scheduled by the Simulator::run method bef...
void Initialize(void)
This method calls the virtual DoInitialize method on all the objects aggregated to this object...
Hold a floating point type.
Ptr< T > GetObject(void) const
SteadyStateRandomWaypointTestSuite()
SteadyStateRandomWaypointTestSuite g_steadyStateRandomWaypointTestSuite
virtual void DoTeardown(void)
Implementation to do any local setup required for this TestCase.