A Discrete-Event Network Simulator
API
ns3::tests::HashTestCase Class Reference

Base class for hash tests. More...

+ Inheritance diagram for ns3::tests::HashTestCase:
+ Collaboration diagram for ns3::tests::HashTestCase:

Public Member Functions

 HashTestCase (const std::string name)
 Constructor. More...
 
 ~HashTestCase () override
 Destructor. More...
 
- Public Member Functions inherited from ns3::TestCase
 TestCase (const TestCase &)=delete
 
virtual ~TestCase ()
 Destructor. More...
 
std::string GetName () const
 
TestCaseoperator= (const TestCase &)=delete
 

Protected Member Functions

void Check (const std::string hashName, const uint32_t hash)
 Check function. More...
 
void Check (const std::string hashName, const uint64_t hash)
 Check function. 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...
 
TestCaseGetParent () 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...
 

Protected Attributes

uint32_t hash32Reference
 The 32-bit hash of the reference. More...
 
uint64_t hash64Reference
 The 64-bit hash of the reference. More...
 
std::string key
 The reference value to hash. More...
 

Private Member Functions

void Check (const std::string hashName, const int bits, const uint64_t hash)
 Check function. More...
 
void DoRun () override
 Implementation to actually run this TestCase. 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...
 

Detailed Description

Base class for hash tests.

Definition at line 50 of file hash-test-suite.cc.

Constructor & Destructor Documentation

◆ HashTestCase()

ns3::tests::HashTestCase::HashTestCase ( const std::string  name)

Constructor.

Parameters
[in]namereference name

Definition at line 92 of file hash-test-suite.cc.

◆ ~HashTestCase()

ns3::tests::HashTestCase::~HashTestCase ( )
override

Destructor.

Definition at line 98 of file hash-test-suite.cc.

Member Function Documentation

◆ Check() [1/3]

void ns3::tests::HashTestCase::Check ( const std::string  hashName,
const int  bits,
const uint64_t  hash 
)
private

Check function.

Parameters
[in]hashNamethe name of the hash
[in]bitsthe number of bits
[in]hashthe hash value

Definition at line 115 of file hash-test-suite.cc.

References ns3::TestCase::GetName(), nlohmann::detail::hash(), hash32Reference, hash64Reference, NS_TEST_EXPECT_MSG_EQ, and check-style-clang-format::type.

+ Here is the call graph for this function:

◆ Check() [2/3]

void ns3::tests::HashTestCase::Check ( const std::string  hashName,
const uint32_t  hash 
)
protected

Check function.

Parameters
[in]hashNamethe name of the hash
[in]hashthe hash value

Definition at line 103 of file hash-test-suite.cc.

References nlohmann::detail::hash().

Referenced by Check(), ns3::tests::IncrementalTestCase::DoHash(), ns3::tests::DefaultHashTestCase::DoRun(), ns3::tests::Fnv1aTestCase::DoRun(), ns3::tests::Murmur3TestCase::DoRun(), ns3::tests::Hash32FunctionPtrTestCase::DoRun(), and ns3::tests::Hash64FunctionPtrTestCase::DoRun().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Check() [3/3]

void ns3::tests::HashTestCase::Check ( const std::string  hashName,
const uint64_t  hash 
)
protected

Check function.

Parameters
[in]hashNamethe name of the hash
[in]hashthe hash value

Definition at line 109 of file hash-test-suite.cc.

References Check(), and nlohmann::detail::hash().

+ Here is the call graph for this function:

◆ DoRun()

void ns3::tests::HashTestCase::DoRun ( )
overrideprivatevirtual

Implementation to actually run this TestCase.

Subclasses should override this method to conduct their tests.

Implements ns3::TestCase.

Reimplemented in ns3::tests::IncrementalTestCase, ns3::tests::Hash64FunctionPtrTestCase, ns3::tests::Hash32FunctionPtrTestCase, ns3::tests::Murmur3TestCase, ns3::tests::Fnv1aTestCase, and ns3::tests::DefaultHashTestCase.

Definition at line 144 of file hash-test-suite.cc.

Member Data Documentation

◆ hash32Reference

uint32_t ns3::tests::HashTestCase::hash32Reference
protected

◆ hash64Reference

uint64_t ns3::tests::HashTestCase::hash64Reference
protected

◆ key


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