AutoGPT/classic/benchmark/tests/test_get_roots.py

58 lines
1.5 KiB
Python
Raw Normal View History

from agbenchmark.utils.dependencies.graphs import get_roots
def test_get_roots():
graph = {
"nodes": [
{"id": "A", "data": {"category": []}},
{"id": "B", "data": {"category": []}},
{"id": "C", "data": {"category": []}},
{"id": "D", "data": {"category": []}},
],
"edges": [
{"from": "A", "to": "B"},
{"from": "B", "to": "C"},
],
}
result = get_roots(graph)
assert set(result) == {
"A",
"D",
}, f"Expected roots to be 'A' and 'D', but got {result}"
def test_no_roots():
fully_connected_graph = {
"nodes": [
{"id": "A", "data": {"category": []}},
{"id": "B", "data": {"category": []}},
{"id": "C", "data": {"category": []}},
],
"edges": [
{"from": "A", "to": "B"},
{"from": "B", "to": "C"},
{"from": "C", "to": "A"},
],
}
result = get_roots(fully_connected_graph)
assert not result, "Expected no roots, but found some"
# def test_no_rcoots():
# fully_connected_graph = {
# "nodes": [
# {"id": "A", "data": {"category": []}},
# {"id": "B", "data": {"category": []}},
# {"id": "C", "data": {"category": []}},
# ],
# "edges": [
# {"from": "A", "to": "B"},
# {"from": "D", "to": "C"},
# ],
# }
#
# result = get_roots(fully_connected_graph)
# assert set(result) == {"A"}, f"Expected roots to be 'A', but got {result}"