TrickleTimer test. More...
Public Member Functions | |
TrickleTimerTestCase () | |
Constructor. | |
void | ConsistentEvent (Time interval, TrickleTimer *tricklePtr) |
Inject in the timer a consistent event. | |
void | DoRun () override |
Implementation to actually run this TestCase. | |
void | ExpireTimer () |
Function to invoke when TrickleTimer expires. | |
void | TestRedundancy (Time unit) |
Test the redundancy suppression. | |
void | TestSteadyState (Time unit) |
Test the steady-state. | |
void | TransientOver () |
Function to signal that the transient is over. | |
Public Member Functions inherited from ns3::TestCase | |
TestCase (const TestCase &)=delete | |
virtual | ~TestCase () |
Destructor. | |
std::string | GetName () const |
TestCase & | operator= (const TestCase &)=delete |
Public Attributes | |
bool | m_enableDataCollection |
Collect data if true. | |
std::vector< Time > | m_expiredTimes |
Time when TrickleTimer expired. | |
Additional Inherited Members | |
Public Types inherited from ns3::TestCase | |
enum class | Duration { QUICK = 1 , EXTENSIVE = 2 , TAKES_FOREVER = 3 } |
How long the test takes to execute. More... | |
Static Public Attributes inherited from ns3::TestCase | |
static constexpr auto | QUICK = Duration::QUICK |
Deprecated test duration simple enums. | |
static constexpr auto | EXTENSIVE = Duration::EXTENSIVE |
static constexpr auto | TAKES_FOREVER = Duration::TAKES_FOREVER |
Protected Member Functions inherited from ns3::TestCase | |
TestCase (std::string name) | |
Constructor. | |
void | AddTestCase (TestCase *testCase, Duration duration=Duration::QUICK) |
Add an individual child TestCase to this test suite. | |
TestCase * | GetParent () const |
Get the parent of this TestCase. | |
bool | IsStatusFailure () const |
Check if any tests failed. | |
bool | IsStatusSuccess () const |
Check if all tests passed. | |
void | SetDataDir (std::string directory) |
Set the data directory where reference trace files can be found. | |
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. | |
bool | MustAssertOnFailure () const |
Check if this run should assert on failure. | |
bool | MustContinueOnFailure () const |
Check if this run should continue on failure. | |
std::string | CreateDataDirFilename (std::string filename) |
Construct the full path to a file in the data directory. | |
std::string | CreateTempDirFilename (std::string filename) |
Construct the full path to a file in a temporary directory. | |
TrickleTimer test.
Definition at line 41 of file trickle-timer-test-suite.cc.
ns3::tests::TrickleTimerTestCase::TrickleTimerTestCase | ( | ) |
Constructor.
Definition at line 80 of file trickle-timer-test-suite.cc.
void ns3::tests::TrickleTimerTestCase::ConsistentEvent | ( | Time | interval, |
TrickleTimer * | tricklePtr ) |
Inject in the timer a consistent event.
interval | Interval |
tricklePtr | Pointer to the TrickleTimer |
Definition at line 178 of file trickle-timer-test-suite.cc.
References ConsistentEvent(), ns3::TrickleTimer::ConsistentEvent(), and ns3::Simulator::Schedule().
Referenced by ConsistentEvent(), and TestRedundancy().
|
overridevirtual |
Implementation to actually run this TestCase.
Subclasses should override this method to conduct their tests.
Implements ns3::TestCase.
Definition at line 189 of file trickle-timer-test-suite.cc.
References ns3::Seconds(), TestRedundancy(), and TestSteadyState().
void ns3::tests::TrickleTimerTestCase::ExpireTimer | ( | ) |
Function to invoke when TrickleTimer expires.
Definition at line 86 of file trickle-timer-test-suite.cc.
References m_enableDataCollection, m_expiredTimes, and ns3::Simulator::Now().
Referenced by TestRedundancy(), and TestSteadyState().
void ns3::tests::TrickleTimerTestCase::TestRedundancy | ( | Time | unit | ) |
Test the redundancy suppression.
unit | Minimum interval |
Definition at line 146 of file trickle-timer-test-suite.cc.
References ConsistentEvent(), ns3::Simulator::Destroy(), ns3::TrickleTimer::Enable(), ExpireTimer(), ns3::TrickleTimer::GetDoublings(), m_enableDataCollection, m_expiredTimes, NS_TEST_EXPECT_MSG_EQ, ns3::TrickleTimer::Reset(), ns3::Simulator::Run(), ns3::Simulator::Schedule(), ns3::TrickleTimer::SetFunction(), ns3::Simulator::Stop(), and TransientOver().
Referenced by DoRun().
void ns3::tests::TrickleTimerTestCase::TestSteadyState | ( | Time | unit | ) |
Test the steady-state.
unit | Minimum interval |
Definition at line 103 of file trickle-timer-test-suite.cc.
References ns3::Simulator::Destroy(), ns3::TrickleTimer::Enable(), ExpireTimer(), ns3::int64x64_t::GetDouble(), ns3::TrickleTimer::GetDoublings(), m_enableDataCollection, m_expiredTimes, NS_TEST_ASSERT_MSG_EQ, NS_TEST_EXPECT_MSG_EQ, NS_TEST_EXPECT_MSG_GT_OR_EQ, NS_TEST_EXPECT_MSG_LT_OR_EQ, ns3::TrickleTimer::Reset(), ns3::Simulator::Run(), ns3::Simulator::Schedule(), ns3::TrickleTimer::SetFunction(), ns3::Simulator::Stop(), and TransientOver().
Referenced by DoRun().
void ns3::tests::TrickleTimerTestCase::TransientOver | ( | ) |
Function to signal that the transient is over.
Definition at line 97 of file trickle-timer-test-suite.cc.
References m_enableDataCollection.
Referenced by TestRedundancy(), and TestSteadyState().
bool ns3::tests::TrickleTimerTestCase::m_enableDataCollection |
Collect data if true.
Definition at line 77 of file trickle-timer-test-suite.cc.
Referenced by ExpireTimer(), TestRedundancy(), TestSteadyState(), and TransientOver().
std::vector<Time> ns3::tests::TrickleTimerTestCase::m_expiredTimes |
Time when TrickleTimer expired.
Definition at line 51 of file trickle-timer-test-suite.cc.
Referenced by ExpireTimer(), TestRedundancy(), and TestSteadyState().