コード例 #1
0
def test_info_new_map():
    # Seismogram and TimeSeries
    seis = get_live_seismogram()
    assert seis.number_of_stages() == 0
    logging_helper.info(seis, 'dummy_func', '1')
    assert seis.number_of_stages() == 1

    ts = get_live_timeseries()
    assert ts.number_of_stages() == 0
    logging_helper.info(ts, 'dummy_func', '1')
    assert ts.number_of_stages() == 1

    # ensemble
    seis_e = get_live_seismogram_ensemble(3)
    logging_helper.info(seis_e, 'dummy_func', '0')
    for i in range(3):
        assert seis_e.member[i].number_of_stages() == 1

    seis_e = get_live_seismogram_ensemble(3)
    logging_helper.info(seis_e, 'dummy_func', '0', 0)
    assert seis_e.member[0].number_of_stages() == 1

    tse = get_live_timeseries_ensemble(3)
    logging_helper.info(tse, 'dummy_func', '0', 0)
    assert tse.member[0].number_of_stages() == 1
コード例 #2
0
def test_info_empty():
    # Seismogram and TimeSeries
    seis = Seismogram()
    seis.set_live()
    assert len(seis.elog.get_error_log()) == 0
    logging_helper.info(seis, 'dummy_func', '1')
    assert len(seis.elog.get_error_log()) == 1
コード例 #3
0
def test_info_not_live():
    # Seismogram and TimeSeries
    seis = get_live_seismogram()
    seis.kill()
    assert seis.number_of_stages() == 0
    logging_helper.info(seis, 'dummy_func', '1')
    assert seis.number_of_stages() == 0

    # ensemble
    seis_e = get_live_seismogram_ensemble(3)
    assert seis_e.member[0].number_of_stages() == 0
    seis_e.member[0].kill()
    logging_helper.info(seis_e, 'dummy_func', '0', 0)
    assert seis_e.member[0].number_of_stages() == 0
コード例 #4
0
def test_mspass_reduce_func_wrapper():
    ts1 = get_live_timeseries()
    ts1.data[0] = 1
    ts2 = get_live_timeseries()
    logging_helper.info(ts2, "dummy_func", "1")
    logging_helper.info(ts2, "dummy_func_2", "2")
    assert len(ts1.get_nodes()) == 0
    dummy_reduce_func(ts1, ts2, object_history=True, alg_id="3")
    assert ts1.data[0] == -1
    assert len(ts1.get_nodes()) == 3

    with pytest.raises(TypeError) as err:
        dummy_reduce_func([0], [1], object_history=True, alg_id="3")
    assert (str(err.value) ==
            "only mspass objects are supported in reduce wrapped methods")

    with pytest.raises(TypeError) as err:
        dummy_reduce_func(ts1,
                          get_live_seismogram(),
                          object_history=True,
                          alg_id="3")
    assert str(err.value) == "data2 has a different type as data1"

    with pytest.raises(ValueError) as err:
        seis1 = get_live_seismogram()
        seis2 = get_live_seismogram()
        dummy_reduce_func(seis1, seis2, object_history=True)
    assert (str(
        err.value
    ) == "dummy_reduce_func: object_history was true but alg_id not defined")

    assert "OK" == dummy_reduce_func(seis1, seis2, dryrun=True)

    ts1 = get_live_timeseries()
    ts2 = get_live_timeseries()
    assert len(ts1.elog.get_error_log()) == 0
    dummy_reduce_func_runtime(ts1, ts2, object_history=True, alg_id="3")
    assert len(ts1.elog.get_error_log()) == 1
    assert len(ts2.elog.get_error_log()) == 1

    ts1 = get_live_timeseries()
    ts2 = get_live_timeseries()
    assert len(ts1.elog.get_error_log()) == 0
    with pytest.raises(MsPASSError) as err:
        dummy_reduce_func_mspasserror(ts1,
                                      ts2,
                                      object_history=True,
                                      alg_id="3")
    assert str(err.value) == "test"
コード例 #5
0
def test_reduce_dead_silent():
    seis = get_live_seismogram()
    assert seis.number_of_stages() == 0
    logging_helper.info(seis, 'dummy_func', '1')
    logging_helper.info(seis, 'dummy_func_2', '2')
    assert seis.number_of_stages() == 2
    seis.kill()
    seis2 = get_live_seismogram()
    assert seis2.number_of_stages() == 0
    logging_helper.reduce(seis2, seis, 'reduce', '3')
    assert len(seis2.get_nodes()) == 3

    seis = get_live_seismogram()
    seis2 = get_live_seismogram()
    logging_helper.info(seis, 'dummy_func', '1')
    logging_helper.info(seis, 'dummy_func_2', '2')
    seis2.kill()
    logging_helper.reduce(seis2, seis, 'reduce', '3')
    assert len(seis2.get_nodes()) == 0
コード例 #6
0
def test_reduce_dead_silent():
    seis = get_live_seismogram()
    assert seis.number_of_stages() == 0
    logging_helper.info(seis, "1", "dummy_func")
    logging_helper.info(seis, "2", "dummy_func_2")
    assert seis.number_of_stages() == 2
    seis.kill()
    seis2 = get_live_seismogram()
    assert seis2.number_of_stages() == 0
    logging_helper.reduce(seis2, seis, "3", "reduce")
    assert len(seis2.get_nodes()) == 3

    seis = get_live_seismogram()
    seis2 = get_live_seismogram()
    logging_helper.info(seis, "1", "dummy_func")
    logging_helper.info(seis, "2", "dummy_func_2")
    seis2.kill()
    logging_helper.reduce(seis2, seis, "3", "reduce")
    assert len(seis2.get_nodes()) == 0
コード例 #7
0
def test_reduce_functionality():
    # Seismogram and TimeSeries
    seis = get_live_seismogram()
    assert seis.number_of_stages() == 0
    logging_helper.info(seis, 'dummy_func', '1')
    logging_helper.info(seis, 'dummy_func_2', '2')
    assert seis.number_of_stages() == 2
    seis2 = get_live_seismogram()
    assert seis2.number_of_stages() == 0
    logging_helper.reduce(seis2, seis, 'reduce', '3')
    assert len(seis2.get_nodes()) == 3

    ts = get_live_timeseries()
    ts2 = get_live_timeseries()
    assert ts.number_of_stages() == 0
    logging_helper.info(ts, 'dummy_func', '1')
    logging_helper.info(ts, 'dummy_func', '2')
    assert ts.number_of_stages() == 2
    logging_helper.reduce(ts2, ts, 'reduce', '3')
    assert len(ts2.get_nodes()) == 3

    # ensemble
    seis_e = get_live_seismogram_ensemble(3)
    seis_e2 = get_live_seismogram_ensemble(3)
    logging_helper.info(seis_e, 'dummy_func', '0')
    logging_helper.info(seis_e, 'dummy_func', '1')
    logging_helper.info(seis_e, 'dummy_func', '2')
    logging_helper.reduce(seis_e2, seis_e, "reduce", "3")
    for i in range(3):
        assert len(seis_e2.member[i].get_nodes()) == 4

    tse = get_live_timeseries_ensemble(3)
    tse2 = get_live_timeseries_ensemble(3)
    logging_helper.info(tse, 'dummy_func', '0')
    logging_helper.info(tse, 'dummy_func', '1')
    logging_helper.info(tse, 'dummy_func', '2')
    logging_helper.reduce(tse2, tse, "reduce", "3")
    for i in range(3):
        assert len(tse2.member[i].get_nodes()) == 4
コード例 #8
0
def test_info_out_of_bound():
    seis_e = get_live_seismogram_ensemble(3)
    with pytest.raises(IndexError) as err:
        logging_helper.info(seis_e, 'dummy_func', '0', 3)
    assert seis_e.member[0].number_of_stages() == 0