BTS_Tests: separate generating g_AllChannels[] into a function

Change-Id: Iab2d009b977255b16028c77a9b96df48d270ed1c
Related: SYS#5313, OS#5956
diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn
index df18403..6e4a36a 100644
--- a/bts/BTS_Tests.ttcn
+++ b/bts/BTS_Tests.ttcn
@@ -515,6 +515,44 @@
 	trxc_conn_id := res.connId;
 }
 
+private function f_gen_chans_for_ts(uint3_t tn, PchanConfig config)
+return ChannelNrs
+{
+	select (config) {
+	case (GSM_PCHAN_CCCH_SDCCH4) {
+		return { valueof(ts_RslChanNr_SDCCH4(tn, 0)),
+			 valueof(ts_RslChanNr_SDCCH4(tn, 1)),
+			 valueof(ts_RslChanNr_SDCCH4(tn, 2)),
+			 valueof(ts_RslChanNr_SDCCH4(tn, 3)) };
+		}
+	case (GSM_PCHAN_SDCCH8) {
+		return { valueof(ts_RslChanNr_SDCCH8(tn, 0)),
+			 valueof(ts_RslChanNr_SDCCH8(tn, 1)),
+			 valueof(ts_RslChanNr_SDCCH8(tn, 2)),
+			 valueof(ts_RslChanNr_SDCCH8(tn, 3)),
+			 valueof(ts_RslChanNr_SDCCH8(tn, 4)),
+			 valueof(ts_RslChanNr_SDCCH8(tn, 5)),
+			 valueof(ts_RslChanNr_SDCCH8(tn, 6)),
+			 valueof(ts_RslChanNr_SDCCH8(tn, 7)) };
+		}
+	case (GSM_PCHAN_TCHH_TCHF_PDCH) {
+		return { valueof(ts_RslChanNr_Lm(tn, 0)),
+			 valueof(ts_RslChanNr_Lm(tn, 1)),
+			 valueof(ts_RslChanNr_Bm(tn)) };
+		}
+	case (GSM_PCHAN_TCHH) {
+		return { valueof(ts_RslChanNr_Lm(tn, 0)),
+			 valueof(ts_RslChanNr_Lm(tn, 1)) };
+		}
+	case (GSM_PCHAN_TCHF,
+	      GSM_PCHAN_TCHF_PDCH) {
+		return { valueof(ts_RslChanNr_Bm(tn)) };
+		}
+	}
+
+	return { };
+}
+
 /* global init function (without PCUIF connection) */
 friend function f_init(uint8_t trx_nr := 0)
 runs on test_CT
@@ -550,41 +588,8 @@
 
 	/* Generate list of all logical channels from module parameters */
 	for (var integer tn := 0; tn < lengthof(trx_pars.ts); tn := tn + 1) {
-		select (trx_pars.ts[tn].config) {
-		case (GSM_PCHAN_CCCH_SDCCH4) {
-			g_AllChannels := g_AllChannels &
-				{ valueof(ts_RslChanNr_SDCCH4(tn, 0)),
-				  valueof(ts_RslChanNr_SDCCH4(tn, 1)),
-				  valueof(ts_RslChanNr_SDCCH4(tn, 2)),
-				  valueof(ts_RslChanNr_SDCCH4(tn, 3)) };
-			}
-		case (GSM_PCHAN_SDCCH8) {
-			g_AllChannels := g_AllChannels &
-				{ valueof(ts_RslChanNr_SDCCH8(tn, 0)),
-				  valueof(ts_RslChanNr_SDCCH8(tn, 1)),
-				  valueof(ts_RslChanNr_SDCCH8(tn, 2)),
-				  valueof(ts_RslChanNr_SDCCH8(tn, 3)),
-				  valueof(ts_RslChanNr_SDCCH8(tn, 4)),
-				  valueof(ts_RslChanNr_SDCCH8(tn, 5)),
-				  valueof(ts_RslChanNr_SDCCH8(tn, 6)),
-				  valueof(ts_RslChanNr_SDCCH8(tn, 7)) };
-			}
-		case (GSM_PCHAN_TCHH_TCHF_PDCH) {
-			g_AllChannels := g_AllChannels &
-				{ valueof(ts_RslChanNr_Lm(tn, 0)),
-				  valueof(ts_RslChanNr_Lm(tn, 1)),
-				  valueof(ts_RslChanNr_Bm(tn)) };
-			}
-		case (GSM_PCHAN_TCHH) {
-			g_AllChannels := g_AllChannels &
-				{ valueof(ts_RslChanNr_Lm(tn, 0)),
-				  valueof(ts_RslChanNr_Lm(tn, 1)) };
-			}
-		case (GSM_PCHAN_TCHF, GSM_PCHAN_TCHF_PDCH) {
-			g_AllChannels := g_AllChannels &
-				{ valueof(ts_RslChanNr_Bm(tn)) };
-			}
-		}
+		var PchanConfig config := trx_pars.ts[tn].config;
+		g_AllChannels := g_AllChannels & f_gen_chans_for_ts(tn, config);
 	}
 
 	f_init_rsl(id);