Example #1
0
        public void Test_RadioResource_Dedicated(string source, long transId, long srbId,
                                                 int drbs, long[] epsId, long[] drbId,
                                                 bool macConfigExist, bool phyConfigExist)
        {
            BitArrayInputStream stream = source.GetInputStream();

            Assert.AreEqual(stream.ReadBits(5), 4);
            RRCConnectionReconfiguration result = RRCConnectionReconfiguration.PerDecoder.Instance.Decode(stream);

            Assert.IsNotNull(result);
            Assert.AreEqual(result.rrc_TransactionIdentifier, transId);
            Assert.IsNotNull(result.criticalExtensions);
            Assert.IsNotNull(result.criticalExtensions.c1);
            Assert.IsNull(result.criticalExtensions.criticalExtensionsFuture);
            Assert.IsNotNull(result.criticalExtensions.c1.rrcConnectionReconfiguration_r8);
            RadioResourceConfigDedicated mainPart =
                result.criticalExtensions.c1.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated;

            Assert.IsNotNull(mainPart);
            Assert.IsNotNull(mainPart.srb_ToAddModList);
            Assert.AreEqual(mainPart.srb_ToAddModList.Count, 1);
            SRB_ToAddMod srb = mainPart.srb_ToAddModList[0];

            Assert.AreEqual(srb.srb_Identity, srbId);
            Assert.IsNotNull(mainPart.drb_ToAddModList);
            Assert.AreEqual(mainPart.drb_ToAddModList.Count, drbs);
            for (int i = 0; i < drbs; i++)
            {
                DRB_ToAddMod drb = mainPart.drb_ToAddModList[i];
                Assert.AreEqual(drb.eps_BearerIdentity, epsId[i]);
                Assert.AreEqual(drb.drb_Identity, drbId[i]);
            }
            if (macConfigExist)
            {
                Assert.IsNotNull(mainPart.mac_MainConfig);
            }
            else
            {
                Assert.IsNull(mainPart.mac_MainConfig);
            }
            if (phyConfigExist)
            {
                Assert.IsNotNull(mainPart.physicalConfigDedicated);
            }
            else
            {
                Assert.IsNull(mainPart.physicalConfigDedicated);
            }
        }
        public static string GetOutputs(this DRB_ToAddMod drb)
        {
            string result = "EpsId:" + drb.eps_BearerIdentity + ", DrbId:" + drb.drb_Identity;
            var    pdcp   = drb.pdcp_Config;

            if (pdcp != null)
            {
                result += ", PDCP config:" + pdcp.GetOutputs();
            }
            var rlc = drb.rlc_Config;

            if (rlc != null)
            {
                result += ", RLC config:" + rlc.GetOutputs();
            }
            result += ", Logical channel Id:" + drb.logicalChannelIdentity;
            var logical = drb.logicalChannelConfig;

            if (logical != null)
            {
                result += ", Logical channel config:" + logical.GetOutputs();
            }
            return(result);
        }