25 #include <ns3/itu-r-1411-nlos-over-rooftop-propagation-loss-model.h>
26 #include <ns3/string.h>
27 #include <ns3/double.h>
28 #include <ns3/constant-position-mobility-model.h>
61 virtual void DoRun (
void);
111 propagationLossModel->SetAttribute (
"Environment",
EnumValue (
m_env));
114 double loss = propagationLossModel->GetLoss (mma, mmb);
138 :
TestSuite (
"itu-r-1411-nlos-over-rooftop", SYSTEM)
143 AddTestCase (
new ItuR1411NlosOverRooftopPropagationLossModelTestCase (2.1140e9, 900, 30, 1,
UrbanEnvironment,
LargeCity, 143.68,
"f=2114Mhz, dist=900, urban large city"), TestCase::QUICK);
144 AddTestCase (
new ItuR1411NlosOverRooftopPropagationLossModelTestCase (1.865e9, 500, 30, 1,
UrbanEnvironment,
LargeCity, 132.84,
"f=2114Mhz, dist=900, urban large city"), TestCase::QUICK);
ItuR1411NlosOverRooftopPropagationLossModel Test Case.
virtual ~ItuR1411NlosOverRooftopPropagationLossModelTestCase()
double m_hb
height of BS in meters
double m_freq
carrier frequency in Hz
double m_dist
2D distance between UT and BS in meters
double m_lossRef
reference loss
virtual void DoRun(void)
Implementation to actually run this TestCase.
ItuR1411NlosOverRooftopPropagationLossModelTestCase(double freq, double dist, double hb, double hm, EnvironmentType env, CitySize city, double refValue, std::string name)
Constructor.
double m_hm
height of UT in meters
EnvironmentType m_env
environment type
Ptr< MobilityModel > CreateMobilityModel(uint16_t index)
Create a MobilityModel.
ItuR1411NlosOverRooftopPropagationLossModel TestSuite.
ItuR1411NlosOverRooftopPropagationLossModelTestSuite()
This class can be used to hold variables of floating point type such as 'double' or 'float'.
Hold variables of type enum.
void SetPosition(const Vector &position)
void AddTestCase(TestCase *testCase, TestDuration duration=QUICK)
Add an individual child TestCase to this test suite.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by ",...
#define NS_LOG_INFO(msg)
Use NS_LOG to output a message of level LOG_INFO.
EnvironmentType
The type of propagation environment.
CitySize
The size of the city in which propagation takes place.
#define NS_TEST_ASSERT_MSG_EQ_TOL(actual, limit, tol, msg)
Test that actual and expected (limit) values are equal to plus or minus some tolerance and report and...
static ItuR1411NlosOverRooftopPropagationLossModelTestSuite g_ituR1411NlosOverRooftopTestSuite
Static variable for test initialization.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
@ LOG_LEVEL_ALL
Print everything.
void LogComponentEnable(char const *name, enum LogLevel level)
Enable the logging output associated with that log component.