示例#1
0
def test_swapaxis_rotation(rotation, expected_rotation, default_surface):
    default_surface["rotation"] = rotation
    surface = RegularSurface(**default_surface)

    surface.swapaxes()

    assert surface.rotation == expected_rotation
示例#2
0
def test_swapaxis_xinc_yinc(default_surface):
    default_surface["yinc"] = 2.0
    surface = RegularSurface(**default_surface)

    surface.swapaxes()

    assert (surface.xinc, surface.yinc) == (2, 1)
示例#3
0
def test_swapaxis_yflip(default_surface, yflip, expected_result):
    default_surface["yflip"] = yflip
    surface = RegularSurface(**default_surface)

    surface.swapaxes()

    assert surface.yflip == expected_result
示例#4
0
def test_swapaxis_ncol_nrow(default_surface):
    default_surface["nrow"] = 3
    default_surface["values"] = [1] * 6
    surface = RegularSurface(**default_surface)

    surface.swapaxes()

    assert (surface.nrow, surface.ncol) == (2, 3)
示例#5
0
def test_swapaxis_ilines(default_surface):
    surface = RegularSurface(**default_surface)

    assert surface.ilines.tolist() == [1, 2]

    surface.swapaxes()

    assert surface.ilines.tolist() == [1, 2]
示例#6
0
def test_swapaxis(default_surface):
    surface = RegularSurface(**default_surface)

    assert surface.values.flatten().tolist() == [1, 2, 3, 4]

    surface.swapaxes()

    assert surface.values.flatten().tolist() == [1.0, 3.0, 2.0, 4.0]
示例#7
0
def test_init_with_surface():
    """Initialise points object with surface instance."""

    surf = RegularSurface(ncol=4, nrow=5, xori=0, yori=0, xinc=25, yinc=25)
    poi = Points(surf)

    poi.zname = "VALUES"
    pd.testing.assert_frame_equal(poi.dataframe, surf.dataframe())
示例#8
0
def test_zmap_import_export():
    """Import and export ZMAP ascii example."""
    logger.info("Import and export...")

    zmap = RegularSurface()
    zmap.to_file(join(TMPD, "zmap1.zmap"), fformat="zmap_ascii")
    zmap2 = RegularSurface()
    zmap2.from_file(join(TMPD, "zmap1.zmap"), fformat="zmap_ascii")

    assert zmap.values[0, 1] == zmap2.values[0, 1] == 6.0

    one1 = zmap.values.ravel()
    one2 = zmap2.values.ravel()
    assert one1.all() == one2.all()

    zmap.to_file(join(TMPD, "zmap2.zmap"), fformat="zmap_ascii", engine="python")
    zmap3 = RegularSurface()
    zmap3.from_file(join(TMPD, "zmap2.zmap"), fformat="zmap_ascii")
    one3 = zmap3.values.ravel()
    assert one1.all() == one3.all()
示例#9
0
def test_values_mask_setter(input_val, expected_data, expected_mask):
    surf = RegularSurface(
        2,
        2,
        0.0,
        0.0,
        values=np.ma.MaskedArray([[2, 2], [2, 2]],
                                 mask=[[True, False], [False, True]]),
    )
    surf.values = input_val
    assert surf.values.mask.tolist() == expected_mask
    assert list(surf.values.data.flatten()) == expected_data
示例#10
0
def test_simple_io(input_val, expected_result, fformat, engine):
    if engine == "python" and fformat not in [
            "irap_ascii",
            "irap_binary",
            "zmap_ascii",
    ]:
        pytest.skip("Only one engine available")
    surf = RegularSurface(ncol=2, nrow=2, xinc=2.0, yinc=2.0, values=input_val)
    surf.to_file("my_file", fformat=fformat)
    surf_from_file = RegularSurface._read_file("my_file",
                                               fformat=fformat,
                                               engine=engine)
    assert_similar_surfaces(surf, surf_from_file)
    assert surf_from_file.values.data.tolist() == expected_result
示例#11
0
def test_from_simple_surface():
    """Create points from a simple surface."""

    surf = RegularSurface(ncol=4, nrow=5, xori=0, yori=0, xinc=25, yinc=25)
    poi = Points()
    poi.from_surface(surf)

    poi.zname = "VALUES"
    pd.testing.assert_frame_equal(poi.dataframe, surf.dataframe())

    poi = Points()
    poi.from_surface(surf, zname="VALUES")

    pd.testing.assert_frame_equal(poi.dataframe, surf.dataframe())
示例#12
0
def test_values_type(input_val, expected_result):
    surf = RegularSurface(2, 2, 0.0, 0.0, values=input_val)
    assert isinstance(surf.values, np.ma.MaskedArray)
    assert surf.values.data.tolist() == expected_result
示例#13
0
def test_input_numbers(data):
    surf = RegularSurface(10, 10, 0.0, 0.0, values=data)
    assert set(surf.values.data.flatten().tolist()) == pytest.approx({data})
示例#14
0
import numpy as np
from xtgeo import RegularSurface, Cube, Grid, GridProperty
from webviz_subsurface.datainput.layeredmap._layered_fence import LayeredFence

SURFACE = RegularSurface("tests/data/surface.gri")
CUBE = Cube("tests/data/seismic.segy")
FENCESPEC = np.loadtxt("tests/data/polyline.np.gz")
S_SLICE = np.loadtxt("tests/data/surface_slice.np.gz")
with open("tests/data/seismic_png.txt", "r") as f:
    SEISMIC_IMG = f.read()
GRID = Grid("tests/data/grid.roff")
GRIDPROP = GridProperty("tests/data/prop.roff")
with open("tests/data/gridprop_png.txt", "r") as f:
    GRIDPROP_IMG = f.read()


def test_layered_fence_init():
    fence = LayeredFence(FENCESPEC)
    assert np.array_equal(fence.fencespec, FENCESPEC)
    assert fence._surface_layers == []
    assert np.allclose(fence.center, [[0, 0], [0, 0]])
    assert np.allclose(fence.center, [0, 0])


def test_slice_surface():
    fence = LayeredFence(FENCESPEC)
    assert np.array_equal(fence.slice_surface(SURFACE.copy()), S_SLICE)


def test_set_surface_bounds_and_center():
    fence = LayeredFence(FENCESPEC)
示例#15
0
def test_wrong_size_input_lists(data):
    assume(len(data) != 100)
    with pytest.raises(ValueError, match=r"Cannot reshape array:"):
        RegularSurface(10, 10, 0.0, 0.0, values=data)
示例#16
0
def test_input_lists(data):
    surf = RegularSurface(5, 5, 0.0, 0.0, values=data)
    assert surf.values.data.flatten().tolist() == pytest.approx(data)
示例#17
0
def test_default_values():
    surf = RegularSurface(2, 2, 0.0, 0.0)
    assert surf.values.data.tolist() == [[0.0, 0.0], [0.0, 0.0]]
示例#18
0
def load_surface(surface_path: str) -> RegularSurface:
    return RegularSurface(surface_path)
示例#19
0
def test_values_setter(input_values, input_val, expected_result):
    surf = RegularSurface(2, 2, 0.0, 0.0, values=input_values)
    surf.values = input_val
    assert surf.values.data.tolist() == expected_result
示例#20
0
def load_surface(surface_path):
    return RegularSurface(surface_path)
示例#21
0
def test_complex_io_hdf(surf):
    surf.to_hdf("my_file")
    surf_from_file = RegularSurface(1, 1, 0.0,
                                    0.0)  # <- unimportant as it gets reset
    surf_from_file.from_hdf("my_file")
    assert_similar_surfaces(surf, surf_from_file)