/// <summary> /// 提供给联合仿真的整网结果 /// </summary> /// <returns></returns> public SimuResultStruct GetNetworkResult(List<object> obj) { GetR4ResultList(obj); GetTotalNetResult(); GetTotalUserNum(); SimuResultStruct srs = new SimuResultStruct(); srs.NetType = NetWorkType.TDSCDMA ; srs.FailedSingleModeUserCount = m_FailedSingleUserNum ; srs.SuccessSingleModeUserCount = m_SuccessSingleUserNum ; srs.SingleModeUserCount = m_SingleUserNum; srs.SuccessMultiModeUserCount = m_MultiUserNum ; srs.ULLoad = m_UlLoad ; srs.DLLoad = m_DlLoad ; srs.ULThroughput = m_ULThroughPut ; srs.DLThroughput = m_DLThroughPut ; return srs; }
public SimuResultStruct GetNetworkResult(List<object> obj) { CalcAverageCellResult(); SimuResultStruct simResult = new SimuResultStruct(); simResult.NetType = NetWorkType.UMTS; for (int i = 0; i < FailedAccessedSingleModelUserList.Count; i++) { simResult.FailedSingleModeUserCount += FailedAccessedSingleModelUserList[i] / snapShotCount; simResult.SuccessSingleModeUserCount += AccessedSingleModelUserList[i] / snapShotCount; simResult.SingleModeUserCount += SingleModelUserList[i] / snapShotCount; simResult.SuccessMultiModeUserCount += AccessedPolyModelUserList[i] / snapShotCount; simResult.DLLoad += DLLoadList[i] / snapShotCount; simResult.DLThroughput += ThroughPutList[i] / snapShotCount; simResult.ULLoad = 0; simResult.ULThroughput = 0; } simResult.DLLoad = simResult.DLLoad / DLLoadList.Count; return simResult; }
public SimuResultStruct GetNetworkResult(List<object> obj) { int shotTime = obj.Count; SimuResultStruct sms = new SimuResultStruct(); sms.NetType = NetWorkType.UMTS; sms.SingleModeUserCount = singleModelUsers.Sum() / shotTime; sms.SuccessSingleModeUserCount = accessedSingleModelUsers.Sum() / shotTime; sms.FailedSingleModeUserCount = (sms.SingleModeUserCount - sms.SuccessSingleModeUserCount) / shotTime; sms.SuccessMultiModeUserCount = polyModelUsers.Sum() / shotTime; sms.ULLoad = ulLoad.Sum() / (shotTime * ulLoad.Count); sms.DLLoad = dlLoad.Sum() / (shotTime * dlLoad.Count); sms.ULThroughput = 0; sms.DLThroughput = 0; return sms; }
private void AddResult(SimuResultStruct verResult,SimuResultStruct result) { result.FailedSingleModeUserCount += verResult.FailedSingleModeUserCount; result.SuccessMultiModeUserCount += verResult.SuccessMultiModeUserCount; result.SingleModeUserCount += verResult.SingleModeUserCount; result.SuccessSingleModeUserCount += verResult.SuccessSingleModeUserCount; result.ULThroughput += verResult.ULThroughput; result.DLThroughput += verResult.DLThroughput; result.DLLoad = CalcLoad(result.DLLoad, verResult.DLLoad); result.ULLoad = CalcLoad(result.ULLoad, verResult.ULLoad); }
private SimuResultStruct CalcAverageResult(NetWorkType netType) { SimuResultStruct result = new SimuResultStruct(); result.NetType = netType; foreach (var version in m_CurrentNetworkDic[netType]) { SimuResultStruct verResult = m_NetVersionDataDic[version]; AddResult(verResult, result); } return result; }
/// <summary> /// 在DataTable里添加版本结果的DataRow /// </summary> /// <param name="versionType">版本类型</param> /// <param name="table">添加了DataRow的DataTable</param> private void GenerateNetVersionDataRow(SimuResultStruct resultToShow,DataTable table,NetVersion versionType,bool isAveRes) { DataRow row = table.NewRow(); SetNetVersionDisplay(isAveRes, row, versionType); Type simuResultType = typeof(SimuResultStruct); FieldInfo[] fields = simuResultType.GetFields(); foreach(var field in fields) { row[field.Name] = field.GetValue(resultToShow).ToString(); } SetNetVersionDisplay(isAveRes,row,versionType); table.Rows.Add(row); }
public void GetNetworkResultTest() { HSUPAResultManager target = new HSUPAResultManager(); SimuResultStruct actual = target.GetNetworkResult(objList); SimuResultStruct expected = new SimuResultStruct(); expected.DLLoad = 0; expected.DLThroughput = 0; expected.FailedSingleModeUserCount = 2; expected.NetType = NetWorkType.TDSCDMA; expected.SingleModeUserCount = 4; expected.SuccessMultiModeUserCount = 2; expected.SuccessSingleModeUserCount = 2; expected.ULLoad = 0.9f; expected.ULThroughput = 180; Assert.AreEqual(expected.NetType, actual.NetType); Assert.AreEqual(expected.SingleModeUserCount, actual.SingleModeUserCount); Assert.AreEqual(expected.ULLoad, actual.ULLoad); Assert.AreEqual(expected.ULThroughput, actual.ULThroughput); }
//add by xg 5.26 private void GetWholeResult() { SimuResultStruct srs = new SimuResultStruct(); srs.NetType = Huawei.UNet.Frame.Interface.NetWorkType.GSM; //整网实际上行吞吐率 srs.ULThroughput = NetULThroughput(); srs.DLThroughput = NetDLThroughput(); srs.DLLoad = NetDLLoad(); srs.ULLoad = NetULLoad(); float[] userTypeNum = GetUserNum(); srs.SingleModeUserCount = userTypeNum[0]; srs.SuccessMultiModeUserCount = userTypeNum[1]; srs.SuccessSingleModeUserCount = GetServerSingleNum(); srs.FailedSingleModeUserCount = srs.SingleModeUserCount - srs.SuccessSingleModeUserCount; m_GSMResult.srs = srs; }
public SimuResultStruct GetNetworkResult(List<object> obj) { SimuResultStruct m_SimRes = new SimuResultStruct(); m_SimRes.NetType = Huawei.UNet.Frame.Interface.NetWorkType.UMTS; m_SimRes.DLLoad = 0; m_SimRes.DLThroughput = 0; m_SimRes.FailedSingleModeUserCount = (float)failedAccessedSingleModelUsers.Sum(); m_SimRes.SuccessSingleModeUserCount = (float)accessedSingleModelUsers.Sum(); m_SimRes.SuccessMultiModeUserCount = (float)accessedPolyModelUsers.Sum(); m_SimRes.SingleModeUserCount = (float)singleModelUsers.Sum(); m_SimRes.ULLoad = (float)averageULLoad.Sum(); m_SimRes.ULThroughput = (float)ULThroughPut.Sum(); return m_SimRes; }