Every test case is supposed to: More...
Classes | |
struct | ReferencePoint |
Single record in mobility reference. More... | |
Public Member Functions | |
Ns2MobilityHelperTest (const std::string &name, Time timeLimit, uint32_t nodes=1) | |
Create new test case. More... | |
~Ns2MobilityHelperTest () override | |
Empty. More... | |
void | AddReferencePoint (const char *id, double sec, const Vector &p, const Vector &v) |
Add next reference point. More... | |
void | AddReferencePoint (const ReferencePoint &r) |
Add next reference point. More... | |
void | SetTrace (const std::string &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 | |
TestCase (const TestCase &)=delete | |
virtual | ~TestCase () |
Destructor. More... | |
std::string | GetName () const |
TestCase & | operator= (const TestCase &)=delete |
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 () const |
Create and name nodes. More... | |
void | DoRun () override |
Go. More... | |
void | DoSetup () override |
Implementation to do any local setup required for this TestCase. More... | |
void | DoTeardown () override |
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< ReferencePoint > | m_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) | |
Constructor. More... | |
void | AddTestCase (TestCase *testCase, TestDuration duration=QUICK) |
Add an individual child TestCase to this test suite. More... | |
TestCase * | GetParent () const |
Get the parent of this TestCase. More... | |
bool | IsStatusFailure () const |
Check if any tests failed. More... | |
bool | IsStatusSuccess () const |
Check if all tests passed. More... | |
void | SetDataDir (std::string directory) |
Set the data directory where reference trace files can be found. More... | |
void | ReportTestFailure (std::string cond, std::string actual, std::string limit, std::string message, std::string file, int32_t line) |
Log the failure of this TestCase. More... | |
bool | MustAssertOnFailure () const |
Check if this run should assert on failure. More... | |
bool | MustContinueOnFailure () const |
Check if this run should continue on failure. More... | |
std::string | CreateDataDirFilename (std::string filename) |
Construct the full path to a file in the data directory. More... | |
std::string | CreateTempDirFilename (std::string filename) |
Construct the full path to a file in a temporary directory. More... | |
Every test case is supposed to:
Definition at line 87 of file ns2-mobility-helper-test-suite.cc.
|
inline |
Create new test case.
To make it useful SetTrace () and AddReferencePoint () must be called
name | Short description |
timeLimit | Test time limit |
nodes | Number of nodes used in the test trace, 1 by default |
Definition at line 132 of file ns2-mobility-helper-test-suite.cc.
|
inlineoverride |
Empty.
Definition at line 141 of file ns2-mobility-helper-test-suite.cc.
|
inline |
Add next reference point.
id | reference point id |
sec | reference point ime (in seconds) |
p | reference point position |
v | reference point velocity |
Definition at line 170 of file ns2-mobility-helper-test-suite.cc.
References ns3::Seconds().
|
inline |
Add next reference point.
r | reference point to add |
Definition at line 158 of file ns2-mobility-helper-test-suite.cc.
Referenced by Ns2MobilityHelperTestSuite::Ns2MobilityHelperTestSuite().
|
inlineprivate |
Check that all initial positions are correct.
Definition at line 221 of file ns2-mobility-helper-test-suite.cc.
References AreVectorsEqual(), ns3::Object::GetObject(), ns3::MobilityModel::GetPosition(), ns3::MobilityModel::GetVelocity(), Ns2MobilityHelperTest::ReferencePoint::node, NS_TEST_ASSERT_MSG_NE_RETURNS_BOOL, NS_TEST_EXPECT_MSG_EQ, Ns2MobilityHelperTest::ReferencePoint::pos, ns3::Seconds(), and Ns2MobilityHelperTest::ReferencePoint::vel.
|
inlineprivate |
Listen for course change events.
context | event context |
mobility | a pointer to the mobility model |
Definition at line 255 of file ns2-mobility-helper-test-suite.cc.
References AreVectorsEqual(), ns3::Names::FindName(), ns3::Time::GetSeconds(), third::mobility, Ns2MobilityHelperTest::ReferencePoint::node, ns3::Simulator::Now(), NS_ASSERT, NS_TEST_EXPECT_MSG_EQ, NS_TEST_EXPECT_MSG_LT, Ns2MobilityHelperTest::ReferencePoint::pos, Ns2MobilityHelperTest::ReferencePoint::time, and Ns2MobilityHelperTest::ReferencePoint::vel.
Referenced by DoRun().
|
inlineprivate |
Create and name nodes.
Definition at line 205 of file ns2-mobility-helper-test-suite.cc.
References ns3::Names::Add(), ns3::NodeContainer::Create(), ns3::NodeContainer::Get(), and nodes.
|
inlineoverrideprivatevirtual |
Go.
Implements ns3::TestCase.
Definition at line 300 of file ns2-mobility-helper-test-suite.cc.
References ns3::Config::Connect(), CourseChange(), ns3::MakeCallback(), third::mobility, NS_TEST_ASSERT_MSG_EQ, ns3::Simulator::Run(), and ns3::Simulator::Stop().
|
inlineoverrideprivatevirtual |
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 288 of file ns2-mobility-helper-test-suite.cc.
|
inlineoverrideprivatevirtual |
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 293 of file ns2-mobility-helper-test-suite.cc.
References ns3::Names::Clear(), and ns3::Simulator::Destroy().
|
inline |
Set NS-2 trace to read as single large string (don't forget to add \n and quote "'s)
trace | the mobility trace |
Definition at line 149 of file ns2-mobility-helper-test-suite.cc.
Referenced by Ns2MobilityHelperTestSuite::Ns2MobilityHelperTestSuite().
|
inlineprivate |
Dump NS-2 trace to tmp file.
Definition at line 194 of file ns2-mobility-helper-test-suite.cc.
References NS_TEST_ASSERT_MSG_EQ_RETURNS_BOOL.
|
private |
Next reference point to be checked.
Definition at line 185 of file ns2-mobility-helper-test-suite.cc.
|
private |
Number of nodes used in the test.
Definition at line 179 of file ns2-mobility-helper-test-suite.cc.
|
private |
Reference mobility.
Definition at line 183 of file ns2-mobility-helper-test-suite.cc.
|
private |
Test time limit.
Definition at line 177 of file ns2-mobility-helper-test-suite.cc.
|
private |
Trace as string.
Definition at line 181 of file ns2-mobility-helper-test-suite.cc.
|
private |
TMP trace file name.
Definition at line 187 of file ns2-mobility-helper-test-suite.cc.