def METHOD_NAME():
    """Test running all the algorithms."""
    bound_ids = msaf.io.get_all_boundary_algorithms()
    label_ids = msaf.io.get_all_label_algorithms()
    # Add ground truth to boundary id
    bound_ids += ["gt"]
    # Add None to labels
    label_ids += [None]
    # Config params
    feature = "pcp"
    annot_beats = False
    framesync = False
    file_struct = msaf.io.FileStruct(audio_file)
    file_struct.features_file = msaf.config.features_tmp_file
    # Running all algorithms on a file that is too short
    for bound_id in bound_ids:
        for label_id in label_ids:
            print("bound_id: %s,\tlabel_id: %s" % (bound_id, label_id))
            config = msaf.io.get_configuration(feature, annot_beats, framesync,
                                               bound_id, label_id)
            config["hier"] = False
            config["features"] = Features.select_features(
                feature, file_struct, annot_beats, framesync)
            est_times, est_labels = msaf.run.run_algorithms(
                file_struct, bound_id, label_id, config)
            assert len(est_times) == 2
            assert len(est_labels) == 1
            npt.assert_almost_equal(est_times[0], 0.0, decimal=2)
            npt.assert_almost_equal(est_times[-1], config["features"].dur,
                                    decimal=2)
    # Commpute and save features for long audio file
    file_struct = msaf.io.FileStruct(long_audio_file)
    file_struct.features_file = msaf.config.features_tmp_file
    def _test_run_msaf(bound_id, label_id, hier=False):
        print("bound_id: %s,\tlabel_id: %s" % (bound_id, label_id))
        config = msaf.io.get_configuration(feature, annot_beats, framesync,
                                           bound_id, label_id)
        config["hier"] = hier
        config["features"] = Features.select_features(
            feature, file_struct, annot_beats, framesync)
        est_times, est_labels = msaf.run.run_algorithms(
            file_struct, bound_id, label_id, config)
        # Take the first level if hierarchy algorithm
        if hier:
            est_times = est_times[0]
            est_labels = est_labels[0]
        npt.assert_almost_equal(est_times[0], 0.0, decimal=2)
        assert len(est_times) - 1 == len(est_labels)
        npt.assert_almost_equal(est_times[-1], config["features"].dur,
                                decimal=2)
    # Running all boundary algorithms on a relatively long file
    # Combining boundaries with labels
    for bound_id in bound_ids:
        if bound_id == "gt":
            continue
        for label_id in label_ids:
            _test_run_msaf(bound_id, label_id, False)
    # Test the hierarchical algorithms
    hier_ids = ["olda", "scluster"]
    for hier_bounds_id in hier_ids:
        for hier_labels_id in hier_ids:
            if hier_labels_id == "olda":
                hier_labels_id = "fmc2d"
            _test_run_msaf(hier_bounds_id, hier_labels_id, True)