public void Test_Generate(int[] cellId, byte[] sectorId, double[] rtd, int[] resultCellId, byte[] resultSectorId, int resultCount, double[] min, double[] max, double[] average, int[] innerCount, int[] outerCount, int[] innerExcessCount, int[] outerExcessCount) { for (int i = 0; i < cellId.Length; i++) { sourceList.Add(new CdrRtdRecord { CellId = cellId[i], SectorId = sectorId[i], Rtd = rtd[i] }); } GenerateCdrTaRecordsFromTaRecordsService service = new GenerateCdrTaRecordsFromTaRecordsService( sourceList); List <CdrTaRecord> resultList = service.Generate(); Assert.AreEqual(resultList.Count, resultCount); for (int i = 0; i < resultCount; i++) { Assert.AreEqual(resultList[i].CellId, resultCellId[i]); Assert.AreEqual(resultList[i].SectorId, resultSectorId[i]); Assert.AreEqual(resultList[i].TaMin, min[i], Eps); Assert.AreEqual(resultList[i].TaMax, max[i], Eps); Assert.AreEqual(resultList[i].TaAverage, average[i], Eps); Assert.AreEqual(resultList[i].TaInnerIntervalNum, innerCount[i]); Assert.AreEqual(resultList[i].TaOuterIntervalNum, outerCount[i]); Assert.AreEqual(resultList[i].TaInnerIntervalExcessNum, innerExcessCount[i], "Max is:" + max[i]); Assert.AreEqual(resultList[i].TaOuterIntervalExcessNum, outerExcessCount[i]); } }
public override void Import(ImportedFileInfo[] validFileInfos) { FinishValidFilesStateService fileService = new FinishValidFilesStateService(validFileInfos); string[] paths = validFileInfos.Select(x => x.FilePath).ToArray(); List <CdrRtdRecord> taRecordList = new List <CdrRtdRecord>(); List <MrRecordSet> mrRecordSets = taRecordList.Import(_repository, _cells, paths.Where(x => x.IndexOf("MRO", StringComparison.Ordinal) >= 0)); List <RuInterferenceRecord> records = mrRecordSets.GenerteRuInterferenceRecords(); GenerateCdrTaRecordsService taService = new GenerateCdrTaRecordsFromTaRecordsService(taRecordList); List <CdrTaRecord> taDetails = taService.Generate(); List <InterferenceDetails> details = new List <InterferenceDetails>(); details.Import(records); _stats.AddRange(details.Select(x => new InterferenceStat { CellId = x.CellId, SectorId = x.SectorId, VictimCells = x.Victims.Count, InterferenceCells = x.Victims.Count(v => v.InterferenceRatio > RuInterferenceStat.RatioThreshold) })); _stats.ImportByTa(taDetails); fileService.Finish(); MessageBox.Show("成功导入MR数据文件"); }