| |
| |
| |
| |
| |
|
|
| #include "dag_engine.h" |
| #include <cassert> |
| #include <iostream> |
|
|
| void test_version() { |
| std::string ver = autoforge::DAGEngine::version(); |
| assert(!ver.empty()); |
| std::cout << "[PASS] version(): " << ver << std::endl; |
| } |
|
|
| void test_add_and_count() { |
| autoforge::DAGEngine engine; |
| assert(engine.node_count() == 0); |
|
|
| engine.add_node({"a", "Node A", "test", {}}); |
| assert(engine.node_count() == 1); |
|
|
| engine.add_node({"b", "Node B", "test", {"a"}}); |
| assert(engine.node_count() == 2); |
|
|
| std::cout << "[PASS] add_node / node_count" << std::endl; |
| } |
|
|
| void test_clear() { |
| autoforge::DAGEngine engine; |
| engine.add_node({"a", "Node A", "test", {}}); |
| engine.add_node({"b", "Node B", "test", {}}); |
| assert(engine.node_count() == 2); |
|
|
| engine.clear(); |
| assert(engine.node_count() == 0); |
|
|
| std::cout << "[PASS] clear()" << std::endl; |
| } |
|
|
| void test_validate_acyclic() { |
| autoforge::DAGEngine engine; |
| engine.add_node({"a", "A", "test", {}}); |
| engine.add_node({"b", "B", "test", {"a"}}); |
| engine.add_node({"c", "C", "test", {"a", "b"}}); |
| assert(engine.validate() == true); |
|
|
| std::cout << "[PASS] validate() — acyclic" << std::endl; |
| } |
|
|
| void test_execute() { |
| autoforge::DAGEngine engine; |
| engine.add_node({"a", "A", "test", {}}); |
| engine.add_node({"b", "B", "test", {"a"}}); |
| assert(engine.execute() == true); |
|
|
| std::cout << "[PASS] execute()" << std::endl; |
| } |
|
|
| int main() { |
| std::cout << "==============================" << std::endl; |
| std::cout << " DAG Engine Tests" << std::endl; |
| std::cout << "==============================" << std::endl; |
|
|
| test_version(); |
| test_add_and_count(); |
| test_clear(); |
| test_validate_acyclic(); |
| test_execute(); |
|
|
| std::cout << std::endl; |
| std::cout << "All tests passed!" << std::endl; |
| return 0; |
| } |
|
|