def test_get_segment_library_list_remote():
    """Test construction of segment PSF libraries using data on the central
    storage directory.
    """
    # Get a list of segment PSF library files
    library_list = get_segment_library_list(INSTRUMENT, DETECTOR, FILTER, TEST_DATA_DIR)

    # Ensure the right files were found
    library_names = PARAMETRIZED_DATA['test_get_segment_library_list']
    assert len(library_list) == 18, 'Did not find all 18 segment libraries'
    assert sorted(library_list) == sorted([os.path.join(TEST_DATA_DIR, name) for name in library_names]), \
        'Did not find all expected 18 segment libraries'
def test_get_segment_offset_remote(segment_number, correct_offset):
    """Test the extraction of segment offsets from segment PSF libraries on the
    central storage directory.

    Parameters
    ----------
    segment_number : int
        Segment ID, i.e 3
    correct_offset : tuple
        Expected x and y offset in arcseconds
    """
    library_path = TEST_DATA_DIR
    library_list = get_segment_library_list(INSTRUMENT, DETECTOR, FILTER, library_path)
    print('CPL:',segment_number, DETECTOR)
    x_arcsec, y_arcsec = get_segment_offset(segment_number, DETECTOR, library_list)
    assert (x_arcsec, y_arcsec) == correct_offset, 'Incorrect conversion of segment offsets'
def test_get_segment_offset_local_created(test_directory):
    """Test the extraction of segment offsets from segment PSF libraries
    generated by test_generate_segment_psfs().

    Parameters
    ----------
    test_directory : str
        Path to directory used for testing
    """
    # Skip if test_generate_segment_psfs failed
    if not SUCCESS_GENERATE_SEGMENT_PSF:
        pytest.skip("Cannot load library files generated in test_generate_segment_psfs.")
    library_path = test_directory
    library_list = get_segment_library_list(INSTRUMENT, DETECTOR, FILTER, library_path)

    # Just try to get one offset and make sure it doesn't croak
    x_arcsec, y_arcsec = get_segment_offset(1, DETECTOR, library_list)
    assert type(x_arcsec) == np.float64, 'Incorrect conversion of segment offsets'
    assert type(y_arcsec) == np.float64, 'Incorrect conversion of segment offsets'
def test_get_segment_library_list_local(test_directory):
    """Test construction of segment PSF libraries using data generated by
    test_generate_segment_psfs().

    Parameters
    ----------
    test_directory : str
        Path to directory used for testing
    """
    # Skip if test_generate_segment_psfs failed
    if not SUCCESS_GENERATE_SEGMENT_PSF:
        pytest.skip("Cannot load library files generated in test_generate_segment_psfs.")

    # Get a list of segment PSF library files
    library_list = get_segment_library_list(INSTRUMENT, DETECTOR, FILTER, test_directory)

    # Ensure the right files were found
    library_names = PARAMETRIZED_DATA['test_generate_segment_psfs']
    assert len(library_list) == 18, 'Did not find all 18 segment libraries'
    assert sorted(library_list) == sorted([os.path.join(test_directory, name) for name in library_names]), \
        'Did not find all expected 18 segment libraries'