public void Test_OrinalTwoCells(int[] cellIds, byte[] sectorIds, double refRsrp,
                                        int measuredTimes, int[] interferenceTimes,
                                        int neiCellId, byte neiSectorId, double neiRsrp)
        {
            mockInterferenceRecord.SetupGet(x => x.MeasuredTimes).Returns(measuredTimes);
            mockInterferenceRecord.Setup(x => x.Interferences).Returns(new List <FakeInterference>
            {
                new FakeInterference
                {
                    CellId            = cellIds[0],
                    SectorId          = sectorIds[0],
                    InterferenceTimes = interferenceTimes[0]
                },
                new FakeInterference
                {
                    CellId            = cellIds[1],
                    SectorId          = sectorIds[1],
                    InterferenceTimes = interferenceTimes[1]
                }
            });
            FakeNeighborCell neiCell = new FakeNeighborCell
            {
                CellId   = neiCellId,
                SectorId = neiSectorId,
                Rsrp     = neiRsrp
            };
            FakeReferenceCell refCell = new FakeReferenceCell
            {
                Rsrp = refRsrp
            };

            FakeInterference interference = mockInterferenceRecord.Object.Import(neiCell, refCell, x => true,
                                                                                 x => new FakeInterference(x));

            Assert.AreEqual(mockInterferenceRecord.Object.MeasuredTimes, measuredTimes + 1);
            if (neiRsrp > refRsrp - 6)
            {
                if (cellIds[0] == neiCellId && sectorIds[0] == neiSectorId)
                {
                    Assert.AreEqual(interference.InterferenceTimes, interferenceTimes[0] + 1);
                    Assert.AreEqual(mockInterferenceRecord.Object.Interferences.Count, 2);
                }
                else if (cellIds[1] == neiCellId && sectorIds[1] == neiSectorId)
                {
                    Assert.AreEqual(interference.InterferenceTimes, interferenceTimes[1] + 1);
                    Assert.AreEqual(mockInterferenceRecord.Object.Interferences.Count, 2);
                }
                else
                {
                    Assert.AreEqual(interference.InterferenceTimes, 1);
                    Assert.AreEqual(mockInterferenceRecord.Object.Interferences.Count, 3);
                }
            }
            else
            {
                Assert.IsNull(interference);
            }
        }
 public FakeInterference(FakeNeighborCell neiCell)
     : this()
 {
     CellId = neiCell.CellId;
     SectorId = neiCell.SectorId;
 }
        public void Test_OrinalTwoCells(int[] cellIds, byte[] sectorIds, double refRsrp,
            int measuredTimes, int[] interferenceTimes,
            int neiCellId, byte neiSectorId, double neiRsrp)
        {
            mockInterferenceRecord.SetupGet(x => x.MeasuredTimes).Returns(measuredTimes);
            mockInterferenceRecord.Setup(x => x.Interferences).Returns(new List<FakeInterference>
            {
                new FakeInterference
                {
                    CellId = cellIds[0],
                    SectorId = sectorIds[0],
                    InterferenceTimes = interferenceTimes[0]
                },
                new FakeInterference
                {
                    CellId = cellIds[1],
                    SectorId = sectorIds[1],
                    InterferenceTimes = interferenceTimes[1]
                }
            });
            FakeNeighborCell neiCell = new FakeNeighborCell
            {
                CellId = neiCellId,
                SectorId = neiSectorId,
                Rsrp = neiRsrp
            };
            FakeReferenceCell refCell = new FakeReferenceCell
            {
                Rsrp = refRsrp
            };

            FakeInterference interference = mockInterferenceRecord.Object.Import(neiCell, refCell, x => true,
                x => new FakeInterference(x));
            Assert.AreEqual(mockInterferenceRecord.Object.MeasuredTimes, measuredTimes + 1);
            if (neiRsrp > refRsrp - 6)
            {
                if (cellIds[0] == neiCellId && sectorIds[0] == neiSectorId)
                {
                    Assert.AreEqual(interference.InterferenceTimes, interferenceTimes[0] + 1);
                    Assert.AreEqual(mockInterferenceRecord.Object.Interferences.Count, 2);
                }
                else if (cellIds[1] == neiCellId && sectorIds[1] == neiSectorId)
                {
                    Assert.AreEqual(interference.InterferenceTimes, interferenceTimes[1] + 1);
                    Assert.AreEqual(mockInterferenceRecord.Object.Interferences.Count, 2);
                }
                else
                {
                    Assert.AreEqual(interference.InterferenceTimes, 1);
                    Assert.AreEqual(mockInterferenceRecord.Object.Interferences.Count, 3);
                }
            }
            else Assert.IsNull(interference);
        }
 public FakeInterference(FakeNeighborCell neiCell) : this()
 {
     CellId   = neiCell.CellId;
     SectorId = neiCell.SectorId;
 }