public void TestGenerateMeasurableCellList_OneCell()
        {
            Mock <IOutdoorCell> outdoorCell = new Mock <IOutdoorCell>();

            outdoorCell.MockOutdoorCell(112, 23, 0, 15.2, 18);

            compCells    = new ComparableCell[1];
            compCells[0] = new ComparableCell(1.111949, 90)
            {
                Budget = new LinkBudget(model), Cell = outdoorCell.Object
            };

            measurablePoint.CellRepository.GenerateMeasurableCellList(compCells, measurablePoint);

            Assert.AreEqual(measurablePoint.CellRepository.CellList.Count, 1);
            Assert.AreEqual(measurablePoint.CellRepository.CellList[0].Cell, compCells[0]);
            Assert.AreEqual(measurablePoint.CellRepository.CellList[0].Budget, compCells[0].Budget);
            Assert.AreEqual(FakeComparableCell.Parse(measurablePoint.CellRepository.CellList[0].Cell).MetricCalculate(),
                            31.61297, eps);
            Assert.AreEqual(measurablePoint.CellRepository.CellList[0].Cell.AzimuthFactor(), 30, eps);
            Assert.AreEqual(measurablePoint.CellRepository.CellList[0].Budget.AntennaGain, 18);
            Assert.AreEqual(measurablePoint.CellRepository.CellList[0].Budget.TransmitPower, 15.2);
            Assert.AreEqual(measurablePoint.CellRepository.CellList[0].Cell.Cell.Height, 40);
            Assert.AreEqual(measurablePoint.CellRepository.CellList[0].TiltFactor(), 1.259912, eps);
            Assert.AreEqual(measurablePoint.CellRepository.CellList[0].ReceivedRsrp, -136.877439, eps);
            Assert.AreEqual(measurablePoint.CellRepository.CellList[0].TiltAngle, 2.939795, eps);
        }
        public void TestComparableCell_FourCells()
        {
            cellList    = new FakeComparableCell[4];
            cellList[0] = FakeComparableCell.Parse(new ComparableCell(0.2, 60));
            cellList[1] = FakeComparableCell.Parse(new ComparableCell(0.2, 120));
            cellList[2] = FakeComparableCell.Parse(new ComparableCell(0.4, 0));
            cellList[3] = FakeComparableCell.Parse(new ComparableCell(0.2, 0));
            Array.Sort(cellList);
            Assert.AreEqual(cellList[0].AzimuthAngle, 0);
            double metric0 = cellList[0].MetricCalculate();

            Assert.AreEqual(metric0, -24.46395, eps, metric0.ToString(CultureInfo.InvariantCulture));
            Assert.AreEqual(cellList[1].AzimuthAngle, 0);
            double metric1 = cellList[1].MetricCalculate();

            Assert.AreEqual(metric1, -13.9279, eps, metric1.ToString(CultureInfo.InvariantCulture));
            Assert.AreEqual(cellList[2].AzimuthAngle, 60);
            double metric2 = cellList[2].MetricCalculate();

            Assert.AreEqual(metric2, -11.899295, eps, metric2.ToString(CultureInfo.InvariantCulture));
            Assert.AreEqual(cellList[3].AzimuthAngle, 120);
            double metric3 = cellList[3].MetricCalculate();

            Assert.AreEqual(metric3, 5.53605, eps, metric3.ToString(CultureInfo.InvariantCulture));
        }
        public void TestComparableCell_OneCell_With0azimuth_Metric()
        {
            FakeComparableCell c = FakeComparableCell.Parse(new ComparableCell(0.5, 0));

            Assert.AreEqual(c.Distance, 0.5);
            double metric = 35 * Math.Log10(0.5);

            Assert.AreEqual(c.MetricCalculate(), metric);
        }
 public void TestComparableCell_TwoCells()
 {
     cellList    = new FakeComparableCell[2];
     cellList[0] = FakeComparableCell.Parse(new ComparableCell(0.5, 0));
     cellList[1] = FakeComparableCell.Parse(new ComparableCell(0.2, 1));
     Assert.AreEqual(cellList[0].Distance, 0.5);
     Array.Sort(cellList);
     Assert.AreEqual(cellList[0].Distance, 0.2);
     Assert.AreEqual(cellList[1].AzimuthAngle, 0);
 }
        public void TestComparableCell_OnePoint()
        {
            cellList = new FakeComparableCell[1];
            IGeoPoint <double> p = new StubGeoPoint(112, 22);
            IOutdoorCell       c = new StubOutdoorCell(112.001, 22.001, 60);

            cellList[0] = FakeComparableCell.Parse(new ComparableCell(p, c));
            double dist = p.SimpleDistance(new StubGeoPoint(c.Longtitute, c.Lattitute));

            Assert.AreEqual(cellList[0].Distance, dist, 1E-6);
            Assert.AreEqual(cellList[0].AzimuthAngle, 165, 1E-6);
        }
Example #6
0
        public void TestImportCells_OneCell()
        {
            ImportOneCell();

            Assert.AreEqual(measurablePoint.CellRepository.CellList.Count, 1);
            Assert.AreEqual(measurablePoint.CellRepository.CellList[0].Cell.Distance, 1.111949, eps);
            Assert.AreEqual(measurablePoint.CellRepository.CellList[0].Cell.AzimuthAngle, 90);
            Assert.AreEqual(FakeComparableCell.Parse(measurablePoint.CellRepository.CellList[0].Cell).MetricCalculate(),
                            31.612974, eps);
            Assert.AreEqual(measurablePoint.CellRepository.CellList[0].Cell.AzimuthFactor(), 30, eps);
            Assert.AreEqual(measurablePoint.CellRepository.CellList[0].Cell.Cell.Height, 40);
            Assert.AreEqual(measurablePoint.CellRepository.CellList[0].Budget.AntennaGain, 18);
            Assert.AreEqual(measurablePoint.CellRepository.CellList[0].Budget.TransmitPower, 15.2);
            Assert.AreEqual(measurablePoint.CellRepository.CellList[0].TiltFactor(), 1.259912, eps);
            Assert.AreEqual(measurablePoint.CellRepository.CellList[0].ReceivedRsrp, -136.877442, eps);
            Assert.AreEqual(measurablePoint.CellRepository.CellList[0].TiltAngle, 2.939795, eps);
        }