From 5911daf8a3f8520d34a19abbfce9d5f2385e0874 Mon Sep 17 00:00:00 2001 From: radonnachie Date: Thu, 5 Dec 2024 09:26:44 +0200 Subject: [PATCH] + tests utils look_in_catalog --- tests/utils/test_phase_center_catalog.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/tests/utils/test_phase_center_catalog.py b/tests/utils/test_phase_center_catalog.py index b1d0d7c0f..c155836c2 100644 --- a/tests/utils/test_phase_center_catalog.py +++ b/tests/utils/test_phase_center_catalog.py @@ -2,10 +2,18 @@ # Licensed under the 2-clause BSD License """Tests for phase center catalog utility functions.""" +import os + import pytest +from pyuvdata import UVData +from pyuvdata.data import DATA_PATH import pyuvdata.utils.phase_center_catalog as ps_cat_utils +casa_tutorial_uvfits = os.path.join( + DATA_PATH, "day2_TDEM0003_10s_norx_1src_1spw.uvfits" +) + def test_generate_new_phase_center_id_errs(): with pytest.raises(ValueError, match="Cannot specify old_id if no catalog"): @@ -13,3 +21,18 @@ def test_generate_new_phase_center_id_errs(): with pytest.raises(ValueError, match="Provided cat_id was found in reserved_ids"): ps_cat_utils.generate_new_phase_center_id(cat_id=1, reserved_ids=[1, 2, 3]) + + +def test_look_in_catalog_missing_entries(): + casa_uvfits = UVData() + casa_uvfits.read(casa_tutorial_uvfits) + phase_cat = casa_uvfits.phase_center_catalog + # Try that this works normally if we do nothing + assert ps_cat_utils.look_in_catalog(phase_cat, cat_name=phase_cat[0]['cat_name']) == (0, 5) + + # Now delete some keys + for value in phase_cat.values(): + if 'cat_times' in value: + del value['cat_times'] + # Now re-run the above and verify things work as expected + assert ps_cat_utils.look_in_catalog(phase_cat, cat_name=phase_cat[0]['cat_name']) == (0, 5)