def test_rawreader_can_iterate():
    from protozfits import rawzfitsreader
    from protozfits import L0_pb2

    rawzfitsreader.open(example_file_path + ':Events')
    for i in range(rawzfitsreader.getNumRows()):
        event = L0_pb2.CameraEvent()
        event.ParseFromString(rawzfitsreader.readEvent())
def test_rawreader_can_work_with_absolute_path():
    from protozfits import rawzfitsreader
    from protozfits import L0_pb2

    rawzfitsreader.open(example_file_path + ':Events')
    raw = rawzfitsreader.readEvent()
    assert rawzfitsreader.getNumRows() == EVENTS_IN_EXAMPLE_FILE

    event = L0_pb2.CameraEvent()
    event.ParseFromString(raw)
def test_import_open_read_and_parse():
    from protozfits import rawzfitsreader
    from protozfits import L0_pb2

    relative_test_file_path = os.path.relpath(example_file_path)
    rawzfitsreader.open(relative_test_file_path + ':Events')
    raw = rawzfitsreader.readEvent()

    event = L0_pb2.CameraEvent()
    event.ParseFromString(raw)
Exemplo n.º 4
0
def test_rawreader_can_iterate():
    from protozfits import rawzfits
    from protozfits import L0_pb2

    ifits = rawzfits.ProtobufIFits(
        fname=example_file_path,
        tablename="Events"
    )
    for i in range(ifits.num_rows()):
        event = L0_pb2.CameraEvent()
        event.ParseFromString(ifits.read_event())
def test_examplefile_has_no_runheader():
    from protozfits import rawzfitsreader
    from protozfits import L0_pb2

    rawzfitsreader.open(example_file_path + ':RunHeader')

    raw = rawzfitsreader.readEvent()
    assert raw < 0

    header = L0_pb2.CameraRunHeader()
    with pytest.raises(TypeError):
        header.ParseFromString(raw)
Exemplo n.º 6
0
def test_import_open_read_and_parse():
    from protozfits import rawzfits
    from protozfits import L0_pb2

    relative_test_file_path = os.path.relpath(example_file_path)
    ifits = rawzfits.ProtobufIFits(
        fname=relative_test_file_path,
        tablename="Events"
    )
    raw = ifits.read_event()

    event = L0_pb2.CameraEvent()
    event.ParseFromString(raw)
Exemplo n.º 7
0
def test_ProtobufIFits_read_a_given_event():
    from protozfits import rawzfits
    from protozfits import L0_pb2

    ifits = rawzfits.ProtobufIFits(
        fname=example_file_path,
        tablename="Events"
    )

    for random_id in [7, 1, 10, 2]:
        event = L0_pb2.CameraEvent()
        event.ParseFromString(ifits.read_a_given_event(random_id))
        assert event.eventNumber == FIRST_EVENT_NUMBER + random_id - 1
Exemplo n.º 8
0
def test_rawreader_can_work_with_absolute_path():
    from protozfits import rawzfits
    from protozfits import L0_pb2

    ifits = rawzfits.ProtobufIFits(
        fname=example_file_path,
        tablename="Events"
    )
    assert ifits.num_rows() == EVENTS_IN_EXAMPLE_FILE

    raw = ifits.read_event()

    event = L0_pb2.CameraEvent()
    event.ParseFromString(raw)
def test_no_crash_when_iterating_too_far():
    from protozfits import rawzfitsreader
    from protozfits import L0_pb2

    rawzfitsreader.open(example_file_path + ':Events')
    for i in range(rawzfitsreader.getNumRows()):
        event = L0_pb2.CameraEvent()
        event.ParseFromString(rawzfitsreader.readEvent())

    # At this point we iterated through the entire file.
    # In version 0.43 we got a crash (seg fault or so) when iterating too
    # far. This test should ensure this behaviour is fixed in 0.44

    with pytest.raises(EOFError):
        rawzfitsreader.readEvent()
Exemplo n.º 10
0
def test_examplefile_has_no_runheader():
    from protozfits import rawzfits
    from protozfits import L0_pb2

    with pytest.raises(RuntimeError):
        ifits = rawzfits.ProtobufIFits(
            fname=example_file_path,
            tablename="RunHeader"
        )
        assert ifits.num_rows() == EVENTS_IN_EXAMPLE_FILE

        raw = ifits.read_event()
        assert raw < 0

        header = L0_pb2.CameraRunHeader()
        with pytest.raises(TypeError):
            header.ParseFromString(raw)
Exemplo n.º 11
0
def test_no_crash_when_iterating_too_far():
    from protozfits import rawzfits
    from protozfits import L0_pb2

    ifits = rawzfits.ProtobufIFits(
        fname=example_file_path,
        tablename="Events"
    )
    for i in range(ifits.num_rows()):
        event = L0_pb2.CameraEvent()
        event.ParseFromString(ifits.read_event())

    # At this point we iterated through the entire file.
    # In version 0.43 we got a crash (seg fault or so) when iterating too
    # far. This test should ensure this behaviour is fixed in 0.44

    with pytest.raises(StopIteration):
        ifits.read_event()