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
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)
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()
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()
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()
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()