A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
SpectrumIdealPhyTestCase Class Reference

Ideal Spectrum PHY Test. More...

+ Inheritance diagram for SpectrumIdealPhyTestCase:
+ Collaboration diagram for SpectrumIdealPhyTestCase:

Public Member Functions

 SpectrumIdealPhyTestCase (double snrLinear, uint64_t phyRate, bool rateIsAchievable, std::string channelType)
 Constructor.
 
 ~SpectrumIdealPhyTestCase () override
 
- Public Member Functions inherited from ns3::TestCase
 TestCase (const TestCase &)=delete
 
virtual ~TestCase ()
 Destructor.
 
std::string GetName () const
 
TestCaseoperator= (const TestCase &)=delete
 

Private Member Functions

void DoRun () override
 Implementation to actually run this TestCase.
 

Static Private Member Functions

static std::string Name (std::string channelType, double snrLinear, uint64_t phyRate)
 Get the test name.
 

Private Attributes

std::string m_channelType
 Channel type.
 
uint64_t m_phyRate
 PHY rate (bps)
 
bool m_rateIsAchievable
 Check if the rate is achievable.
 
double m_snrLinear
 SNR (linear)
 

Additional Inherited Members

- Public Types inherited from ns3::TestCase
enum class  Duration { QUICK = 1 , EXTENSIVE = 2 , TAKES_FOREVER = 3 }
 How long the test takes to execute. More...
 
- Static Public Attributes inherited from ns3::TestCase
static constexpr auto QUICK = Duration::QUICK
 Deprecated test duration simple enums.
 
static constexpr auto EXTENSIVE = Duration::EXTENSIVE
 
static constexpr auto TAKES_FOREVER = Duration::TAKES_FOREVER
 
- Protected Member Functions inherited from ns3::TestCase
 TestCase (std::string name)
 Constructor.
 
void AddTestCase (TestCase *testCase, Duration duration=Duration::QUICK)
 Add an individual child TestCase to this test suite.
 
TestCaseGetParent () const
 Get the parent of this TestCase.
 
bool IsStatusFailure () const
 Check if any tests failed.
 
bool IsStatusSuccess () const
 Check if all tests passed.
 
void SetDataDir (std::string directory)
 Set the data directory where reference trace files can be found.
 
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.
 
bool MustAssertOnFailure () const
 Check if this run should assert on failure.
 
bool MustContinueOnFailure () const
 Check if this run should continue on failure.
 
std::string CreateDataDirFilename (std::string filename)
 Construct the full path to a file in the data directory.
 
std::string CreateTempDirFilename (std::string filename)
 Construct the full path to a file in a temporary directory.
 

Detailed Description

Ideal Spectrum PHY Test.

Definition at line 59 of file spectrum-ideal-phy-test.cc.

Constructor & Destructor Documentation

◆ SpectrumIdealPhyTestCase()

SpectrumIdealPhyTestCase::SpectrumIdealPhyTestCase ( double snrLinear,
uint64_t phyRate,
bool rateIsAchievable,
std::string channelType )

Constructor.

Parameters
snrLinearSNR (linear)
phyRatePHY rate (bps)
rateIsAchievableCheck if the rate is achievable
channelTypeChannel type

Definition at line 101 of file spectrum-ideal-phy-test.cc.

◆ ~SpectrumIdealPhyTestCase()

SpectrumIdealPhyTestCase::~SpectrumIdealPhyTestCase ( )
override

Definition at line 113 of file spectrum-ideal-phy-test.cc.

Member Function Documentation

◆ DoRun()

void SpectrumIdealPhyTestCase::DoRun ( )
overrideprivatevirtual

Implementation to actually run this TestCase.

Subclasses should override this method to conduct their tests.

Implements ns3::TestCase.

Definition at line 118 of file spectrum-ideal-phy-test.cc.

References ns3::Node::AddApplication(), ns3::SpectrumChannelHelper::AddPropagationLoss(), ns3::Config::Connect(), ns3::NodeContainer::Create(), ns3::SpectrumChannelHelper::Create(), ns3::SpectrumValue5MhzFactory::CreateConstant(), ns3::CreateObject(), ns3::SpectrumValue5MhzFactory::CreateTxPowerSpectralDensity(), ns3::Simulator::Destroy(), g_bandwidth, g_rxBytes, ns3::NodeContainer::Get(), ns3::Object::GetObject(), ns3::AdhocAlohaNoackIdealPhyHelper::Install(), ns3::PacketSocketHelper::Install(), m_channelType, m_phyRate, m_rateIsAchievable, m_snrLinear, ns3::MakeCallback(), NS_LOG_FUNCTION, NS_LOG_INFO, NS_TEST_ASSERT_MSG_EQ, NS_TEST_ASSERT_MSG_EQ_TOL, PhyRxEndOkTrace(), pktSize, ns3::Simulator::Run(), ns3::Seconds(), ns3::AdhocAlohaNoackIdealPhyHelper::SetChannel(), ns3::SpectrumChannelHelper::SetChannel(), ns3::AdhocAlohaNoackIdealPhyHelper::SetNoisePowerSpectralDensity(), ns3::AdhocAlohaNoackIdealPhyHelper::SetPhyAttribute(), ns3::PacketSocketAddress::SetPhysicalAddress(), ns3::SpectrumChannelHelper::SetPropagationDelay(), ns3::PacketSocketAddress::SetProtocol(), ns3::PacketSocketAddress::SetSingleDevice(), ns3::AdhocAlohaNoackIdealPhyHelper::SetTxPowerSpectralDensity(), and ns3::Simulator::Stop().

+ Here is the call graph for this function:

◆ Name()

std::string SpectrumIdealPhyTestCase::Name ( std::string channelType,
double snrLinear,
uint64_t phyRate )
staticprivate

Get the test name.

Parameters
channelTypeChannel type
snrLinearSNR (linear)
phyRatePHY rate (bps)
Returns
the test name

Definition at line 93 of file spectrum-ideal-phy-test.cc.

Member Data Documentation

◆ m_channelType

std::string SpectrumIdealPhyTestCase::m_channelType
private

Channel type.

Definition at line 89 of file spectrum-ideal-phy-test.cc.

Referenced by DoRun().

◆ m_phyRate

uint64_t SpectrumIdealPhyTestCase::m_phyRate
private

PHY rate (bps)

Definition at line 87 of file spectrum-ideal-phy-test.cc.

Referenced by DoRun().

◆ m_rateIsAchievable

bool SpectrumIdealPhyTestCase::m_rateIsAchievable
private

Check if the rate is achievable.

Definition at line 88 of file spectrum-ideal-phy-test.cc.

Referenced by DoRun().

◆ m_snrLinear

double SpectrumIdealPhyTestCase::m_snrLinear
private

SNR (linear)

Definition at line 86 of file spectrum-ideal-phy-test.cc.

Referenced by DoRun().


The documentation for this class was generated from the following file: