def test_max_min_range_update(self): cell = CellFactory(range=150, total_measures=3) cell_lat = cell.lat cell_lon = cell.lon cell.max_lat = cell.lat + 0.001 cell.min_lat = cell.lat - 0.001 cell.max_lon = cell.lon + 0.001 cell.min_lon = cell.lon - 0.001 k1 = cell.hashkey().__dict__ observations = [ CellObservation(lat=cell.lat, lon=cell.lon - 0.002, **k1), CellObservation(lat=cell.lat + 0.004, lon=cell.lon - 0.006, **k1), ] self.data_queue.enqueue(observations) self.session.commit() self.assertEqual(update_cell.delay().get(), (1, 0)) cells = self.session.query(Cell).all() self.assertEqual(len(cells), 1) cell = cells[0] self.assertAlmostEqual(cell.lat, cell_lat + 0.0008) self.assertAlmostEqual(cell.max_lat, cell_lat + 0.004) self.assertAlmostEqual(cell.min_lat, cell_lat - 0.001) self.assertAlmostEqual(cell.lon, cell_lon - 0.0016) self.assertAlmostEqual(cell.max_lon, cell_lon + 0.001) self.assertAlmostEqual(cell.min_lon, cell_lon - 0.006) self.assertEqual(cell.range, 468) self.assertEqual(cell.total_measures, 5)