Implements tests for the Length class. More...
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.
|
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.
|
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.
|
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().
|
private |
Test that a length object can be constructed from a string.
Definition at line 490 of file length-test-suite.cc.
|
private |
Test that a length object can be constructed from a string.
Definition at line 537 of file length-test-suite.cc.
|
private |
Test that a length object can be constructed from a string.
Definition at line 527 of file length-test-suite.cc.
|
private |
Test that a length object can be constructed from a string.
Definition at line 503 of file length-test-suite.cc.
|
private |
Test that a length object can be constructed from a string.
Definition at line 444 of file length-test-suite.cc.
|
private |
Test that a length object can be constructed from a string.
Definition at line 464 of file length-test-suite.cc.
|
private |
Test that a length object can be constructed from a string.
Definition at line 557 of file length-test-suite.cc.
|
private |
Test that a length object can be constructed from a string.
Definition at line 477 of file length-test-suite.cc.
|
private |
Test that a length object can be constructed from a string.
Definition at line 452 of file length-test-suite.cc.
|
private |
Test that a length object can be constructed from a string.
Definition at line 515 of file length-test-suite.cc.
|
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().
|
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 418 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 547 of file length-test-suite.cc.
|
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.
|
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.
|
private |
Test arithmetic operations.
Definition at line 1221 of file length-test-suite.cc.
References ns3::Length::GetDouble(), and NS_TEST_ASSERT_MSG_EQ.
|
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.
|
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.
|
private |
Test Div function.
Definition at line 1251 of file length-test-suite.cc.
References ns3::Div(), and NS_TEST_ASSERT_MSG_EQ.
|
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.
|
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.
|
private |
Test member comparison operators.
Definition at line 749 of file length-test-suite.cc.
References ns3::Length::IsEqual(), and second::value.
|
private |
Test member comparison operators.
Definition at line 739 of file length-test-suite.cc.
References ns3::Length::IsEqual(), and second::value.
|
private |
Test member comparison operators.
Definition at line 771 of file length-test-suite.cc.
References ns3::Length::IsEqual(), and second::value.
|
private |
Test member comparison operators.
Definition at line 759 of file length-test-suite.cc.
References ns3::Length::IsEqual(), and second::value.
|
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().
|
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.
|
private |
Test member comparison operators.
Definition at line 829 of file length-test-suite.cc.
References ns3::Length::IsLess(), and second::value.
|
private |
Test member comparison operators.
Definition at line 851 of file length-test-suite.cc.
References ns3::Length::IsLess().
|
private |
Test member comparison operators.
Definition at line 794 of file length-test-suite.cc.
References ns3::Length::IsNotEqual(), and second::value.
|
private |
Test member comparison operators.
Definition at line 783 of file length-test-suite.cc.
References ns3::Length::IsNotEqual(), and second::value.
|
private |
Test member comparison operators.
Definition at line 817 of file length-test-suite.cc.
References ns3::Length::IsNotEqual().
|
private |
Test member comparison operators.
Definition at line 805 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 394 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 407 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 920 of file length-test-suite.cc.
References ns3::Length::As(), and NS_TEST_ASSERT_MSG_EQ.
|
private |
Test Mod function.
Definition at line 1317 of file length-test-suite.cc.
References ns3::Mod(), and NS_TEST_ASSERT_MSG_EQ.
|
private |
Test Mod function.
Definition at line 1306 of file length-test-suite.cc.
References ns3::Mod(), and NS_TEST_ASSERT_MSG_EQ.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
private |
Test the TryParse function returns false on bad input.
Definition at line 663 of file length-test-suite.cc.
References ns3::Length::TryParse().
|
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().