Esempio n. 1
0
def test_get_segment_offset_local_stored(test_library_file):
    """Test the extraction of segment offsets from a single segment PSF library
    in the temp_data directory.
    """
    # Get test library file
    test_library_dir = os.path.dirname(test_library_file)

    seg_id = 12
    segment_file = get_library_file(INSTRUMENT,
                                    DETECTOR,
                                    FILTER,
                                    'CLEAR',
                                    '',
                                    0,
                                    test_library_dir,
                                    segment_id=seg_id)

    # Set segment = 0 and expect error:
    with pytest.raises(AssertionError) as e:
        library_list = [segment_file]
        get_segment_offset(0, DETECTOR, library_list)
        assert "Uh-oh. The segment ID of the library does not match the requested segment." in e, \
            'Failed to catch mismatch between segment IDs.'

    # Put segment 12th on a faked library list and extract the segment offset
    library_list = [''] * 18
    library_list[11] = segment_file
    x_arcsec, y_arcsec = get_segment_offset(12, DETECTOR, library_list)
    assert (x_arcsec, y_arcsec) == (-7.412675266715986, -7.905276016530719), \
        'Incorrect conversion of segment offsets'
Esempio n. 2
0
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'
Esempio n. 3
0
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'