Test TIM Information element serialization and deserialization. More...
Public Member Functions | |
TimInformationElementTest () | |
Constructor. | |
void | CheckAidSet (const Tim &tim, uint16_t aid, const std::set< uint16_t > &expectedSet) |
Test that the GetAidSet() method return the expected set of AID values. | |
void | CheckSerializationAgainstBuffer (Tim &tim, const std::vector< uint8_t > &bufferContents) |
Test that the Bitmap Control and the Partial Virtual Bitmap fields of the provided TIM match the passed bufferContents. | |
void | DoRun () override |
Implementation to actually run this TestCase. | |
void | SetTim (Tim &tim, uint8_t dtimCount, uint8_t dtimPeriod, bool multicastPending, const std::list< uint16_t > &aidValues) |
Reset the passed TIM to have the provided parameters. | |
Public Member Functions inherited from ns3::HeaderSerializationTestCase | |
template<typename T , typename... Args> | |
void | TestHeaderSerialization (const T &hdr, Args &&... args) |
Serialize the given header in a buffer, then create a new header by deserializing from the buffer and serialize the new header into a new buffer. | |
Public Member Functions inherited from ns3::TestCase | |
TestCase (const TestCase &)=delete | |
virtual | ~TestCase () |
Destructor. | |
std::string | GetName () const |
TestCase & | operator= (const TestCase &)=delete |
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::HeaderSerializationTestCase | |
HeaderSerializationTestCase (std::string name) | |
Constructor. | |
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. | |
Test TIM Information element serialization and deserialization.
Definition at line 31 of file power-save-test.cc.
TimInformationElementTest::TimInformationElementTest | ( | ) |
Constructor.
Definition at line 74 of file power-save-test.cc.
void TimInformationElementTest::CheckAidSet | ( | const Tim & | tim, |
uint16_t | aid, | ||
const std::set< uint16_t > & | expectedSet ) |
Test that the GetAidSet() method return the expected set of AID values.
tim | the TIM element |
aid | the AID value passed to GetAidSet() |
expectedSet | the expected set of AID values returned by GetAidSet() |
Definition at line 124 of file power-save-test.cc.
References ns3::Tim::GetAidSet(), and NS_TEST_EXPECT_MSG_EQ.
Referenced by DoRun().
void TimInformationElementTest::CheckSerializationAgainstBuffer | ( | Tim & | tim, |
const std::vector< uint8_t > & | bufferContents ) |
Test that the Bitmap Control and the Partial Virtual Bitmap fields of the provided TIM match the passed bufferContents.
tim | the provided TIM |
bufferContents | the expected content of the buffer |
Definition at line 94 of file power-save-test.cc.
References ns3::Buffer::AddAtStart(), ns3::Buffer::Begin(), ns3::WifiInformationElement::GetSerializedSize(), ns3::Buffer::GetSize(), NS_TEST_EXPECT_MSG_EQ, ns3::Buffer::Iterator::ReadU8(), and ns3::WifiInformationElement::Serialize().
Referenced by DoRun().
|
overridevirtual |
Implementation to actually run this TestCase.
Subclasses should override this method to conduct their tests.
Implements ns3::TestCase.
Definition at line 167 of file power-save-test.cc.
References CheckAidSet(), CheckSerializationAgainstBuffer(), ns3::WifiInformationElement::GetSerializedSize(), NS_TEST_EXPECT_MSG_EQ, SetTim(), and ns3::HeaderSerializationTestCase::TestHeaderSerialization().
void TimInformationElementTest::SetTim | ( | Tim & | tim, |
uint8_t | dtimCount, | ||
uint8_t | dtimPeriod, | ||
bool | multicastPending, | ||
const std::list< uint16_t > & | aidValues ) |
Reset the passed TIM to have the provided parameters.
tim | the TIM element to set |
dtimCount | the DTIM count value |
dtimPeriod | the DTIM period value |
multicastPending | whether group addressed frames are queued |
aidValues | the AID values to set |
Definition at line 80 of file power-save-test.cc.
References ns3::Tim::AddAid(), ns3::Tim::m_dtimCount, ns3::Tim::m_dtimPeriod, and ns3::Tim::m_hasMulticastPending.
Referenced by DoRun().