Implements tests for the Length class. More...
Public Member Functions | |
LengthTestCase () | |
Constructor. More... | |
virtual | ~LengthTestCase ()=default |
Destructor. More... | |
Public Member Functions inherited from ns3::TestCase | |
TestCase (const TestCase &)=delete | |
virtual | ~TestCase () |
Destructor. More... | |
std::string | GetName (void) const |
TestCase & | operator= (const TestCase &)=delete |
Protected Member Functions | |
void | AssertFalse (bool condition, std::string msg) |
Helper function to compare results with false. More... | |
void | AssertTrue (bool condition, std::string msg) |
Helper function to compare results with true. 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... | |
TestCase * | GetParent () 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... | |
Private Member Functions | |
virtual void | DoRun () |
Implementation to actually run this TestCase. More... | |
void | TestConstructLengthFromQuantity () |
Test that a Length object can be constructed from a Quantity object. More... | |
void | TestConstructLengthFromSIUnits () |
Test that a Length object constructed from various SI units has the correct value in meters. More... | |
void | TestConstructLengthFromString (double unitValue, double meterValue, double tolerance, const std::initializer_list< std::string > &symbols) |
Test that a length object can be constructed from a string. More... | |
void | TestConstructLengthFromUSUnits () |
Test that a Length object constructed from various US units has the correct value in meters. More... | |
void | TestCopyAssignment () |
Test that a length object can be updated by assignment from another length object. More... | |
void | TestDefaultLengthIsZero () |
Test that a default constructed Length object has a value of 0. More... | |
void | TestInputStreamOperator () |
Test reading length object from a stream produces the expected length value. More... | |
void | TestLengthCopyConstructor () |
Test that the value from one length is copied to another using the copy constructor. More... | |
void | TestLengthMoveConstructor () |
Test that the value from one length is copied to another using the move constructor. More... | |
template<class T > | |
void | TestLengthSerialization (const Length &l, const T &unit, const std::string &expectedOutput, const std::string &context) |
Generic function for testing serialization of a Length object in various units. More... | |
void | TestMoveAssignment () |
Test that a length object can be updated by assignment from a moved length object. More... | |
void | TestOutputStreamOperator () |
Test writing length object to a stream produces the expected output. More... | |
void | TestQuantityAssignment () |
Test that a length object can be updated by assignment from a quantity. More... | |
void | TestSerializeLengthWithUnit () |
Test serializing a length object to all of the supported unit types. More... | |
void | TestTryParseReturnsFalse () |
Test the TryParse function returns false on bad input. More... | |
void | TestTryParseReturnsTrue () |
Test the TryParse function returns true on success. More... | |
void | TestConstructLengthFromMeterString () |
Test that a length object can be constructed from a string. More... | |
void | TestConstructLengthFromNanoMeterString () |
Test that a length object can be constructed from a string. More... | |
void | TestConstructLengthFromMicroMeterString () |
Test that a length object can be constructed from a string. More... | |
void | TestConstructLengthFromMilliMeterString () |
Test that a length object can be constructed from a string. More... | |
void | TestConstructLengthFromCentiMeterString () |
Test that a length object can be constructed from a string. More... | |
void | TestConstructLengthFromKiloMeterString () |
Test that a length object can be constructed from a string. More... | |
void | TestConstructLengthFromNauticalMileString () |
Test that a length object can be constructed from a string. More... | |
void | TestConstructLengthFromInchString () |
Test that a length object can be constructed from a string. More... | |
void | TestConstructLengthFromFootString () |
Test that a length object can be constructed from a string. More... | |
void | TestConstructLengthFromYardString () |
Test that a length object can be constructed from a string. More... | |
void | TestConstructLengthFromMileString () |
Test that a length object can be constructed from a string. More... | |
void | TestBuilderFreeFunctions () |
Test constructing length objects using the builder free functions. More... | |
void | TestIsEqualReturnsTrue () |
Test member comparison operators. More... | |
void | TestIsEqualReturnsFalse () |
Test member comparison operators. More... | |
void | TestIsEqualWithToleranceReturnsTrue () |
Test member comparison operators. More... | |
void | TestIsEqualWithToleranceReturnsFalse () |
Test member comparison operators. More... | |
void | TestIsNotEqualReturnsTrue () |
Test member comparison operators. More... | |
void | TestIsNotEqualReturnsFalse () |
Test member comparison operators. More... | |
void | TestIsNotEqualWithToleranceReturnsTrue () |
Test member comparison operators. More... | |
void | TestIsNotEqualWithToleranceReturnsFalse () |
Test member comparison operators. More... | |
void | TestIsLessReturnsTrue () |
Test member comparison operators. More... | |
void | TestIsLessReturnsFalse () |
Test member comparison operators. More... | |
void | TestIsLessWithToleranceReturnsFalse () |
Test member comparison operators. More... | |
void | TestIsGreaterReturnsTrue () |
Test member comparison operators. More... | |
void | TestIsGreaterReturnsFalse () |
Test member comparison operators. More... | |
void | TestIsGreaterWithToleranceReturnsFalse () |
Test member comparison operators. More... | |
void | TestOperatorEqualsReturnsTrue () |
Test free function comparison operators. More... | |
void | TestOperatorEqualsReturnsFalse () |
Test free function comparison operators. More... | |
void | TestOperatorNotEqualsReturnsTrue () |
Test free function comparison operators. More... | |
void | TestOperatorNotEqualsReturnsFalse () |
Test free function comparison operators. More... | |
void | TestOperatorLessThanReturnsTrue () |
Test free function comparison operators. More... | |
void | TestOperatorLessThanReturnsFalse () |
Test free function comparison operators. More... | |
void | TestOperatorLessOrEqualReturnsTrue () |
Test free function comparison operators. More... | |
void | TestOperatorLessOrEqualReturnsFalse () |
Test free function comparison operators. More... | |
void | TestOperatorGreaterThanReturnsTrue () |
Test free function comparison operators. More... | |
void | TestOperatorGreaterThanReturnsFalse () |
Test free function comparison operators. More... | |
void | TestOperatorGreaterOrEqualReturnsTrue () |
Test free function comparison operators. More... | |
void | TestOperatorGreaterOrEqualReturnsFalse () |
Test free function comparison operators. More... | |
void | TestAddingTwoLengths () |
Test arithmetic operations. More... | |
void | TestAddingLengthAndQuantity () |
Test arithmetic operations. More... | |
void | TestAddingQuantityAndLength () |
Test arithmetic operations. More... | |
void | TestSubtractingTwoLengths () |
Test arithmetic operations. More... | |
void | TestSubtractingLengthAndQuantity () |
Test arithmetic operations. More... | |
void | TestSubtractingQuantityAndLength () |
Test arithmetic operations. More... | |
void | TestMultiplyLengthByScalar () |
Test arithmetic operations. More... | |
void | TestMultiplyScalarByLength () |
Test arithmetic operations. More... | |
void | TestDivideLengthByScalar () |
Test arithmetic operations. More... | |
void | TestDivideLengthByLength () |
Test arithmetic operations. More... | |
void | TestDivideLengthByLengthReturnsNaN () |
Test arithmetic operations. More... | |
void | TestDivReturnsCorrectResult () |
Test Div function. More... | |
void | TestDivReturnsZeroRemainder () |
Test Div function. More... | |
void | TestDivReturnsCorrectRemainder () |
Test Div function. More... | |
void | TestModReturnsZero () |
Test Mod function. More... | |
void | TestModReturnsNonZero () |
Test Mod function. 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... | |
Implements tests for the Length class.
Definition at line 64 of file length-test-suite.cc.
|
inline |
Constructor.
Definition at line 70 of file length-test-suite.cc.
|
virtualdefault |
Destructor.
|
inlineprotected |
Helper function to compare results with false.
condition | The boolean condition to test |
msg | The message to print if the test fails |
Definition at line 86 of file length-test-suite.cc.
References NS_TEST_ASSERT_MSG_EQ.
|
inlineprotected |
Helper function to compare results with true.
condition | The boolean condition to test |
msg | The message to print if the test fails |
Definition at line 97 of file length-test-suite.cc.
References NS_TEST_ASSERT_MSG_EQ.
|
privatevirtual |
Implementation to actually run this TestCase.
Subclasses should override this method to conduct their tests.
Implements ns3::TestCase.
Definition at line 1379 of file length-test-suite.cc.
|
private |
Test arithmetic operations.
Definition at line 1132 of file length-test-suite.cc.
References ns3::Length::GetDouble(), NS_TEST_ASSERT_MSG_EQ, and test-ns3::result.
|
private |
Test arithmetic operations.
Definition at line 1148 of file length-test-suite.cc.
References ns3::Length::GetDouble(), NS_TEST_ASSERT_MSG_EQ, and test-ns3::result.
|
private |
Test arithmetic operations.
Definition at line 1113 of file length-test-suite.cc.
References ns3::Length::GetDouble(), NS_TEST_ASSERT_MSG_EQ, and test-ns3::result.
|
private |
Test constructing length objects using the builder free functions.
Definition at line 618 of file length-test-suite.cc.
References ns3::CentiMeters(), ns3::Feet(), ns3::Inches(), ns3::KiloMeters(), ns3::Meters(), ns3::MicroMeters(), ns3::Miles(), ns3::MilliMeters(), ns3::NanoMeters(), ns3::NauticalMiles(), NS_TEST_ASSERT_MSG_EQ, and ns3::Yards().
|
private |
Test that a length object can be constructed from a string.
Definition at line 485 of file length-test-suite.cc.
|
private |
Test that a length object can be constructed from a string.
Definition at line 528 of file length-test-suite.cc.
|
private |
Test that a length object can be constructed from a string.
Definition at line 517 of file length-test-suite.cc.
|
private |
Test that a length object can be constructed from a string.
Definition at line 497 of file length-test-suite.cc.
|
private |
Test that a length object can be constructed from a string.
Definition at line 441 of file length-test-suite.cc.
|
private |
Test that a length object can be constructed from a string.
Definition at line 461 of file length-test-suite.cc.
|
private |
Test that a length object can be constructed from a string.
Definition at line 550 of file length-test-suite.cc.
|
private |
Test that a length object can be constructed from a string.
Definition at line 473 of file length-test-suite.cc.
|
private |
Test that a length object can be constructed from a string.
Definition at line 450 of file length-test-suite.cc.
|
private |
Test that a length object can be constructed from a string.
Definition at line 508 of file length-test-suite.cc.
|
private |
Test that a Length object can be constructed from a Quantity object.
Definition at line 330 of file length-test-suite.cc.
References ns3::Length::GetDouble(), NS_TEST_ASSERT_MSG_EQ, and ns3::Length::Quantity::Value().
|
private |
Test that a Length object constructed from various SI units has the correct value in meters.
Definition at line 341 of file length-test-suite.cc.
References ns3::Length::GetDouble(), and NS_TEST_ASSERT_MSG_EQ.
|
private |
Test that a length object can be constructed from a string.
unitValue | //!< Value to test. |
meterValue | //!< Reference value [m]. |
tolerance | //!< Tolerance. |
symbols | //!< Unit symbols. |
Definition at line 415 of file length-test-suite.cc.
References ns3::Length::GetDouble(), and NS_TEST_ASSERT_MSG_EQ_TOL.
|
private |
Test that a Length object constructed from various US units has the correct value in meters.
Definition at line 366 of file length-test-suite.cc.
References ns3::Length::GetDouble(), and NS_TEST_ASSERT_MSG_EQ_TOL.
|
private |
Test that a length object can be constructed from a string.
Definition at line 539 of file length-test-suite.cc.
|
private |
Test that a length object can be updated by assignment from another length object.
Definition at line 689 of file length-test-suite.cc.
References ns3::Length::GetDouble(), and NS_TEST_ASSERT_MSG_EQ.
|
private |
Test that a default constructed Length object has a value of 0.
Definition at line 322 of file length-test-suite.cc.
References ns3::Length::GetDouble(), and NS_TEST_ASSERT_MSG_EQ.
|
private |
Test arithmetic operations.
Definition at line 1263 of file length-test-suite.cc.
References ns3::Length::GetDouble(), NS_TEST_ASSERT_MSG_EQ, and test-ns3::result.
|
private |
Test arithmetic operations.
Definition at line 1284 of file length-test-suite.cc.
References test-ns3::result.
|
private |
Test arithmetic operations.
Definition at line 1247 of file length-test-suite.cc.
References ns3::Length::GetDouble(), NS_TEST_ASSERT_MSG_EQ, and test-ns3::result.
|
private |
Test Div function.
Definition at line 1334 of file length-test-suite.cc.
References ns3::Div(), ns3::Length::GetDouble(), NS_TEST_ASSERT_MSG_EQ, and test-ns3::result.
|
private |
Test Div function.
Definition at line 1298 of file length-test-suite.cc.
References ns3::Div(), NS_TEST_ASSERT_MSG_EQ, and test-ns3::result.
|
private |
Test Div function.
Definition at line 1314 of file length-test-suite.cc.
References ns3::Div(), ns3::Length::GetDouble(), NS_TEST_ASSERT_MSG_EQ, and test-ns3::result.
|
private |
Test reading length object from a stream produces the expected length value.
Definition at line 906 of file length-test-suite.cc.
References ns3::Length::GetDouble(), and NS_TEST_ASSERT_MSG_EQ.
|
private |
Test member comparison operators.
Definition at line 741 of file length-test-suite.cc.
References ns3::Length::IsEqual().
|
private |
Test member comparison operators.
Definition at line 731 of file length-test-suite.cc.
References ns3::Length::IsEqual().
|
private |
Test member comparison operators.
Definition at line 764 of file length-test-suite.cc.
References ns3::Length::IsEqual().
|
private |
Test member comparison operators.
Definition at line 751 of file length-test-suite.cc.
References ns3::Length::IsEqual().
|
private |
Test member comparison operators.
Definition at line 871 of file length-test-suite.cc.
References ns3::Length::IsGreater().
|
private |
Test member comparison operators.
Definition at line 861 of file length-test-suite.cc.
References ns3::Length::IsGreater().
|
private |
Test member comparison operators.
Definition at line 881 of file length-test-suite.cc.
References ns3::Length::IsGreater().
|
private |
Test member comparison operators.
Definition at line 837 of file length-test-suite.cc.
References ns3::Length::IsLess().
|
private |
Test member comparison operators.
Definition at line 825 of file length-test-suite.cc.
References ns3::Length::IsLess().
|
private |
Test member comparison operators.
Definition at line 849 of file length-test-suite.cc.
References ns3::Length::IsLess().
|
private |
Test member comparison operators.
Definition at line 789 of file length-test-suite.cc.
References ns3::Length::IsNotEqual().
|
private |
Test member comparison operators.
Definition at line 777 of file length-test-suite.cc.
References ns3::Length::IsNotEqual().
|
private |
Test member comparison operators.
Definition at line 813 of file length-test-suite.cc.
References ns3::Length::IsNotEqual().
|
private |
Test member comparison operators.
Definition at line 801 of file length-test-suite.cc.
References ns3::Length::IsNotEqual().
|
private |
Test that the value from one length is copied to another using the copy constructor.
Definition at line 391 of file length-test-suite.cc.
References ns3::Length::GetDouble(), and NS_TEST_ASSERT_MSG_EQ.
|
private |
Test that the value from one length is copied to another using the move constructor.
Definition at line 403 of file length-test-suite.cc.
References ns3::Length::GetDouble(), and NS_TEST_ASSERT_MSG_EQ.
|
private |
Generic function for testing serialization of a Length object in various units.
T | Type of the length unit that should be output during serialization |
l | Length object to serialize |
unit | Unit that the length value will be converted to before serialization |
expectedOutput | Expected result of the serialization |
context | Included in the error message if the test fails |
Definition at line 924 of file length-test-suite.cc.
References ns3::Length::As(), and NS_TEST_ASSERT_MSG_EQ.
|
private |
Test Mod function.
Definition at line 1366 of file length-test-suite.cc.
References ns3::Mod(), NS_TEST_ASSERT_MSG_EQ, and test-ns3::result.
|
private |
Test Mod function.
Definition at line 1354 of file length-test-suite.cc.
References ns3::Mod(), NS_TEST_ASSERT_MSG_EQ, and test-ns3::result.
|
private |
Test that a length object can be updated by assignment from a moved length object.
Definition at line 703 of file length-test-suite.cc.
References ns3::Length::GetDouble(), and NS_TEST_ASSERT_MSG_EQ.
|
private |
Test arithmetic operations.
Definition at line 1215 of file length-test-suite.cc.
References ns3::Length::GetDouble(), NS_TEST_ASSERT_MSG_EQ, and test-ns3::result.
|
private |
Test arithmetic operations.
Definition at line 1231 of file length-test-suite.cc.
References ns3::Length::GetDouble(), NS_TEST_ASSERT_MSG_EQ, and test-ns3::result.
|
private |
Test free function comparison operators.
Definition at line 971 of file length-test-suite.cc.
|
private |
Test free function comparison operators.
Definition at line 959 of file length-test-suite.cc.
|
private |
Test free function comparison operators.
Definition at line 1101 of file length-test-suite.cc.
|
private |
Test free function comparison operators.
Definition at line 1085 of file length-test-suite.cc.
|
private |
Test free function comparison operators.
Definition at line 1073 of file length-test-suite.cc.
|
private |
Test free function comparison operators.
Definition at line 1061 of file length-test-suite.cc.
|
private |
Test free function comparison operators.
Definition at line 1049 of file length-test-suite.cc.
|
private |
Test free function comparison operators.
Definition at line 1033 of file length-test-suite.cc.
|
private |
Test free function comparison operators.
Definition at line 1021 of file length-test-suite.cc.
|
private |
Test free function comparison operators.
Definition at line 1009 of file length-test-suite.cc.
|
private |
Test free function comparison operators.
Definition at line 996 of file length-test-suite.cc.
|
private |
Test free function comparison operators.
Definition at line 983 of file length-test-suite.cc.
|
private |
Test writing length object to a stream produces the expected output.
Definition at line 893 of file length-test-suite.cc.
References NS_TEST_ASSERT_MSG_EQ.
|
private |
Test that a length object can be updated by assignment from a quantity.
Definition at line 717 of file length-test-suite.cc.
References NS_TEST_ASSERT_MSG_EQ.
|
private |
Test serializing a length object to all of the supported unit types.
Definition at line 941 of file length-test-suite.cc.
|
private |
Test arithmetic operations.
Definition at line 1183 of file length-test-suite.cc.
References ns3::Length::GetDouble(), NS_TEST_ASSERT_MSG_EQ, and test-ns3::result.
|
private |
Test arithmetic operations.
Definition at line 1199 of file length-test-suite.cc.
References ns3::Length::GetDouble(), NS_TEST_ASSERT_MSG_EQ, and test-ns3::result.
|
private |
Test arithmetic operations.
Definition at line 1164 of file length-test-suite.cc.
References ns3::Length::GetDouble(), NS_TEST_ASSERT_MSG_EQ, and test-ns3::result.
|
private |
Test the TryParse function returns false on bad input.
Definition at line 651 of file length-test-suite.cc.
References ns3::Length::TryParse().
|
private |
Test the TryParse function returns true on success.
Definition at line 659 of file length-test-suite.cc.
References NS_TEST_ASSERT_MSG_EQ_TOL, test-ns3::tests, and ns3::Length::TryParse().