A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ns3::Ns2MobilityHelperTest Class Reference
+ Inheritance diagram for ns3::Ns2MobilityHelperTest:

Classes

struct  ReferencePoint
 Single record in mobility reference. More...
 

Public Member Functions

 Ns2MobilityHelperTest (std::string const &name, Time timeLimit, uint32_t nodes=1)
 
virtual ~Ns2MobilityHelperTest ()
 Empty.
 
void AddReferencePoint (ReferencePoint const &r)
 Add next reference point.
 
void AddReferencePoint (const char *id, double sec, Vector const &p, Vector const &v)
 Sugar.
 
void SetTrace (std::string const &trace)
 Set NS-2 trace to read as single large string (don't forget to add \n and quote "'s)
 

Private Member Functions

bool CheckInitialPositions ()
 Check that all initial positions are correct.
 
void CourseChange (std::string context, Ptr< const MobilityModel > mobility)
 Listen for course change events.
 
void CreateNodes ()
 Create and name nodes.
 
void DoRun ()
 Go.
 
void DoSetup ()
 Implementation to do any local setup required for this test case. More...
 
void DoTeardown ()
 Implementation to do any local setup required for this test case. More...
 
bool WriteTrace ()
 Dump NS-2 trace to tmp file.
 

Private Attributes

size_t m_nextRefPoint
 Next reference point to be checked.
 
uint32_t m_nodeCount
 Number of nodes used in the test.
 
std::vector< ReferencePointm_reference
 Reference mobility.
 
Time m_timeLimit
 Test time limit.
 
std::string m_trace
 Trace as string.
 
std::string m_traceFile
 TMP trace file name.
 

Additional Inherited Members

- Public Types inherited from ns3::TestCase
enum  TestDuration { QUICK = 1, EXTENSIVE = 2, TAKES_FOREVER = 3 }
 How long the test takes to execute. More...
 
- Protected Member Functions inherited from ns3::TestCase
 TestCase (std::string name)
 
void AddTestCase (TestCase *testCase) NS_DEPRECATED
 Add an individual test case to this test suite. More...
 
void AddTestCase (TestCase *testCase, enum TestDuration duration)
 Add an individual test case to this test suite. More...
 
std::string CreateDataDirFilename (std::string filename)
 
std::string CreateTempDirFilename (std::string filename)
 
bool GetErrorStatus (void) const NS_DEPRECATED
 
std::string GetName (void) const
 
bool IsStatusFailure (void) const
 
bool IsStatusSuccess (void) const
 
bool MustAssertOnFailure (void) const
 
bool MustContinueOnFailure (void) const
 
void ReportTestFailure (std::string cond, std::string actual, std::string limit, std::string message, std::string file, int32_t line)
 
void SetDataDir (std::string directory)
 

Detailed Description

Every test case is supposed to:

  1. Generate short mobility trace file
  2. Read it back using Ns2MobilityHelper
  3. Check initial node positions and speeds.
  4. Run simulation listening for all CourseChange events and compare actual mobility with the reference

Definition at line 81 of file ns2-mobility-helper-test-suite.cc.

Constructor & Destructor Documentation

ns3::Ns2MobilityHelperTest::Ns2MobilityHelperTest ( std::string const &  name,
Time  timeLimit,
uint32_t  nodes = 1 
)
inline

Create new test case. To make it useful SetTrace () and AddReferencePoint () must be called

Parameters
nameShort description
timeLimitTest time limit
nodesNumber of nodes used in the test trace, 1 by default

Definition at line 112 of file ns2-mobility-helper-test-suite.cc.

Member Function Documentation

void ns3::Ns2MobilityHelperTest::DoSetup ( void  )
inlineprivatevirtual

Implementation to do any local setup required for this test case.

Subclasses should override this method to perform any costly per-test setup before DoRun is invoked.

Reimplemented from ns3::TestCase.

Definition at line 222 of file ns2-mobility-helper-test-suite.cc.

References CreateNodes().

void ns3::Ns2MobilityHelperTest::DoTeardown ( void  )
inlineprivatevirtual

Implementation to do any local setup required for this test case.

Subclasses should override this method to perform any costly per-test teardown

Reimplemented from ns3::TestCase.

Definition at line 227 of file ns2-mobility-helper-test-suite.cc.

References ns3::Names::Clear(), ns3::Simulator::Destroy(), and m_traceFile.


The documentation for this class was generated from the following file: