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

Every test case is supposed to: More...

+ Inheritance diagram for ns3::Ns2MobilityHelperTest:
+ Collaboration 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)
 Create new test case. More...
 
virtual ~Ns2MobilityHelperTest ()
 Empty. More...
 
void AddReferencePoint (ReferencePoint const &r)
 Add next reference point. More...
 
void AddReferencePoint (const char *id, double sec, Vector const &p, Vector const &v)
 Sugar. More...
 
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) More...
 
- Public Member Functions inherited from ns3::TestCase
virtual ~TestCase ()
 Destructor. More...
 

Private Member Functions

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

Private Attributes

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

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 child TestCase case to this TestCase. More...
 
void AddTestCase (TestCase *testCase, enum TestDuration duration)
 Add an individual child TestCase 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 83 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 114 of file ns2-mobility-helper-test-suite.cc.

virtual ns3::Ns2MobilityHelperTest::~Ns2MobilityHelperTest ( )
inlinevirtual

Empty.

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

Member Function Documentation

void ns3::Ns2MobilityHelperTest::AddReferencePoint ( ReferencePoint const &  r)
inline

Add next reference point.

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

References m_reference.

Referenced by AddReferencePoint(), and ns3::Ns2MobilityHelperTestSuite::Ns2MobilityHelperTestSuite().

+ Here is the caller graph for this function:

void ns3::Ns2MobilityHelperTest::AddReferencePoint ( const char *  id,
double  sec,
Vector const &  p,
Vector const &  v 
)
inline

Sugar.

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

References AddReferencePoint().

+ Here is the call graph for this function:

bool ns3::Ns2MobilityHelperTest::CheckInitialPositions ( )
inlineprivate
void ns3::Ns2MobilityHelperTest::CourseChange ( std::string  context,
Ptr< const MobilityModel mobility 
)
inlineprivate
void ns3::Ns2MobilityHelperTest::CreateNodes ( )
inlineprivate

Create and name nodes.

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

References ns3::Names::Add(), ns3::NodeContainer::Create(), ns3::NodeContainer::Get(), m_nodeCount, and first::nodes.

Referenced by DoSetup().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Implementation to do any local setup required for this TestCase.

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

Reimplemented from ns3::TestCase.

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

References CreateNodes().

+ Here is the call graph for this function:

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

Implementation to do any local setup required for this TestCase.

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

Reimplemented from ns3::TestCase.

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

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

+ Here is the call graph for this function:

void ns3::Ns2MobilityHelperTest::SetTrace ( std::string const &  trace)
inline

Set NS-2 trace to read as single large string (don't forget to add \n and quote "'s)

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

References m_trace.

Referenced by ns3::Ns2MobilityHelperTestSuite::Ns2MobilityHelperTestSuite().

+ Here is the caller graph for this function:

bool ns3::Ns2MobilityHelperTest::WriteTrace ( )
inlineprivate

Dump NS-2 trace to tmp file.

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

References ns3::TestCase::CreateTempDirFilename(), m_trace, m_traceFile, and NS_TEST_ASSERT_MSG_EQ_RETURNS_BOOL.

Referenced by DoRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

size_t ns3::Ns2MobilityHelperTest::m_nextRefPoint
private

Next reference point to be checked.

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

Referenced by CheckInitialPositions(), and CourseChange().

uint32_t ns3::Ns2MobilityHelperTest::m_nodeCount
private

Number of nodes used in the test.

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

Referenced by CreateNodes().

std::vector<ReferencePoint> ns3::Ns2MobilityHelperTest::m_reference
private

Reference mobility.

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

Referenced by AddReferencePoint(), CheckInitialPositions(), CourseChange(), and DoRun().

Time ns3::Ns2MobilityHelperTest::m_timeLimit
private

Test time limit.

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

Referenced by DoRun().

std::string ns3::Ns2MobilityHelperTest::m_trace
private

Trace as string.

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

Referenced by DoRun(), SetTrace(), and WriteTrace().

std::string ns3::Ns2MobilityHelperTest::m_traceFile
private

TMP trace file name.

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

Referenced by DoRun(), DoTeardown(), and WriteTrace().


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