A Discrete-Event Network Simulator
API
ns3::test::RandomVariable::EmpiricalTestCase Class Reference

Test case for empirical distribution random variable stream generator. More...

+ Inheritance diagram for ns3::test::RandomVariable::EmpiricalTestCase:
+ Collaboration diagram for ns3::test::RandomVariable::EmpiricalTestCase:

Public Member Functions

 EmpiricalTestCase ()
 
- Public Member Functions inherited from ns3::test::RandomVariable::TestCaseBase
 TestCaseBase (std::string name)
 Constructor. More...
 
double Average (Ptr< RandomVariableStream > rng) const
 Compute the average of a random variable. More...
 
double ChiSquared (gsl_histogram *h, const std::vector< double > &expected, Ptr< RandomVariableStream > rng) const
 Compute the chi squared value of a sampled distribution compared to the expected distribution. More...
 
double ChiSquaredsAverage (const RngGeneratorBase *generator, std::size_t nRuns) const
 Average the chi squared value over some number of runs, each run with a new instance of the random number generator. More...
 
virtual double ChiSquaredTest (Ptr< RandomVariableStream > rng) const
 Compute the chi square value from a random variable. More...
 
void SetTestSuiteSeed (void)
 Set the seed used for this test suite. More...
 
std::vector< double > UniformHistogramBins (gsl_histogram *h, double start, double end, bool underflow=true, bool overflow=true) const
 Configure a GSL histogram with uniform bins, with optional under/over-flow bins. More...
 
- Public Member Functions inherited from ns3::TestCase
 TestCase (const TestCase &)=delete
 
virtual ~TestCase ()
 Destructor. More...
 
std::string GetName (void) const
 
TestCaseoperator= (const TestCase &)=delete
 

Private Member Functions

virtual void DoRun (void)
 Implementation to actually run this TestCase. More...
 

Static Private Attributes

static constexpr double TOLERANCE {1e-2}
 Tolerance for testing rng values against expectation, as a fraction of mean value. 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...
 
- Static Public Attributes inherited from ns3::test::RandomVariable::TestCaseBase
static const uint32_t N_BINS {50}
 Number of bins for sampling the distributions. More...
 
static const uint32_t N_MEASUREMENTS {1000000}
 Number of samples to draw when populating the distributions. More...
 
static const uint32_t N_RUNS {5}
 Number of retry attempts to pass a chi-square test. 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 TestCsse. More...
 
bool IsStatusFailure (void) const
 Check if any tests failed. More...
 
bool IsStatusSuccess (void) 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 (void) const
 Check if this run should assert on failure. More...
 
bool MustContinueOnFailure (void) 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...
 

Detailed Description

Test case for empirical distribution random variable stream generator.

Definition at line 2279 of file random-variable-stream-test-suite.cc.

Constructor & Destructor Documentation

◆ EmpiricalTestCase()

ns3::test::RandomVariable::EmpiricalTestCase::EmpiricalTestCase ( )

Definition at line 2296 of file random-variable-stream-test-suite.cc.

Member Function Documentation

◆ DoRun()

void ns3::test::RandomVariable::EmpiricalTestCase::DoRun ( void  )
privatevirtual

Member Data Documentation

◆ TOLERANCE

constexpr double ns3::test::RandomVariable::EmpiricalTestCase::TOLERANCE {1e-2}
staticconstexprprivate

Tolerance for testing rng values against expectation, as a fraction of mean value.

Definition at line 2293 of file random-variable-stream-test-suite.cc.

Referenced by DoRun().


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