Пример #1
0
 public static RuRecordSet Generate(string path)
 {
     RuRecordSet recordSet;
     using (FileStream stream = new FileStream(path, FileMode.Open, FileAccess.Read))
     {
         recordSet = new RuRecordSet(stream);
     }
     return recordSet;
 }
Пример #2
0
        public static RuRecordSet Generate(string path)
        {
            RuRecordSet recordSet;

            using (FileStream stream = new FileStream(path, FileMode.Open, FileAccess.Read))
            {
                recordSet = new RuRecordSet(stream);
            }
            return(recordSet);
        }
Пример #3
0
        private static void Import(ICollection<RuInterferenceRecord> ruInterferenceRecords, RuRecordSet recordSet)
        {
            foreach (RuRecord record in recordSet.RecordList)
            {
                if (record.NbCells.Count <= 0) continue;

                RuInterferenceRecord interferenceRecord =
                    ruInterferenceRecords.FirstOrDefault(
                        x => x.CellId == record.RefCell.CellId && x.SectorId == record.RefCell.SectorId);
                if (interferenceRecord == null)
                {
                    interferenceRecord = new RuInterferenceRecord
                    {
                        CellId = record.RefCell.CellId,
                        SectorId = record.RefCell.SectorId
                    };
                    ruInterferenceRecords.Add(interferenceRecord);
                }
                interferenceRecord.Import(record,
                    neiCell => neiCell.Frequency == record.RefCell.Frequency && neiCell.SectorId != 15);
            }
        }
Пример #4
0
        public void TestRuRecordSet()
        {
            byte[] bytes =
            {
                0x54, 0x00, 0xDE, 0x07, 0x0A, 0x00, 0x05, 0x00, 0x03, 0x00, 0x0A, 0x00, 0x04, 0x00,
                0x09, 0x00, 0x6D, 0x00, 0x42, 0x53, 0x43, 0x36, 0x36, 0x38, 0x30, 0x2D, 0x4F, 0x4D,
                0x43, 0x56, 0x33, 0x30, 0x30, 0x52, 0x30, 0x30, 0x39, 0x43, 0x30, 0x30, 0x53, 0x50,
                0x43, 0x32, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF,
                0x0A, 0x01, 0x00, 0x25, 0x00, 0x84, 0xFF, 0xFF, 0xFF, 0x00, 0xA8, 0x03, 0x00, 0x00,
                0xEE, 0xEE, 0x00, 0x17, 0x02, 0x00, 0x00,
                0x25, 0xC0, 0xA8, 0x04, 0x08, 0xAE, 0xB0, 0x44, 0x00, 0x0F,
                0xC0, 0xA8, 0x04, 0x08, 0x1E, 0xC2, 0x4D, 0xD6, 0x00, 0x00,
                0xEE, 0xEE, 0x00, 0x5E, 0x01, 0x90, 0x06, 0x59, 0x85, 0x29, 0x02, 0x86, 0x21, 0x01,
                0x00, 0x00, 0x00, 0x00,
                0x25, 0xC0, 0xA8, 0x04, 0x08, 0xAD, 0x51, 0x40, 0x00, 0x28,
                0xC0, 0xA8, 0x04, 0x08, 0x6A, 0x12, 0x17, 0xEB, 0x7F, 0x00,
                0xC0, 0xA8, 0x04, 0x08, 0x60, 0x91, 0x0F, 0xCA, 0x5C, 0x00,
                0xC0, 0xA8, 0x04, 0x08, 0x0F, 0x50, 0x54, 0x87, 0x62, 0x00,
                0xC0, 0xA8, 0x04, 0x08, 0x0F, 0x52, 0x56, 0x8A, 0x88, 0x00,
                0xC0, 0xA8, 0x04, 0x08, 0x29, 0x41, 0x53, 0xC0, 0x03, 0x00,
                0xC0, 0xA8, 0x04, 0x08, 0x29, 0x42, 0x59, 0xEA, 0x02, 0x00,
                0xC0, 0xA8, 0x04, 0x08, 0x6D, 0x50, 0x92, 0x9D, 0x6F, 0x00,
                0xEE, 0xEE, 0x00, 0x22, 0x01, 0x26, 0x17, 0x97, 0x05, 0x07, 0x02, 0x86, 0x21, 0x01,
                0x00, 0x00, 0x00, 0x00,
                0x25, 0xC0, 0xA8, 0x04, 0x08, 0x73, 0xF2, 0x43, 0x00, 0x17,
                0xC0, 0xA8, 0x04, 0x08, 0x20, 0xA2, 0x53, 0xF9, 0x07, 0x00,
                0xEE, 0xEE, 0x00, 0x25, 0x01, 0x70, 0x68, 0x35, 0x50, 0x07, 0x02, 0x86, 0x21, 0x01,
                0x00, 0x00, 0x00, 0x00,
                0x4E, 0xC0, 0xA8, 0x04, 0x08, 0x20, 0x11, 0x42, 0x00, 0x15,
                0xC0, 0xA8, 0x04, 0x08, 0x20, 0x11, 0x84, 0xAC, 0x80, 0x01, 0x00, 0x00, 0x25,
                0xEE, 0xEE, 0x00, 0x22, 0x01, 0x26, 0x17, 0x07, 0x01, 0x33, 0x02, 0x86, 0x21, 0x01,
                0x00, 0x00, 0x00, 0x00,
                0x4E, 0xC0, 0xA8, 0x04, 0x08, 0xA5, 0xB0, 0x48, 0x00, 0x23,
                0xC0, 0xA8, 0x04, 0x08, 0x2C, 0x61, 0x05, 0xBA, 0x81, 0x00
            };
            Stream      stream    = new MemoryStream(bytes);
            RuRecordSet recordSet = new RuRecordSet(stream);

            Assert.IsNotNull(recordSet);
            Assert.AreEqual(recordSet.RecordList.Count, 5);
            Assert.AreEqual(recordSet.RecordList[0].NbCells.Count, 1);
            Assert.AreEqual(recordSet.RecordList[0].RefCell.Frequency, 37);
            Assert.AreEqual(recordSet.RecordList[1].NbCells.Count, 7);
            Assert.AreEqual(recordSet.RecordList[1].RefCell.Frequency, 37);
            Assert.AreEqual(recordSet.RecordList[2].NbCells.Count, 1);
            Assert.AreEqual(recordSet.RecordList[2].RefCell.Frequency, 37);
            Assert.AreEqual(recordSet.RecordList[3].NbCells.Count, 1);
            Assert.AreEqual(recordSet.RecordList[3].RefCell.Frequency, 78);
            Assert.AreEqual(recordSet.RecordList[3].NbCells[0].Frequency, 37);
            Assert.AreEqual(recordSet.RecordList[4].NbCells.Count, 1);
            Assert.AreEqual(recordSet.RecordList[4].RefCell.Frequency, 78);

            List <RuInterferenceRecord> ruInterferenceRecords = new List <RuInterferenceRecord>();

            Import(ruInterferenceRecords, recordSet);
            Assert.AreEqual(ruInterferenceRecords.Count, 5);
            Assert.AreEqual(ruInterferenceRecords[0].CellId, 0xAEB);
            Assert.AreEqual(ruInterferenceRecords[0].SectorId, 0);
            Assert.AreEqual(ruInterferenceRecords[0].Interferences.Count, 1);
            Assert.AreEqual(ruInterferenceRecords[1].Interferences.Count, 7);
            Assert.AreEqual(ruInterferenceRecords[2].Interferences.Count, 1);
            Assert.AreEqual(ruInterferenceRecords[3].Interferences.Count, 0);
            Assert.AreEqual(ruInterferenceRecords[4].Interferences.Count, 1);
            Assert.AreEqual(ruInterferenceRecords[0].MinRtd, 0);
            Assert.AreEqual(ruInterferenceRecords[1].MinRtd, 244);
        }
Пример #5
0
        private static void Import(ICollection <RuInterferenceRecord> ruInterferenceRecords, RuRecordSet recordSet)
        {
            foreach (RuRecord record in recordSet.RecordList)
            {
                if (record.NbCells.Count <= 0)
                {
                    continue;
                }

                RuInterferenceRecord interferenceRecord =
                    ruInterferenceRecords.FirstOrDefault(
                        x => x.CellId == record.RefCell.CellId && x.SectorId == record.RefCell.SectorId);
                if (interferenceRecord == null)
                {
                    interferenceRecord = new RuInterferenceRecord
                    {
                        CellId   = record.RefCell.CellId,
                        SectorId = record.RefCell.SectorId
                    };
                    ruInterferenceRecords.Add(interferenceRecord);
                }
                interferenceRecord.Import(record,
                                          neiCell => neiCell.Frequency == record.RefCell.Frequency && neiCell.SectorId != 15);
            }
        }
Пример #6
0
        public void TestRuRecordSet()
        {
            byte[] bytes = {
                               0x54, 0x00, 0xDE, 0x07, 0x0A, 0x00, 0x05, 0x00, 0x03, 0x00, 0x0A, 0x00, 0x04, 0x00,
                               0x09, 0x00, 0x6D, 0x00, 0x42, 0x53, 0x43, 0x36, 0x36, 0x38, 0x30, 0x2D, 0x4F, 0x4D,
                               0x43, 0x56, 0x33, 0x30, 0x30, 0x52, 0x30, 0x30, 0x39, 0x43, 0x30, 0x30, 0x53, 0x50,
                               0x43, 0x32, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF,
                               0x0A, 0x01, 0x00, 0x25, 0x00, 0x84, 0xFF, 0xFF, 0xFF, 0x00, 0xA8, 0x03, 0x00, 0x00,
                               0xEE, 0xEE, 0x00, 0x17, 0x02, 0x00, 0x00,
                               0x25, 0xC0, 0xA8, 0x04, 0x08, 0xAE, 0xB0, 0x44, 0x00, 0x0F,
                               0xC0, 0xA8, 0x04, 0x08, 0x1E, 0xC2, 0x4D, 0xD6, 0x00, 0x00,
                               0xEE, 0xEE, 0x00, 0x5E, 0x01, 0x90, 0x06, 0x59, 0x85, 0x29, 0x02, 0x86, 0x21, 0x01,
                               0x00, 0x00, 0x00, 0x00,
                               0x25, 0xC0, 0xA8, 0x04, 0x08, 0xAD, 0x51, 0x40, 0x00, 0x28,
                               0xC0, 0xA8, 0x04, 0x08, 0x6A, 0x12, 0x17, 0xEB, 0x7F, 0x00,
                               0xC0, 0xA8, 0x04, 0x08, 0x60, 0x91, 0x0F, 0xCA, 0x5C, 0x00,
                               0xC0, 0xA8, 0x04, 0x08, 0x0F, 0x50, 0x54, 0x87, 0x62, 0x00,
                               0xC0, 0xA8, 0x04, 0x08, 0x0F, 0x52, 0x56, 0x8A, 0x88, 0x00,
                               0xC0, 0xA8, 0x04, 0x08, 0x29, 0x41, 0x53, 0xC0, 0x03, 0x00,
                               0xC0, 0xA8, 0x04, 0x08, 0x29, 0x42, 0x59, 0xEA, 0x02, 0x00,
                               0xC0, 0xA8, 0x04, 0x08, 0x6D, 0x50, 0x92, 0x9D, 0x6F, 0x00,
                               0xEE, 0xEE, 0x00, 0x22, 0x01, 0x26, 0x17, 0x97, 0x05, 0x07, 0x02, 0x86, 0x21, 0x01,
                               0x00, 0x00, 0x00, 0x00,
                               0x25, 0xC0, 0xA8, 0x04, 0x08, 0x73, 0xF2, 0x43, 0x00, 0x17,
                               0xC0, 0xA8, 0x04, 0x08, 0x20, 0xA2, 0x53, 0xF9, 0x07, 0x00,
                               0xEE, 0xEE, 0x00, 0x25, 0x01, 0x70, 0x68, 0x35, 0x50, 0x07, 0x02, 0x86, 0x21, 0x01,
                               0x00, 0x00, 0x00, 0x00,
                               0x4E, 0xC0, 0xA8, 0x04, 0x08, 0x20, 0x11, 0x42, 0x00, 0x15,
                               0xC0, 0xA8, 0x04, 0x08, 0x20, 0x11, 0x84, 0xAC, 0x80, 0x01, 0x00, 0x00, 0x25,
                               0xEE, 0xEE, 0x00, 0x22, 0x01, 0x26, 0x17, 0x07, 0x01, 0x33, 0x02, 0x86, 0x21, 0x01,
                               0x00, 0x00, 0x00, 0x00,
                               0x4E, 0xC0, 0xA8, 0x04, 0x08, 0xA5, 0xB0, 0x48, 0x00, 0x23,
                               0xC0, 0xA8, 0x04, 0x08, 0x2C, 0x61, 0x05, 0xBA, 0x81, 0x00
                           };
            Stream stream = new MemoryStream(bytes);
            RuRecordSet recordSet = new RuRecordSet(stream);
            Assert.IsNotNull(recordSet);
            Assert.AreEqual(recordSet.RecordList.Count, 5);
            Assert.AreEqual(recordSet.RecordList[0].NbCells.Count, 1);
            Assert.AreEqual(recordSet.RecordList[0].RefCell.Frequency, 37);
            Assert.AreEqual(recordSet.RecordList[1].NbCells.Count, 7);
            Assert.AreEqual(recordSet.RecordList[1].RefCell.Frequency, 37);
            Assert.AreEqual(recordSet.RecordList[2].NbCells.Count, 1);
            Assert.AreEqual(recordSet.RecordList[2].RefCell.Frequency, 37);
            Assert.AreEqual(recordSet.RecordList[3].NbCells.Count, 1);
            Assert.AreEqual(recordSet.RecordList[3].RefCell.Frequency, 78);
            Assert.AreEqual(recordSet.RecordList[3].NbCells[0].Frequency, 37);
            Assert.AreEqual(recordSet.RecordList[4].NbCells.Count, 1);
            Assert.AreEqual(recordSet.RecordList[4].RefCell.Frequency, 78);

            List<RuInterferenceRecord> ruInterferenceRecords = new List<RuInterferenceRecord>();
            Import(ruInterferenceRecords, recordSet);
            Assert.AreEqual(ruInterferenceRecords.Count, 5);
            Assert.AreEqual(ruInterferenceRecords[0].CellId, 0xAEB);
            Assert.AreEqual(ruInterferenceRecords[0].SectorId, 0);
            Assert.AreEqual(ruInterferenceRecords[0].Interferences.Count, 1);
            Assert.AreEqual(ruInterferenceRecords[1].Interferences.Count, 7);
            Assert.AreEqual(ruInterferenceRecords[2].Interferences.Count, 1);
            Assert.AreEqual(ruInterferenceRecords[3].Interferences.Count, 0);
            Assert.AreEqual(ruInterferenceRecords[4].Interferences.Count, 1);
            Assert.AreEqual(ruInterferenceRecords[0].MinRtd, 0);
            Assert.AreEqual(ruInterferenceRecords[1].MinRtd, 244);
        }