20#include "ns3/average.h"
43 void DoRun()
override;
47 :
TestCase(
"Average Object Test using One Integer")
73 for (
long i = 0; i < count; i++)
75 value = multiple * (i + 1);
84 max = multiple * count;
87 stddev = std::sqrt(variance);
93 "Count value outside of tolerance "
98 "Min value outside of tolerance "
103 "Max value outside of tolerance "
108 "Mean value outside of tolerance "
109 <<
TOLERANCE <<
"; difference: " << calculator.
Mean() - mean);
113 "Stddev value outside of tolerance "
118 "Variance value outside of tolerance "
119 <<
TOLERANCE <<
"; difference: " << calculator.
Var() - variance);
134 void DoRun()
override;
138 :
TestCase(
"Average Object Test using Five Integers")
165 for (
long i = 0; i < count; i++)
167 value = multiple * (i + 1);
172 sqrSum += value * value;
177 max = multiple * count;
179 variance = (count * sqrSum - sum * sum) / (count * (count - 1));
180 stddev = std::sqrt(variance);
186 "Count value outside of tolerance "
191 "Min value outside of tolerance "
196 "Max value outside of tolerance "
201 "Mean value outside of tolerance "
202 <<
TOLERANCE <<
"; difference: " << calculator.
Mean() - mean);
206 "Stddev value outside of tolerance "
211 "Variance value outside of tolerance "
212 <<
TOLERANCE <<
"; difference: " << calculator.
Var() - variance);
227 void DoRun()
override;
231 :
TestCase(
"Average Object Test using Five Double Values")
256 double multiple = 3.14;
258 for (
long i = 0; i < count; i++)
260 value = multiple * (i + 1);
265 sqrSum += value * value;
270 max = multiple * count;
272 variance = (count * sqrSum - sum * sum) / (count * (count - 1));
273 stddev = std::sqrt(variance);
279 "Count value outside of tolerance "
284 "Min value outside of tolerance "
289 "Max value outside of tolerance "
294 "Mean value outside of tolerance "
295 <<
TOLERANCE <<
"; difference: " << calculator.
Mean() - mean);
299 "Stddev value outside of tolerance "
304 "Variance value outside of tolerance "
305 <<
TOLERANCE <<
"; difference: " << calculator.
Var() - variance);
static AverageTestSuite averageTestSuite
Static variable for test initialization.
Average class - Test case for five double values.
~FiveDoublesAverageTestCase() override
void DoRun() override
Implementation to actually run this TestCase.
FiveDoublesAverageTestCase()
Average class - Test case for five integers.
~FiveIntegersAverageTestCase() override
void DoRun() override
Implementation to actually run this TestCase.
FiveIntegersAverageTestCase()
Average class - Test case for a single integer.
~OneIntegerAverageTestCase() override
void DoRun() override
Implementation to actually run this TestCase.
OneIntegerAverageTestCase()
Simple average, min, max and std.
T Min() const
Sample minimum.
double Var() const
Sample unbiased nbiased estimate of variance.
T Max() const
Sample maximum.
void Update(const T &x)
Add new sample.
uint32_t Count() const
Sample size.
double Stddev() const
Sample standard deviation.
double Mean() const
Sample estimate of mean, alias to Avg.
void AddTestCase(TestCase *testCase, TestDuration duration=QUICK)
Add an individual child TestCase to this test suite.
#define NS_TEST_ASSERT_MSG_EQ_TOL(actual, limit, tol, msg)
Test that actual and expected (limit) values are equal to plus or minus some tolerance and report and...
Every class exported by the ns3 library is enclosed in the ns3 namespace.