예제 #1
0
def test_delaunay_triples_wrong_kind_of_input(dataframe):
    """
    Run triangulate.delaunay_triples using grid input that is not
    file/matrix/vectors.
    """
    data = dataframe.z.to_xarray()  # convert pandas.Series to xarray.DataArray
    assert data_kind(data) == "grid"
    with pytest.raises(GMTInvalidInput):
        triangulate.delaunay_triples(data=data)
예제 #2
0
def test_delaunay_triples_ndarray_output(dataframe, expected_dataframe):
    """
    Test triangulate.delaunay_triples with "numpy" output type.
    """
    output = triangulate.delaunay_triples(data=dataframe, output_type="numpy")
    assert isinstance(output, np.ndarray)
    np.testing.assert_allclose(actual=output,
                               desired=expected_dataframe.to_numpy())
예제 #3
0
def test_delaunay_triples_input_xyz(dataframe, expected_dataframe):
    """
    Run triangulate.delaunay_triples by passing in x, y, z numpy.ndarrays
    individually.
    """
    output = triangulate.delaunay_triples(x=dataframe.x,
                                          y=dataframe.y,
                                          z=dataframe.z)
    pd.testing.assert_frame_equal(left=output, right=expected_dataframe)
예제 #4
0
def test_delaunay_triples_input_table_matrix(array_func, dataframe,
                                             expected_dataframe):
    """
    Run triangulate.delaunay_triples by passing in a numpy.array or
    xarray.Dataset.
    """
    table = array_func(dataframe)
    output = triangulate.delaunay_triples(data=table)
    pd.testing.assert_frame_equal(left=output, right=expected_dataframe)
예제 #5
0
def test_delaunay_triples_outfile(dataframe, expected_dataframe):
    """
    Test triangulate.delaunay_triples with ``outfile``.
    """
    with GMTTempFile(suffix=".txt") as tmpfile:
        with pytest.warns(RuntimeWarning) as record:
            result = triangulate.delaunay_triples(data=dataframe,
                                                  outfile=tmpfile.name)
            assert len(record) == 1  # check that only one warning was raised
        assert result is None  # return value is None
        assert os.path.exists(path=tmpfile.name)
        temp_df = pd.read_csv(filepath_or_buffer=tmpfile.name,
                              sep="\t",
                              header=None)
        pd.testing.assert_frame_equal(left=temp_df, right=expected_dataframe)
예제 #6
0
def test_delaunay_triples_input_xy_no_z(dataframe, expected_dataframe):
    """
    Run triangulate.delaunay_triples by passing in x and y, but no z.
    """
    output = triangulate.delaunay_triples(x=dataframe.x, y=dataframe.y)
    pd.testing.assert_frame_equal(left=output, right=expected_dataframe)
예제 #7
0
def test_delaunay_triples_invalid_format(dataframe):
    """
    Test that triangulate.delaunay_triples fails with incorrect format.
    """
    with pytest.raises(GMTInvalidInput):
        triangulate.delaunay_triples(data=dataframe, output_type=1)