22 #include <ns3/simulator.h> 26 #include <ns3/buildings-helper.h> 27 #include <ns3/string.h> 28 #include <ns3/double.h> 29 #include <ns3/building.h> 31 #include <ns3/constant-position-mobility-model.h> 32 #include <ns3/mobility-building-info.h> 52 :
TestSuite (
"buildings-pathloss-test", SYSTEM)
139 :
TestCase (
"LOSS calculation: " + name),
141 m_mobilityModelIndex1 (
m1),
142 m_mobilityModelIndex2 (
m2),
178 double loss = propagationLossModel->
GetLoss (mma, mmb);
184 Simulator::Destroy ();
203 double henbHeight = 10.0;
210 mm = CreateObject<ConstantPositionMobilityModel> ();
215 mm = CreateObject<ConstantPositionMobilityModel> ();
220 mm = CreateObject<ConstantPositionMobilityModel> ();
225 mm = CreateObject<ConstantPositionMobilityModel> ();
230 mm = CreateObject<ConstantPositionMobilityModel> ();
235 mm = CreateObject<ConstantPositionMobilityModel> ();
240 mm = CreateObject<ConstantPositionMobilityModel> ();
245 mm = CreateObject<ConstantPositionMobilityModel> ();
250 mm = CreateObject<ConstantPositionMobilityModel> ();
255 mm = CreateObject<ConstantPositionMobilityModel> ();
260 mm = CreateObject<ConstantPositionMobilityModel> ();
270 BuildingsHelper::MakeConsistent (mm);
Smart pointer class similar to boost::intrusive_ptr.
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by "...
uint16_t m_mobilityModelIndex1
EnvironmentType
The type of propagation environment.
void AggregateObject(Ptr< Object > other)
Aggregate two Objects together.
BuildingsPathlossTestSuite()
Test 1.1 BuildingsPathlossModel Pathloss compound test.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
#define NS_LOG_INFO(msg)
Use NS_LOG to output a message of level LOG_INFO.
const double m1
First component modulus, 232 - 209.
Ptr< MobilityModel > CreateMobilityModel(uint16_t index)
virtual double GetLoss(Ptr< MobilityModel > a, Ptr< MobilityModel > b) const
void LogComponentEnable(char const *name, enum LogLevel level)
Enable the logging output associated with that log component.
Hold variables of type enum.
void AddTestCase(TestCase *testCase, TestDuration duration=QUICK)
Add an individual child TestCase to this test suite.
void SetNFloors(uint16_t nfloors)
virtual ~BuildingsPathlossTestCase()
Test 1.1 pathloss calculation.
BuildingsPathlossTestCase(double freq, uint16_t m1, uint16_t m2, EnvironmentType env, CitySize city, double refValue, std::string name)
TestCase.
#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...
void SetExtWallsType(Building::ExtWallsType_t t)
Every class exported by the ns3 library is enclosed in the ns3 namespace.
void SetPosition(const Vector &position)
static BuildingsPathlossTestSuite buildingsPathlossTestSuite
CitySize
The size of the city in which propagation takes place.
const double m2
Second component modulus, 232 - 22853.
virtual void DoRun(void)
Implementation to actually run this TestCase.
uint16_t m_mobilityModelIndex2
This class can be used to hold variables of floating point type such as 'double' or 'float'...
void SetAttribute(std::string name, const AttributeValue &value)
Set a single attribute, raising fatal errors if unsuccessful.
void SetBoundaries(Box box)
Set the boundaries of the building.
void SetBuildingType(Building::BuildingType_t t)