public void Test_GenerateAlarmHourDistribution(int length, short[] hours, string[] types, int[] alarms, int resultLength, string[] resultKeys, int[] resultCounts) { List <AlarmHourInfo> infos = new List <AlarmHourInfo>(); for (int i = 0; i < length; i++) { infos.Add(new AlarmHourInfo { Hour = hours[i], AlarmType = types[i].GetAlarmType(), Alarms = alarms[i] }); } statList.Add(new TopDrop2GCellDaily { CellId = 1, SectorId = 2, Frequency = 3, StatTime = DateTime.Today, AlarmHourInfos = infos }); mockRepository.SetupGet(x => x.Stats).Returns(statList.AsQueryable()); AlarmHourDistribution distribution = _service.GenerateAlarmHourDistribution(); Assert.AreEqual(distribution.AlarmRecords.Count, resultLength); for (int i = 0; i < resultLength; i++) { int[] counts = distribution.AlarmRecords[resultKeys[i]]; for (int j = 0; j < 24; j++) { Assert.AreEqual(counts[j], resultCounts[i * 24 + j]); } } }
public JsonResult QueryAlarmHourDistribution(int cellId, byte sectorId, short frequency, DateTime end) { QueryTopDrop2GService service = new QueryTopDrop2GService(dailyStatRepository, cellId, sectorId, frequency, end); AlarmHourDistribution distribution = service.GenerateAlarmHourDistribution(); return(Json(distribution.AlarmRecords.Select(x => new { Type = x.Key, Data = x.Value }), JsonRequestBehavior.AllowGet)); }