Implements tests for the Length class. More...
 Inheritance diagram for LengthTestCase:
 Inheritance diagram for LengthTestCase: Collaboration diagram for LengthTestCase:
 Collaboration diagram for LengthTestCase:| Public Member Functions | |
| LengthTestCase () | |
| Constructor.  More... | |
| virtual | ~LengthTestCase ()=default | 
| Destructor.  More... | |
|  Public Member Functions inherited from ns3::TestCase | |
| virtual | ~TestCase () | 
| Destructor.  More... | |
| std::string | GetName (void) const | 
| 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 | 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 | 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 | 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 67 of file length-test-suite.cc.
| 
 | inline | 
Constructor.
Definition at line 73 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 89 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 100 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 1381 of file length-test-suite.cc.
| 
 | private | 
Test arithmetic operations.
Definition at line 1134 of file length-test-suite.cc.
References ns3::Length::GetDouble(), and NS_TEST_ASSERT_MSG_EQ.
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
Test arithmetic operations.
Definition at line 1150 of file length-test-suite.cc.
References ns3::Length::GetDouble(), and NS_TEST_ASSERT_MSG_EQ.
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
Test arithmetic operations.
Definition at line 1115 of file length-test-suite.cc.
References ns3::Length::GetDouble(), and NS_TEST_ASSERT_MSG_EQ.
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
Test constructing length objects using the builder free functions.
Definition at line 614 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().
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
Test that a length object can be constructed from a string.
Definition at line 481 of file length-test-suite.cc.
| 
 | private | 
Test that a length object can be constructed from a string.
Definition at line 524 of file length-test-suite.cc.
| 
 | private | 
Test that a length object can be constructed from a string.
Definition at line 513 of file length-test-suite.cc.
| 
 | private | 
Test that a length object can be constructed from a string.
Definition at line 493 of file length-test-suite.cc.
| 
 | private | 
Test that a length object can be constructed from a string.
Definition at line 437 of file length-test-suite.cc.
| 
 | private | 
Test that a length object can be constructed from a string.
Definition at line 457 of file length-test-suite.cc.
| 
 | private | 
Test that a length object can be constructed from a string.
Definition at line 546 of file length-test-suite.cc.
| 
 | private | 
Test that a length object can be constructed from a string.
Definition at line 469 of file length-test-suite.cc.
| 
 | private | 
Test that a length object can be constructed from a string.
Definition at line 446 of file length-test-suite.cc.
| 
 | private | 
Test that a length object can be constructed from a string.
Definition at line 504 of file length-test-suite.cc.
| 
 | private | 
Test that a Length object can be constructed from a Quantity object.
Definition at line 326 of file length-test-suite.cc.
References ns3::Length::GetDouble(), NS_TEST_ASSERT_MSG_EQ, and ns3::Length::Quantity::Value().
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
Test that a Length object constructed from various SI units has the correct value in meters.
Definition at line 337 of file length-test-suite.cc.
References ns3::Length::GetDouble(), and NS_TEST_ASSERT_MSG_EQ.
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
Test that a length object can be constructed from a string.
Definition at line 411 of file length-test-suite.cc.
References 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 362 of file length-test-suite.cc.
References ns3::Length::GetDouble(), and NS_TEST_ASSERT_MSG_EQ_TOL.
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
Test that a length object can be constructed from a string.
Definition at line 535 of file length-test-suite.cc.
| 
 | private | 
Test that a length object can be updated by assignment from another length object.
Definition at line 691 of file length-test-suite.cc.
References ns3::Length::GetDouble(), and NS_TEST_ASSERT_MSG_EQ.
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
Test that a default constructed Length object has a value of 0.
Definition at line 318 of file length-test-suite.cc.
References ns3::Length::GetDouble(), and NS_TEST_ASSERT_MSG_EQ.
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
Test arithmetic operations.
Definition at line 1265 of file length-test-suite.cc.
References ns3::Length::GetDouble(), and NS_TEST_ASSERT_MSG_EQ.
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
Test arithmetic operations.
Definition at line 1286 of file length-test-suite.cc.
| 
 | private | 
Test arithmetic operations.
Definition at line 1249 of file length-test-suite.cc.
References ns3::Length::GetDouble(), and NS_TEST_ASSERT_MSG_EQ.
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
Test Div function.
Definition at line 1336 of file length-test-suite.cc.
References ns3::Div(), ns3::Length::GetDouble(), and NS_TEST_ASSERT_MSG_EQ.
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
Test Div function.
Definition at line 1300 of file length-test-suite.cc.
References ns3::Div(), and NS_TEST_ASSERT_MSG_EQ.
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
Test Div function.
Definition at line 1316 of file length-test-suite.cc.
References ns3::Div(), ns3::Length::GetDouble(), and NS_TEST_ASSERT_MSG_EQ.
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
Test reading length object from a stream produces the expected length value.
Definition at line 908 of file length-test-suite.cc.
References NS_TEST_ASSERT_MSG_EQ.
| 
 | private | 
Test member comparison operators.
Definition at line 743 of file length-test-suite.cc.
References ns3::Length::IsEqual().
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
Test member comparison operators.
Definition at line 733 of file length-test-suite.cc.
References ns3::Length::IsEqual().
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
Test member comparison operators.
Definition at line 766 of file length-test-suite.cc.
References ns3::Length::IsEqual().
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
Test member comparison operators.
Definition at line 753 of file length-test-suite.cc.
References ns3::Length::IsEqual().
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
Test member comparison operators.
Definition at line 873 of file length-test-suite.cc.
References ns3::Length::IsGreater().
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
Test member comparison operators.
Definition at line 863 of file length-test-suite.cc.
References ns3::Length::IsGreater().
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
Test member comparison operators.
Definition at line 883 of file length-test-suite.cc.
References ns3::Length::IsGreater().
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
Test member comparison operators.
Definition at line 839 of file length-test-suite.cc.
References ns3::Length::IsLess().
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
Test member comparison operators.
Definition at line 827 of file length-test-suite.cc.
References ns3::Length::IsLess().
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
Test member comparison operators.
Definition at line 851 of file length-test-suite.cc.
References ns3::Length::IsLess().
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
Test member comparison operators.
Definition at line 791 of file length-test-suite.cc.
References ns3::Length::IsNotEqual().
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
Test member comparison operators.
Definition at line 779 of file length-test-suite.cc.
References ns3::Length::IsNotEqual().
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
Test member comparison operators.
Definition at line 815 of file length-test-suite.cc.
References ns3::Length::IsNotEqual().
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
Test member comparison operators.
Definition at line 803 of file length-test-suite.cc.
References ns3::Length::IsNotEqual().
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
Test that the value from one length is copied to another using the copy constructor.
Definition at line 387 of file length-test-suite.cc.
References ns3::Length::GetDouble(), and NS_TEST_ASSERT_MSG_EQ.
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
Test that the value from one length is copied to another using the move constructor.
Definition at line 399 of file length-test-suite.cc.
References ns3::Length::GetDouble(), and NS_TEST_ASSERT_MSG_EQ.
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | 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 926 of file length-test-suite.cc.
References ns3::Length::As(), and NS_TEST_ASSERT_MSG_EQ.
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
Test Mod function.
Definition at line 1368 of file length-test-suite.cc.
References ns3::Mod(), and NS_TEST_ASSERT_MSG_EQ.
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
Test Mod function.
Definition at line 1356 of file length-test-suite.cc.
References ns3::Mod(), and NS_TEST_ASSERT_MSG_EQ.
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
Test that a length object can be updated by assignment from a moved length object.
Definition at line 705 of file length-test-suite.cc.
References ns3::Length::GetDouble(), and NS_TEST_ASSERT_MSG_EQ.
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
Test arithmetic operations.
Definition at line 1217 of file length-test-suite.cc.
References ns3::Length::GetDouble(), and NS_TEST_ASSERT_MSG_EQ.
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
Test arithmetic operations.
Definition at line 1233 of file length-test-suite.cc.
References ns3::Length::GetDouble(), and NS_TEST_ASSERT_MSG_EQ.
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
Test free function comparison operators.
Definition at line 973 of file length-test-suite.cc.
| 
 | private | 
Test free function comparison operators.
Definition at line 961 of file length-test-suite.cc.
| 
 | private | 
Test free function comparison operators.
Definition at line 1103 of file length-test-suite.cc.
| 
 | private | 
Test free function comparison operators.
Definition at line 1087 of file length-test-suite.cc.
| 
 | private | 
Test free function comparison operators.
Definition at line 1075 of file length-test-suite.cc.
| 
 | private | 
Test free function comparison operators.
Definition at line 1063 of file length-test-suite.cc.
| 
 | private | 
Test free function comparison operators.
Definition at line 1051 of file length-test-suite.cc.
| 
 | private | 
Test free function comparison operators.
Definition at line 1035 of file length-test-suite.cc.
| 
 | private | 
Test free function comparison operators.
Definition at line 1023 of file length-test-suite.cc.
| 
 | private | 
Test free function comparison operators.
Definition at line 1011 of file length-test-suite.cc.
| 
 | private | 
Test free function comparison operators.
Definition at line 998 of file length-test-suite.cc.
| 
 | private | 
Test free function comparison operators.
Definition at line 985 of file length-test-suite.cc.
| 
 | private | 
Test writing length object to a stream produces the expected output.
Definition at line 895 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 719 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 943 of file length-test-suite.cc.
| 
 | private | 
Test arithmetic operations.
Definition at line 1185 of file length-test-suite.cc.
References ns3::Length::GetDouble(), and NS_TEST_ASSERT_MSG_EQ.
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
Test arithmetic operations.
Definition at line 1201 of file length-test-suite.cc.
References ns3::Length::GetDouble(), and NS_TEST_ASSERT_MSG_EQ.
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
Test arithmetic operations.
Definition at line 1166 of file length-test-suite.cc.
References ns3::Length::GetDouble(), and NS_TEST_ASSERT_MSG_EQ.
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
Test the TryParse function returns false on bad input.
Definition at line 647 of file length-test-suite.cc.
References ns3::Length::TryParse().
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
Test the TryParse function returns true on success.
Definition at line 658 of file length-test-suite.cc.
References ns3::Length::GetDouble(), NS_TEST_ASSERT_MSG_EQ_TOL, and ns3::Length::TryParse().
 Here is the call graph for this function:
 Here is the call graph for this function: