gprs_gb: Build stack of NS and BSSGP emulation from test component

We're already getting the NS link up and fail at the BSSGP RESET
procedure at this point.  The problem is erroneous encoding of the
message.
diff --git a/gprs_gb/Test.ttcn b/gprs_gb/Test.ttcn
index 8939cad..dec5cda 100644
--- a/gprs_gb/Test.ttcn
+++ b/gprs_gb/Test.ttcn
@@ -2,9 +2,28 @@
 
 	import from BSSGP_Helper_Functions all;
 	import from BSSGP_Types all;
+	import from BSSGP_Emulation all;
 	import from NS_Types all;
+	import from NS_Emulation all;
 
 	type component dummy_CT {
+		port BSSGP_PT BSSGP;
+		var NS_CT ns_component;
+		var BSSGP_CT bssgp_component;
+	}
+
+	function f_init() runs on dummy_CT {
+		/* create a new NS component */
+		ns_component := NS_CT.create;
+		bssgp_component := BSSGP_CT.create;
+		/* connect our BSSGP port to the BSSGP Emulation */
+		connect(self:BSSGP, bssgp_component:BSSGP_SP);
+		/* connect lower-end of BSSGP with BSSGP_CODEC_PORT (maps to NS_PT*/
+		connect(bssgp_component:BSCP, ns_component:NS_SP);
+		/* connect lower-end of NS emulation to NS_CODEC_PORT (on top of IPl4) */
+		map(ns_component:NSCP, system:NS_CODEC_PORT);
+		ns_component.start(NSStart());
+		bssgp_component.start(BssgpStart());
 	}
 
 	function f_bssgp_assert_prepr(in octetstring a, in octetstring b) {
@@ -113,8 +132,14 @@
 		f_ns_dec_and_log(c_ns_reset_pcu);
 	}
 
+	testcase TC_nsem() runs on dummy_CT {
+		f_init();
+		while (true) { }
+	}
+
 	control {
 		execute(TC_selftest_bssgp());
 		execute(TC_selftest_ns());
+		execute(TC_nsem());
 	}
 };