Esempio n. 1
0
def test_get_and_putfield():
    hdr = bytearray(_segyio.thsize())

    with pytest.raises(BufferError):
        _segyio.getfield(".", 0)

    with pytest.raises(TypeError):
        _segyio.getfield([], 0)

    with pytest.raises(TypeError):
        _segyio.putfield({}, 0, 1)

    with pytest.raises(KeyError):
        _segyio.getfield(hdr, 0)

    with pytest.raises(KeyError):
        _segyio.putfield(hdr, 0, 1)

    _segyio.putfield(hdr, 1, 127)
    _segyio.putfield(hdr, 5, 67)
    _segyio.putfield(hdr, 9, 19)

    assert _segyio.getfield(hdr, 1) == 127
    assert _segyio.getfield(hdr, 5) == 67
    assert _segyio.getfield(hdr, 9) == 19
Esempio n. 2
0
    def test_get_and_putfield(self):
        hdr = bytearray(_segyio.thsize())

        with self.assertRaises(BufferError):
            _segyio.getfield(".", 0)

        with self.assertRaises(TypeError):
            _segyio.getfield([], 0)

        with self.assertRaises(TypeError):
            _segyio.putfield({}, 0, 1)

        with self.assertRaises(IndexError):
            _segyio.getfield(hdr, 0)

        with self.assertRaises(IndexError):
            _segyio.putfield(hdr, 0, 1)

        _segyio.putfield(hdr, 1, 127)
        _segyio.putfield(hdr, 5, 67)
        _segyio.putfield(hdr, 9, 19)

        self.assertEqual(_segyio.getfield(hdr, 1), 127)
        self.assertEqual(_segyio.getfield(hdr, 5), 67)
        self.assertEqual(_segyio.getfield(hdr, 9), 19)
Esempio n. 3
0
    def test_read_binary_header_fields(self, mmap=False):
        f = _segyio.segyiofd(self.filename, "r")
        if mmap: f.mmap()

        binary_header = f.getbin()

        with self.assertRaises(TypeError):
            _ = _segyio.getfield([], 0)

        with self.assertRaises(IndexError):
            _ = _segyio.getfield(binary_header, -1)

        self.assertEqual(_segyio.getfield(binary_header, 3225), 1)
        self.assertEqual(_segyio.getfield(binary_header, 3221), 50)

        f.close()
Esempio n. 4
0
def test_read_binary_header_fields(mmap=False):
    f = _segyio.segyiofd("test-data/small.sgy", "r")
    if mmap:
        f.mmap()

    binary_header = f.getbin()

    with pytest.raises(TypeError):
        _ = _segyio.getfield([], 0)

    with pytest.raises(KeyError):
        _ = _segyio.getfield(binary_header, -1)

    assert _segyio.getfield(binary_header, 3225) == 1
    assert _segyio.getfield(binary_header, 3221) == 50

    f.close()
Esempio n. 5
0
    def test_read_and_write_traceheader(self, mmap=False):
        with TestContext("read_and_write_trace_header") as context:
            context.copy_file(self.filename)

            f = _segyio.segyiofd("small.sgy", "r+")
            if mmap: f.mmap()

            ilb = 189
            xlb = 193

            def mkempty():
                return bytearray(_segyio.thsize())

            with self.assertRaises(TypeError):
                trace_header = f.getth("+")

            with self.assertRaises(TypeError):
                trace_header = f.getth(0, None)

            trace_header = f.getth(0, mkempty())

            self.assertEqual(_segyio.getfield(trace_header, ilb), 1)
            self.assertEqual(_segyio.getfield(trace_header, xlb), 20)

            trace_header = f.getth(1, mkempty())

            self.assertEqual(_segyio.getfield(trace_header, ilb), 1)
            self.assertEqual(_segyio.getfield(trace_header, xlb), 21)

            _segyio.putfield(trace_header, ilb, 99)
            _segyio.putfield(trace_header, xlb, 42)

            f.putth(0, trace_header)

            trace_header = f.getth(0, mkempty())

            self.assertEqual(_segyio.getfield(trace_header, ilb), 99)
            self.assertEqual(_segyio.getfield(trace_header, xlb), 42)

            f.close()
Esempio n. 6
0
def read_and_write_traceheader(f, mmap):
    if mmap:
        f.mmap()

    ilb = 189
    xlb = 193

    def mkempty():
        return bytearray(_segyio.thsize())

    with pytest.raises(TypeError):
        f.getth("+")

    with pytest.raises(TypeError):
        f.getth(0, None)

    trace_header = f.getth(0, mkempty())

    assert _segyio.getfield(trace_header, ilb) == 1
    assert _segyio.getfield(trace_header, xlb) == 20

    trace_header = f.getth(1, mkempty())

    assert _segyio.getfield(trace_header, ilb) == 1
    assert _segyio.getfield(trace_header, xlb) == 21

    _segyio.putfield(trace_header, ilb, 99)
    _segyio.putfield(trace_header, xlb, 42)

    f.putth(0, trace_header)

    trace_header = f.getth(0, mkempty())

    assert _segyio.getfield(trace_header, ilb) == 99
    assert _segyio.getfield(trace_header, xlb) == 42

    f.close()