def test_fields(self): now = util.utcnow() cellid = encode_cellid(Radio.gsm, GB_MCC, GB_MNC, 123, 2345) model = CellShard.shard_model(Radio.gsm) self.session.add(model.create( cellid=cellid, created=now, modified=now, radio=Radio.gsm, mcc=GB_MCC, mnc=GB_MNC, lac=123, cid=2345, psc=1, lat=GB_LAT, lon=GB_LON, max_lat=GB_LAT + 0.1, min_lat=GB_LAT - 0.1, max_lon=GB_LON + 0.1, min_lon=GB_LON - 0.1, radius=11, region='GB', samples=15, source=StationSource.gnss, block_first=now.date(), block_last=now.date(), block_count=1)) self.session.flush() result = (self.session.query(model) .filter(model.cellid == cellid)).first() self.assertEqual(result.areaid, cellid[:7]) self.assertEqual(encode_cellid(*result.cellid), cellid) self.assertEqual(result.radio, Radio.gsm) self.assertEqual(result.mcc, GB_MCC) self.assertEqual(result.mnc, GB_MNC) self.assertEqual(result.lac, 123) self.assertEqual(result.cid, 2345) self.assertEqual(result.psc, 1) self.assertEqual(result.created, now) self.assertEqual(result.modified, now) self.assertEqual(result.lat, GB_LAT) self.assertEqual(result.lon, GB_LON) self.assertEqual(result.radius, 11) self.assertEqual(result.region, 'GB') self.assertEqual(result.samples, 15) self.assertEqual(result.source, StationSource.gnss) self.assertEqual(result.block_first, now.date()) self.assertEqual(result.block_last, now.date()) self.assertEqual(result.block_count, 1)
def test_fields(self, session): now = util.utcnow() cellid = encode_cellid(Radio.gsm, GB_MCC, GB_MNC, 123, 2345) model = CellShard.shard_model(Radio.gsm) session.add( model.create( cellid=cellid, created=now, modified=now, radio=Radio.gsm, mcc=GB_MCC, mnc=GB_MNC, lac=123, cid=2345, psc=1, lat=GB_LAT, lon=GB_LON, max_lat=GB_LAT + 0.1, min_lat=GB_LAT - 0.1, max_lon=GB_LON + 0.1, min_lon=GB_LON - 0.1, radius=11, region="GB", samples=15, source=ReportSource.gnss, weight=1.5, last_seen=now.date(), block_first=now.date(), block_last=now.date(), block_count=1, )) session.flush() result = (session.query(model).filter(model.cellid == cellid)).first() assert area_id(result) == cellid[:7] assert encode_cellid(*result.cellid) == cellid assert result.radio == Radio.gsm assert result.mcc == GB_MCC assert result.mnc == GB_MNC assert result.lac == 123 assert result.cid == 2345 assert result.psc == 1 assert result.created == now assert result.modified == now assert result.lat == GB_LAT assert result.lon == GB_LON assert result.radius == 11 assert result.region == "GB" assert result.samples == 15 assert result.source == ReportSource.gnss assert result.weight == 1.5 assert result.last_seen == now.date() assert result.block_first == now.date() assert result.block_last == now.date() assert result.block_count == 1
def test_score(self): now = util.utcnow() cell = CellShard.shard_model(Radio.gsm).create(radio=Radio.gsm, mcc=GB_MCC, mnc=GB_MNC, lac=2, cid=3, created=now, modified=now, radius=10, samples=2) self.assertAlmostEqual(cell.score(now), 0.1, 2)
def test_shard_model(self): self.assertIs(CellShard.shard_model(Radio.gsm), CellShardGsm) self.assertIs(CellShard.shard_model(Radio.wcdma), CellShardWcdma) self.assertIs(CellShard.shard_model(Radio.lte), CellShardLte) self.assertIs(CellShard.shard_model(''), None) self.assertIs(CellShard.shard_model(None), None) cell_tuple = (Radio.lte, GB_MCC, GB_MNC, 1, 2) self.assertEqual(CellShard.shard_model(cell_tuple), CellShardLte) cellid = encode_cellid(*cell_tuple) self.assertEqual(CellShard.shard_model(cellid), CellShardLte)
def test_shard_model(self): assert CellShard.shard_model(Radio.gsm) is CellShardGsm assert CellShard.shard_model(Radio.wcdma) is CellShardWcdma assert CellShard.shard_model(Radio.lte) is CellShardLte assert CellShard.shard_model('') is None assert CellShard.shard_model(None) is None cell_tuple = (Radio.lte, GB_MCC, GB_MNC, 1, 2) assert CellShard.shard_model(cell_tuple) is CellShardLte cellid = encode_cellid(*cell_tuple) assert CellShard.shard_model(cellid) is CellShardLte
def test_shard_model(self): assert CellShard.shard_model(Radio.gsm) is CellShardGsm assert CellShard.shard_model(Radio.wcdma) is CellShardWcdma assert CellShard.shard_model(Radio.lte) is CellShardLte assert CellShard.shard_model("") is None assert CellShard.shard_model(None) is None cell_tuple = (Radio.lte, GB_MCC, GB_MNC, 1, 2) assert CellShard.shard_model(cell_tuple) is CellShardLte cellid = encode_cellid(*cell_tuple) assert CellShard.shard_model(cellid) is CellShardLte
def test_fields(self, session): now = util.utcnow() cellid = encode_cellid(Radio.gsm, GB_MCC, GB_MNC, 123, 2345) model = CellShard.shard_model(Radio.gsm) session.add(model.create( cellid=cellid, created=now, modified=now, radio=Radio.gsm, mcc=GB_MCC, mnc=GB_MNC, lac=123, cid=2345, psc=1, lat=GB_LAT, lon=GB_LON, max_lat=GB_LAT + 0.1, min_lat=GB_LAT - 0.1, max_lon=GB_LON + 0.1, min_lon=GB_LON - 0.1, radius=11, region='GB', samples=15, source=ReportSource.gnss, weight=1.5, last_seen=now.date(), block_first=now.date(), block_last=now.date(), block_count=1)) session.flush() result = (session.query(model) .filter(model.cellid == cellid)).first() assert result.areaid == cellid[:7] assert encode_cellid(*result.cellid) == cellid assert result.radio == Radio.gsm assert result.mcc == GB_MCC assert result.mnc == GB_MNC assert result.lac == 123 assert result.cid == 2345 assert result.psc == 1 assert result.created == now assert result.modified == now assert result.lat == GB_LAT assert result.lon == GB_LON assert result.radius == 11 assert result.region == 'GB' assert result.samples == 15 assert result.source == ReportSource.gnss assert result.weight == 1.5 assert result.last_seen == now.date() assert result.block_first == now.date() assert result.block_last == now.date() assert result.block_count == 1
def shard_model(self): return CellShard.shard_model(self.cellid)
def test_score(self): now = util.utcnow() cell = CellShard.shard_model(Radio.gsm).create( radio=Radio.gsm, mcc=GB_MCC, mnc=GB_MNC, lac=2, cid=3, created=now, modified=now, radius=10, samples=2) self.assertAlmostEqual(cell.score(now), 0.1, 2)