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);
59 double totalTime = 1000;
62 mobilityFactory.
SetTypeId (
"ns3::SteadyStateRandomWaypointMobilityModel");
74 for (uint32_t i = 0; i <
count; i++)
98 std::vector<Ptr<MobilityModel> >::iterator i;
108 double mean_x = sum_x /
count;
109 double mean_y = sum_y /
count;
110 double mean_v = sum_v /
count;
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
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.
std::vector< Ptr< MobilityModel > > mobilityStack
virtual ~SteadyStateRandomWaypointTest()
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 ...
SteadyStateRandomWaypointTest()
ns3::SteadyStateRandomWaypointTestSuite g_steadyStateRandomWaypointTestSuite
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
void AddTestCase(TestCase *testCase) NS_DEPRECATED
Add an individual child TestCase case to this TestCase.
static void SetSeed(uint32_t seed)
set the seed it will duplicate the seed value 6 times
virtual void DoRun(void)
Implementation to actually run this TestCase.
virtual void DoTeardown(void)
Implementation to do any local setup required for this TestCase.
instantiate subclasses of ns3::Object.
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...
This test suite implements a Unit Test.
Hold a floating point type.
SteadyStateRandomWaypointTestSuite()
Ptr< T > GetObject(void) const