Пример #1
0
 public static void Import(this List<DistanceDistribution> result,
     CdrCallsDistanceInfo cdrCallInfo, CdrDropsDistanceInfo cdrDropInfo,
     DropEcioDistanceInfo dropEcioInfo, GoodEcioDistanceInfo goodEcioInfo)
 {
     int[] distanceRange =
     {
         0,200,400,600,800,1000,1200,1400,1600,1800,2000,2200,2400,2600,2800,3000,4000,
         5000,6000,7000,8000,9000 };
     for (int i = 0; i < distanceRange.Length - 1; i++)
     {
         string propertyName = "DistanceTo" + distanceRange[i + 1] + "Info";
         PropertyInfo cdrCallsProperty = (typeof(CdrCallsDistanceInfo)).GetProperty(propertyName);
         PropertyInfo cdrDropsProperty = (typeof(CdrDropsDistanceInfo)).GetProperty(propertyName);
         PropertyInfo dropEcioProperty = (typeof(DropEcioDistanceInfo)).GetProperty(propertyName);
         PropertyInfo goodEcioProperty = (typeof(GoodEcioDistanceInfo)).GetProperty(propertyName);
         result.Add(new DistanceDistribution
         {
             DistanceDescription = distanceRange[i] + " -> " + distanceRange[i + 1] + "m",
             CdrCalls = (cdrCallInfo == null) ? 0 : (int) cdrCallsProperty.GetValue(cdrCallInfo),
             CdrDrops = (cdrDropInfo == null) ? 0 : (int) cdrDropsProperty.GetValue(cdrDropInfo),
             DropEcio = (dropEcioInfo == null) ? 0 : (double) dropEcioProperty.GetValue(dropEcioInfo),
             GoodEcio = (goodEcioInfo == null) ? 0 : (double) goodEcioProperty.GetValue(goodEcioInfo)*100
         });
     }
     result.Add(
         new DistanceDistribution
         {
             DistanceDescription = "9000m -> inf",
             CdrCalls = (cdrCallInfo == null) ? 0 : cdrCallInfo.DistanceToInfInfo,
             CdrDrops = (cdrDropInfo == null) ? 0 : cdrDropInfo.DistanceToInfInfo,
             DropEcio = (dropEcioInfo == null) ? 0 : dropEcioInfo.DistanceToInfInfo,
             GoodEcio = (goodEcioInfo == null) ? 0 : goodEcioInfo.DistanceToInfInfo * 100
         });
 }
Пример #2
0
        public void TestTopDrop2GCellCsv_CdrCallsDistanceInfo()
        {
            CdrCallsDistanceInfo info
                = stats[3].GenerateDistanceInfo <CdrCallsDistanceInfo, int>();

            info.AssertDistanceTest(new[] {
                235, 1478, 2615, 1299, 299, 118, 62, 39, 38, 13, 9, 16, 7, 6, 36, 88, 2, 1, 0, 1, 0, 0
            });
        }
Пример #3
0
 public void TestImport_CdrCalls()
 {
     CdrCallsDistanceInfo info = new CdrCallsDistanceInfo
     {
         DistanceTo1000Info = 1233,
         DistanceTo1600Info = 2344,
         DistanceTo2200Info = 3765
     };
     result = new List<DistanceDistribution>();
     result.Import(info, null, null, null);
     Assert.AreEqual(result.Count, 22);
     Assert.AreEqual(result[4].CdrCalls, 1233);
     Assert.AreEqual(result[7].CdrCalls, 2344);
     Assert.AreEqual(result[10].CdrCalls, 3765);
 }
Пример #4
0
        public void TestImport_CdrCalls()
        {
            CdrCallsDistanceInfo info = new CdrCallsDistanceInfo
            {
                DistanceTo1000Info = 1233,
                DistanceTo1600Info = 2344,
                DistanceTo2200Info = 3765
            };

            result = new List <DistanceDistribution>();
            result.Import(info, null, null, null);
            Assert.AreEqual(result.Count, 22);
            Assert.AreEqual(result[4].CdrCalls, 1233);
            Assert.AreEqual(result[7].CdrCalls, 2344);
            Assert.AreEqual(result[10].CdrCalls, 3765);
        }
        public void Test_GenerateDistanceDistribution_CdrCallsDistanceInfo(
            int[] values)
        {
            CdrCallsDistanceInfo info = new CdrCallsDistanceInfo
            {
                DistanceTo200Info  = values[0],
                DistanceTo400Info  = values[1],
                DistanceTo600Info  = values[2],
                DistanceTo800Info  = values[3],
                DistanceTo1000Info = values[4],
                DistanceTo1200Info = values[5],
                DistanceTo1400Info = values[6],
                DistanceTo1600Info = values[7],
                DistanceTo1800Info = values[8],
                DistanceTo2000Info = values[9],
                DistanceTo2200Info = values[10],
                DistanceTo2400Info = values[11],
                DistanceTo2600Info = values[12],
                DistanceTo2800Info = values[13],
                DistanceTo3000Info = values[14],
                DistanceTo4000Info = values[15],
                DistanceTo5000Info = values[16],
                DistanceTo6000Info = values[17],
                DistanceTo7000Info = values[18],
                DistanceTo8000Info = values[19],
                DistanceTo9000Info = values[20],
                DistanceToInfInfo  = values[21]
            };

            statList.Add(new TopDrop2GCellDaily
            {
                CellId               = 1,
                SectorId             = 2,
                Frequency            = 3,
                StatTime             = DateTime.Today,
                CdrCallsDistanceInfo = info
            });
            mockRepository.SetupGet(x => x.Stats).Returns(statList.AsQueryable());
            List <DistanceDistribution> distribution = _service.GenerateDistanceDistribution();

            Assert.AreEqual(distribution.Count, 22);
            for (int i = 0; i < 22; i++)
            {
                Assert.AreEqual(distribution[i].CdrCalls, values[i]);
            }
        }
Пример #6
0
 public void Test_GenerateDistanceDistribution_CdrCallsDistanceInfo(
     int[] values)
 {
     CdrCallsDistanceInfo info = new CdrCallsDistanceInfo
     {
         DistanceTo200Info = values[0],
         DistanceTo400Info = values[1],
         DistanceTo600Info = values[2],
         DistanceTo800Info = values[3],
         DistanceTo1000Info = values[4],
         DistanceTo1200Info = values[5],
         DistanceTo1400Info = values[6],
         DistanceTo1600Info = values[7],
         DistanceTo1800Info = values[8],
         DistanceTo2000Info = values[9],
         DistanceTo2200Info = values[10],
         DistanceTo2400Info = values[11],
         DistanceTo2600Info = values[12],
         DistanceTo2800Info = values[13],
         DistanceTo3000Info = values[14],
         DistanceTo4000Info = values[15],
         DistanceTo5000Info = values[16],
         DistanceTo6000Info = values[17],
         DistanceTo7000Info = values[18],
         DistanceTo8000Info = values[19],
         DistanceTo9000Info = values[20],
         DistanceToInfInfo = values[21]
     };
     statList.Add(new TopDrop2GCellDaily
     {
         CellId = 1,
         SectorId = 2,
         Frequency = 3,
         StatTime = DateTime.Today,
         CdrCallsDistanceInfo = info
     });
     mockRepository.Setup(x => x.GetAll()).Returns(statList.AsQueryable());
     List<DistanceDistribution> distribution = _service.GenerateDistanceDistribution();
     Assert.AreEqual(distribution.Count, 22);
     for (int i = 0; i < 22; i++)
     {
         Assert.AreEqual(distribution[i].CdrCalls, values[i]);
     }
 }