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);
        }
Beispiel #4
0
 public void SetUp()
 {
     distribution = new AlarmHourDistribution();
 }