def METHOD_NAME(dans_grid2):
    """Test D4 routing on a toy irregular topo. 'method' passed to init."""
    fr = FlowAccumulator(dans_grid2.mg, flow_director="D4")
    fr.run_one_step()
    assert_array_equal(dans_grid2.A_target_D4, dans_grid2.mg.at_node["drainage_area"])
    assert_array_equal(
        dans_grid2.frcvr_target_D4, dans_grid2.mg.at_node["flow__receiver_node"]
    )
    assert_array_equal(
        dans_grid2.upids_target_D4, dans_grid2.mg.at_node["flow__upstream_node_order"]
    )
    assert_array_equal(
        dans_grid2.links2rcvr_target_D4,
        dans_grid2.mg.at_node["flow__link_to_receiver_node"],
    )
    assert dans_grid2.steepest_target_D4 == pytest.approx(
        dans_grid2.mg.at_node["topographic__steepest_slope"]
    )