32class NrSystemTestSchedulerOfdmaPfSuite :
public TestSuite
38 NrSystemTestSchedulerOfdmaPfSuite();
41NrSystemTestSchedulerOfdmaPfSuite::NrSystemTestSchedulerOfdmaPfSuite()
42 : TestSuite(
"nr-system-test-schedulers-ofdma-pf", Type::SYSTEM)
51 std::list<std::string> subdivision = {
54 std::list<std::string> scheds = {
"PF"};
55 std::list<TxMode> mode = {
DL,
UL, DL_UL};
56 std::list<uint32_t> uesPerBeamList = {1, 2, 4, 8};
57 std::map<uint32_t, Duration> durationForUesPerBeam = {
60 {4, Duration::EXTENSIVE},
61 {8, Duration::EXTENSIVE},
63 std::list<uint32_t> beams = {1, 2};
64 std::list<uint32_t> numerologies = {
69 for (
const auto& num : numerologies)
71 for (
const auto& subType : subdivision)
73 for (
const auto& sched : scheds)
75 for (
const auto& modeType : mode)
77 for (
const auto& uesPerBeam : uesPerBeamList)
79 for (
const auto& beam : beams)
82 std::stringstream schedName;
87 else if (modeType ==
UL)
95 ss <<
", Num " << num <<
", " << subType <<
" " << sched <<
", "
96 << uesPerBeam <<
" UE per beam, " << beam <<
" beam";
97 const bool isDl = modeType ==
DL || modeType == DL_UL;
98 const bool isUl = modeType ==
UL || modeType == DL_UL;
100 schedName <<
"ns3::NrMacScheduler" << subType << sched;
110 durationForUesPerBeam.at(uesPerBeam));
120static NrSystemTestSchedulerOfdmaPfSuite mmwaveTestSuite;
Main class for testing a scheduler, system-wise.
This test case checks if the throughput obtained per UE is as expected for the specified scheduling l...