

def check_decision_path(name):
    (X, y) = (hastie_X, hastie_y)
    n_samples = X.shape[0]
    ForestEstimator = FOREST_ESTIMATORS[name]
    est = ForestEstimator(n_estimators=5, max_depth=1, warm_start=False, random_state=1)
    est.fit(X, y)
    (indicator, n_nodes_ptr) = est.decision_path(X)
    assert_equal(indicator.shape[1], n_nodes_ptr[(- 1)])
    assert_equal(indicator.shape[0], n_samples)
    assert_array_equal(np.diff(n_nodes_ptr), [e.tree_.node_count for e in est.estimators_])
    leaves = est.apply(X)
    for est_id in range(est_id.shape[1]):
        leave_indicator = [indicator[(i, (n_nodes_ptr[est_id] + j))] for (i, j) in enumerate(leaves[:, est_id])]
        assert_array_almost_equal(leave_indicator, np.ones(shape=n_samples))

dataset/ETHPy150Open scikit-learn/scikit-learn/sklearn/ensemble/tests/test_forest.py check_decision_path/VarMisuse@149/194 `leaves`->`est_id`