Implements tests for the Length class. More...
Inheritance diagram for LengthTestCase:
Collaboration diagram for LengthTestCase:Public Member Functions | |
| LengthTestCase () | |
| Constructor. More... | |
| ~LengthTestCase () override=default | |
| Destructor. More... | |
Public Member Functions inherited from ns3::TestCase | |
| TestCase (const TestCase &)=delete | |
| virtual | ~TestCase () |
| Destructor. More... | |
| std::string | GetName () 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 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... | |
Private Member Functions | |
| void | DoRun () override |
| 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 63 of file length-test-suite.cc.
|
inline |
Constructor.
Definition at line 69 of file length-test-suite.cc.
|
overridedefault |
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.
|
overrideprivatevirtual |
Implementation to actually run this TestCase.
Subclasses should override this method to conduct their tests.
Implements ns3::TestCase.
Definition at line 1329 of file length-test-suite.cc.
|
private |
Test arithmetic operations.
Definition at line 1107 of file length-test-suite.cc.
References ns3::Length::GetDouble(), NS_TEST_ASSERT_MSG_EQ, and second::value.
Here is the call graph for this function:
|
private |
Test arithmetic operations.
Definition at line 1121 of file length-test-suite.cc.
References ns3::Length::GetDouble(), NS_TEST_ASSERT_MSG_EQ, and second::value.
Here is the call graph for this function:
|
private |
Test arithmetic operations.
Definition at line 1091 of file length-test-suite.cc.
References ns3::Length::GetDouble(), NS_TEST_ASSERT_MSG_EQ, and second::value.
Here is the call graph for this function:
|
private |
Test constructing length objects using the builder free functions.
Definition at line 628 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:
|
private |
Test that a length object can be constructed from a string.
Definition at line 490 of file length-test-suite.cc.
References second::value.
|
private |
Test that a length object can be constructed from a string.
Definition at line 537 of file length-test-suite.cc.
References second::value.
|
private |
Test that a length object can be constructed from a string.
Definition at line 527 of file length-test-suite.cc.
References second::value.
|
private |
Test that a length object can be constructed from a string.
Definition at line 503 of file length-test-suite.cc.
References second::value.
|
private |
Test that a length object can be constructed from a string.
Definition at line 444 of file length-test-suite.cc.
References second::value.
|
private |
Test that a length object can be constructed from a string.
Definition at line 464 of file length-test-suite.cc.
References second::value.
|
private |
Test that a length object can be constructed from a string.
Definition at line 557 of file length-test-suite.cc.
References second::value.
|
private |
Test that a length object can be constructed from a string.
Definition at line 477 of file length-test-suite.cc.
References second::value.
|
private |
Test that a length object can be constructed from a string.
Definition at line 452 of file length-test-suite.cc.
References second::value.
|
private |
Test that a length object can be constructed from a string.
Definition at line 515 of file length-test-suite.cc.
References second::value.
|
private |
Test that a Length object can be constructed from a Quantity object.
Definition at line 329 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:
|
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.
Here is the call graph for this function:
|
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 418 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:
|
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.
Here is the call graph for this function:
|
private |
Test that a length object can be constructed from a string.
Definition at line 547 of file length-test-suite.cc.
References second::value.
|
private |
Test that a length object can be updated by assignment from another length object.
Definition at line 700 of file length-test-suite.cc.
References ns3::Length::GetDouble(), NS_TEST_ASSERT_MSG_EQ, and second::value.
Here is the call graph for this function:
|
private |
Test that a default constructed Length object has a value of 0.
Definition at line 321 of file length-test-suite.cc.
References ns3::Length::GetDouble(), and NS_TEST_ASSERT_MSG_EQ.
Here is the call graph for this function:
|
private |
Test arithmetic operations.
Definition at line 1221 of file length-test-suite.cc.
References ns3::Length::GetDouble(), and NS_TEST_ASSERT_MSG_EQ.
Here is the call graph for this function:
|
private |
Test arithmetic operations.
Definition at line 1238 of file length-test-suite.cc.
References second::value.
|
private |
Test arithmetic operations.
Definition at line 1207 of file length-test-suite.cc.
References ns3::Length::GetDouble(), NS_TEST_ASSERT_MSG_EQ, and second::value.
Here is the call graph for this function:
|
private |
Test Div function.
Definition at line 1286 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:
|
private |
Test Div function.
Definition at line 1251 of file length-test-suite.cc.
References ns3::Div(), and NS_TEST_ASSERT_MSG_EQ.
Here is the call graph for this function:
|
private |
Test Div function.
Definition at line 1266 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:
|
private |
Test reading length object from a stream produces the expected length value.
Definition at line 903 of file length-test-suite.cc.
References ns3::Length::GetDouble(), NS_TEST_ASSERT_MSG_EQ, and second::value.
Here is the call graph for this function:
|
private |
Test member comparison operators.
Definition at line 749 of file length-test-suite.cc.
References ns3::Length::IsEqual(), and second::value.
Here is the call graph for this function:
|
private |
Test member comparison operators.
Definition at line 739 of file length-test-suite.cc.
References ns3::Length::IsEqual(), and second::value.
Here is the call graph for this function:
|
private |
Test member comparison operators.
Definition at line 771 of file length-test-suite.cc.
References ns3::Length::IsEqual(), and second::value.
Here is the call graph for this function:
|
private |
Test member comparison operators.
Definition at line 759 of file length-test-suite.cc.
References ns3::Length::IsEqual(), and second::value.
Here is the call graph for this function:
|
private |
Test member comparison operators.
Definition at line 871 of file length-test-suite.cc.
|
private |
Test member comparison operators.
Definition at line 862 of file length-test-suite.cc.
References ns3::Length::IsGreater().
Here is the call graph for this function:
|
private |
Test member comparison operators.
Definition at line 880 of file length-test-suite.cc.
|
private |
Test member comparison operators.
Definition at line 840 of file length-test-suite.cc.
References ns3::Length::IsLess(), and second::value.
Here is the call graph for this function:
|
private |
Test member comparison operators.
Definition at line 829 of file length-test-suite.cc.
References ns3::Length::IsLess(), and second::value.
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:
|
private |
Test member comparison operators.
Definition at line 794 of file length-test-suite.cc.
References ns3::Length::IsNotEqual(), and second::value.
Here is the call graph for this function:
|
private |
Test member comparison operators.
Definition at line 783 of file length-test-suite.cc.
References ns3::Length::IsNotEqual(), and second::value.
Here is the call graph for this function:
|
private |
Test member comparison operators.
Definition at line 817 of file length-test-suite.cc.
References ns3::Length::IsNotEqual().
Here is the call graph for this function:
|
private |
Test member comparison operators.
Definition at line 805 of file length-test-suite.cc.
References ns3::Length::IsNotEqual().
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 394 of file length-test-suite.cc.
References ns3::Length::GetDouble(), NS_TEST_ASSERT_MSG_EQ, and second::value.
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 407 of file length-test-suite.cc.
References ns3::Length::GetDouble(), NS_TEST_ASSERT_MSG_EQ, and second::value.
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 920 of file length-test-suite.cc.
References ns3::Length::As(), and NS_TEST_ASSERT_MSG_EQ.
Here is the call graph for this function:
|
private |
Test Mod function.
Definition at line 1317 of file length-test-suite.cc.
References ns3::Mod(), and NS_TEST_ASSERT_MSG_EQ.
Here is the call graph for this function:
|
private |
Test Mod function.
Definition at line 1306 of file length-test-suite.cc.
References ns3::Mod(), and NS_TEST_ASSERT_MSG_EQ.
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 713 of file length-test-suite.cc.
References ns3::Length::GetDouble(), NS_TEST_ASSERT_MSG_EQ, and second::value.
Here is the call graph for this function:
|
private |
Test arithmetic operations.
Definition at line 1179 of file length-test-suite.cc.
References ns3::Length::GetDouble(), NS_TEST_ASSERT_MSG_EQ, and second::value.
Here is the call graph for this function:
|
private |
Test arithmetic operations.
Definition at line 1193 of file length-test-suite.cc.
References ns3::Length::GetDouble(), NS_TEST_ASSERT_MSG_EQ, and second::value.
Here is the call graph for this function:
|
private |
Test free function comparison operators.
Definition at line 964 of file length-test-suite.cc.
References second::value.
|
private |
Test free function comparison operators.
Definition at line 953 of file length-test-suite.cc.
References second::value.
|
private |
Test free function comparison operators.
Definition at line 1080 of file length-test-suite.cc.
References second::value.
|
private |
Test free function comparison operators.
Definition at line 1066 of file length-test-suite.cc.
References second::value.
|
private |
Test free function comparison operators.
Definition at line 1055 of file length-test-suite.cc.
References second::value.
|
private |
Test free function comparison operators.
Definition at line 1044 of file length-test-suite.cc.
References second::value.
|
private |
Test free function comparison operators.
Definition at line 1033 of file length-test-suite.cc.
References second::value.
|
private |
Test free function comparison operators.
Definition at line 1019 of file length-test-suite.cc.
References second::value.
|
private |
Test free function comparison operators.
Definition at line 1008 of file length-test-suite.cc.
References second::value.
|
private |
Test free function comparison operators.
Definition at line 997 of file length-test-suite.cc.
References second::value.
|
private |
Test free function comparison operators.
Definition at line 986 of file length-test-suite.cc.
References second::value.
|
private |
Test free function comparison operators.
Definition at line 975 of file length-test-suite.cc.
References second::value.
|
private |
Test writing length object to a stream produces the expected output.
Definition at line 891 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 726 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 935 of file length-test-suite.cc.
|
private |
Test arithmetic operations.
Definition at line 1151 of file length-test-suite.cc.
References ns3::Length::GetDouble(), NS_TEST_ASSERT_MSG_EQ, and second::value.
Here is the call graph for this function:
|
private |
Test arithmetic operations.
Definition at line 1165 of file length-test-suite.cc.
References ns3::Length::GetDouble(), NS_TEST_ASSERT_MSG_EQ, and second::value.
Here is the call graph for this function:
|
private |
Test arithmetic operations.
Definition at line 1135 of file length-test-suite.cc.
References ns3::Length::GetDouble(), NS_TEST_ASSERT_MSG_EQ, and second::value.
Here is the call graph for this function:
|
private |
Test the TryParse function returns false on bad input.
Definition at line 663 of file length-test-suite.cc.
References ns3::Length::TryParse().
Here is the call graph for this function:
|
private |
Test the TryParse function returns true on success.
Definition at line 671 of file length-test-suite.cc.
References check-style-clang-format::args, NS_TEST_ASSERT_MSG_EQ_TOL, and ns3::Length::TryParse().
Here is the call graph for this function: