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)); }
public AlarmHourDistribution GenerateAlarmHourDistribution() { var stats = _dailyStatRepository.Stats.Select(x => new { Stat = x, Alarm = x.AlarmHourInfos }); var stat = stats.FirstOrDefault(x => x.Stat.StatTime == _statDate && x.Stat.CellId == _cellId && x.Stat.SectorId == _sectorId && x.Stat.Frequency == _frequency); AlarmHourDistribution distribution = new AlarmHourDistribution(); if (stat != null) { distribution.Import(stat.Alarm); } return(distribution); }
public void SetUp() { distribution = new AlarmHourDistribution(); }