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),
161 building1->SetBoundaries (
Box (-3000, -1, -4000, 4000.0, 0.0, 12));
162 building1->SetBuildingType (Building::Residential);
163 building1->SetExtWallsType (Building::ConcreteWithWindows);
164 building1->SetNFloors (3);
171 propagationLossModel->SetAttribute (
"Environment",
EnumValue (
m_env));
174 propagationLossModel->SetAttribute (
"ShadowSigmaOutdoor",
DoubleValue (0.0));
175 propagationLossModel->SetAttribute (
"ShadowSigmaIndoor",
DoubleValue (0.0));
176 propagationLossModel->SetAttribute (
"ShadowSigmaExtWalls",
DoubleValue (0.0));
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 buildingInfo->MakeConsistent (mm);
static BuildingsPathlossTestSuite buildingsPathlossTestSuite
Ptr< MobilityModel > CreateMobilityModel(uint16_t index)
uint16_t m_mobilityModelIndex2
virtual void DoRun(void)
Implementation to actually run this TestCase.
virtual ~BuildingsPathlossTestCase()
uint16_t m_mobilityModelIndex1
BuildingsPathlossTestCase(double freq, uint16_t m1, uint16_t m2, EnvironmentType env, CitySize city, double refValue, std::string name)
TestCase.
Test 1.1 pathloss calculation.
BuildingsPathlossTestSuite()
Test 1.1 BuildingsPathlossModel Pathloss compound test.
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 AggregateObject(Ptr< Object > other)
Aggregate two Objects together.
Smart pointer class similar to boost::intrusive_ptr.
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...
const double m1
First component modulus, 232 - 209.
const double m2
Second component modulus, 232 - 22853.
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.