Exemplo n.º 1
0
        public void CellStatisticsTest_1()
        {
            //1个trx
            List<GSMSimTRX> trxList = new List<GSMSimTRX>();
            trxList.Add(GSMMock.MockGsmSimTrx());

            //3个用户
            List<GSMSimUser> m_User = new List<GSMSimUser>();
            m_User.AddRange(GSMMock.MockGsmSimUserList());

            List<GSMSimUser> serverUsers = new List<GSMSimUser>();
            serverUsers.Add(m_User[0]);

            List<GSMSimUser> accessFail = new List<GSMSimUser>();
            accessFail.Add(m_User[2]);

            List<GSMSimUser> forAccessAgain = new List<GSMSimUser>();
            forAccessAgain.Add(m_User[1]);


            //trxList[0].TSs[1].CurULThroughput.Add(m_User[0], 25f);
            m_User[0].UlTs.Add(trxList[0].TSs[1]);
            trxList[0].CellUsers.Add(m_User[0]);
            trxList[0].LastKick.Add(m_User[2]);
            m_User[0].TrafficUser.LinkType = LinkType.Uplink;
            m_User[2].TrafficUser.LinkType = LinkType.Downlink;
            trxList[0].AccessCsUlUsers.Add(m_User[0]);
            trxList[0].AccessCsDlUsers.Add(m_User[2]);

            m_User[0].ULInterf.Add(trxList[0].TSs[1], -110f);
            m_User[0].UlCirs.Add(trxList[0].TSs[1], 15f);

            m_User[0].CurULTxPower.Add(trxList[0].TSs[1], 33f);
            //add by 6.10
            m_User[0].ResultStatistic.UlThorughput.Add(12000);
            m_User[0].ResultStatistic.ULTDInterf.Add(-150);
            m_User[0].ResultStatistic.ULUMTSInterf.Add(-150);

            trxList[0].IterULThrghtpt.Add(25f);
            trxList[0].IterDLThrghtpt.Add(0f);

            ConvergenceResult convergenceResult = new ConvergenceResult();
            //将相应参数加入到context中
            SnapshotContext context = GSMMock.CreateContext();
            context.AddKey(GsmContextkey.GSMSimTRXs, trxList);
            context.AddKey(GsmContextkey.GSMGetLinkloss, m_IGetLinkloss);
            context.AddKey(GsmContextkey.AllUsers, m_User);
            context.AddKey(GsmContextkey.GSMServedUsers, serverUsers);
            context.AddKey(GsmContextkey.GSMAccessFails, accessFail);
            context.AddKey(GsmContextkey.GSMForAccessAgain, forAccessAgain);
            context.AddKey(GsmContextkey.GSMConvergenceResult, convergenceResult);

            SnapShotStatistics statistics = new SnapShotStatistics();
            statistics.Init(context);
            statistics.CellStatistics();

            /*小区统计参数*/

            //上下行负载
            Assert.IsTrue(trxList[0].UlLoad - 0.125 < 0.01);
            Assert.IsTrue(trxList[0].DlLoad - 0 < 0.01);
            //被服务的用户数
            Assert.AreEqual(1, trxList[0].SerUserNum);
            //掉话数
            //Assert.AreEqual(1, trxList[0].DropUserNum);
            //语音及数据阻塞数
            //Assert.IsTrue(trxList[0].VoiceBlock - 0.5 < 0.01);
            //Assert.IsTrue(trxList[0].PacketBlock - 0 < 0.01);
            //接入失败用户数
            Assert.AreEqual(0, trxList[0].FailAccessUserNum);


            statistics.PdfCdfStatistics();
            /*用户统计参数*/
            Assert.IsTrue(m_User[0].ResultStatistic.UserULInterf - (-110) < 0.01);
            Assert.AreEqual(float.NegativeInfinity, m_User[0].ResultStatistic.UserDLInterf);
            Assert.IsTrue(m_User[0].ResultStatistic.ULCir - 15 < 0.01);
            Assert.AreEqual(float.NegativeInfinity, m_User[0].ResultStatistic.DLCir);
            Assert.AreEqual(float.NegativeInfinity, m_User[0].ResultStatistic.DLTCHRxPower);
            Assert.IsTrue(m_User[0].ResultStatistic.TxPower - 33 < 0.01);


            GSMSnapshotResult result = statistics.GetResult();

            result.GetExcelResult();
            result.GetSnapshotDisplayData(new StyleStruct());


            GSMGetSimulationVectorData ggsvd = new GSMGetSimulationVectorData();
            List<IResult> resultList = new List<IResult>();
            resultList.Add(result);

            StyleStruct ss = new StyleStruct();
            GeoPointStyle style1 = new GeoPointStyle();
            style1.Name = "DLSatisfied";
            ss.Styles.Add(style1);

            Assert.AreEqual(6, ((GSMSimulationVectorData)ggsvd.GetSimulationVectorData(resultList, ss)).UserResult.Count);

        }
Exemplo n.º 2
0
        public void CalcBlockTest()
        {
            SnapShotStatistics statistics = new SnapShotStatistics();
            int index1 = 12;
            int index2 = 20;
            float result=statistics.CalcBlock(index1, index2);
            Assert.AreEqual(0.6, result,0.001f);

        }