@@ -91,20 +91,21 @@ TEST_P(du_ran_resource_manager_tester, when_multiple_ues_are_created_then_they_u
9191{
9292 unsigned sr_period = get_config_sr_period ();
9393 unsigned slots_per_frame = NOF_SUBFRAMES_PER_FRAME * get_nof_slots_per_subframe (cell_cfg_list[0 ].scs_common );
94- unsigned nof_avail_sr_offsets = sr_period;
94+ unsigned nof_avail_sr_offsets = sr_period * 2 ;
9595 if (cell_cfg_list[0 ].tdd_ul_dl_cfg_common .has_value ()) {
9696 nof_avail_sr_offsets = 0 ;
9797 for (unsigned i = 0 ; i != sr_period; ++i) {
9898 if (has_active_tdd_ul_symbols (*cell_cfg_list[0 ].tdd_ul_dl_cfg_common , i % slots_per_frame)) {
99- nof_avail_sr_offsets++ ;
99+ nof_avail_sr_offsets += 2 ;
100100 }
101101 }
102102 }
103+ du_ue_index_t next_ue_index = to_du_ue_index (0 );
103104
104- // > Created UEs have unique SR offsets .
105- std::set<unsigned > sr_offsets;
105+ // > Created UEs have unique (PUCCH resource, SR offset) pairs .
106+ std::set<std::pair< unsigned , unsigned > > sr_offsets;
106107 for (unsigned i = 0 ; i != nof_avail_sr_offsets; ++i) {
107- ue_ran_resource_configurator& ue_res = create_ue (to_du_ue_index (i) );
108+ ue_ran_resource_configurator& ue_res = create_ue (next_ue_index );
108109 ASSERT_FALSE (ue_res.empty ());
109110 const auto & sr_res_list = ue_res->cells [0 ].serv_cell_cfg .ul_config ->init_ul_bwp .pucch_cfg ->sr_res_list ;
110111 ASSERT_FALSE (sr_res_list.empty ());
@@ -113,13 +114,14 @@ TEST_P(du_ran_resource_manager_tester, when_multiple_ues_are_created_then_they_u
113114 ASSERT_TRUE (
114115 has_active_tdd_ul_symbols (*cell_cfg_list[0 ].tdd_ul_dl_cfg_common , sr_res_list[0 ].offset % slots_per_frame));
115116 }
116- ASSERT_EQ (sr_offsets.count (sr_res_list[0 ].offset ), 0 );
117- sr_offsets.insert (sr_res_list[0 ].offset );
117+ ASSERT_EQ (sr_offsets.count (std::make_pair (sr_res_list[0 ].pucch_res_id , sr_res_list[0 ].offset )), 0 );
118+ sr_offsets.insert (std::make_pair (sr_res_list[0 ].pucch_res_id , sr_res_list[0 ].offset ));
119+ next_ue_index = to_du_ue_index ((unsigned )next_ue_index + 1 );
118120 }
119121
120122 {
121123 // > No more SR offsets available. UE Resource Allocation fails.
122- ue_ran_resource_configurator& empty_ue_res = create_ue (to_du_ue_index (sr_period) );
124+ ue_ran_resource_configurator& empty_ue_res = create_ue (next_ue_index );
123125 ASSERT_TRUE (empty_ue_res.empty ());
124126 ues.erase (to_du_ue_index (sr_period));
125127 }
@@ -129,7 +131,8 @@ TEST_P(du_ran_resource_manager_tester, when_multiple_ues_are_created_then_they_u
129131 unsigned rem_sr_offset =
130132 ues[ue_idx_to_rem]->cells [0 ].serv_cell_cfg .ul_config ->init_ul_bwp .pucch_cfg ->sr_res_list [0 ].offset ;
131133 ues.erase (ue_idx_to_rem);
132- ue_ran_resource_configurator& ue_res = create_ue (to_du_ue_index (sr_period + 1 ));
134+ next_ue_index = to_du_ue_index ((unsigned )next_ue_index + 1 );
135+ ue_ran_resource_configurator& ue_res = create_ue (next_ue_index);
133136 ASSERT_FALSE (ue_res.empty ());
134137 ASSERT_EQ (rem_sr_offset, ue_res->cells [0 ].serv_cell_cfg .ul_config ->init_ul_bwp .pucch_cfg ->sr_res_list [0 ].offset );
135138}
0 commit comments