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
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
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
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"
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
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
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
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