63 lines
1.6 KiB
Python
63 lines
1.6 KiB
Python
import sys
|
|
import os
|
|
|
|
from pytrace.runtime.registry import NodeRegistry
|
|
|
|
# Add the project root to the Python path
|
|
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
|
|
|
|
from pytrace.nodes.test_math_suite import MathSuite
|
|
|
|
# Mock for NodeIO
|
|
class MockNodeIO:
|
|
def __init__(self, inputs=None):
|
|
self._inputs = inputs or {}
|
|
self._outputs = {}
|
|
|
|
def get_input(self, name, default=None):
|
|
return self._inputs.get(name, default)
|
|
|
|
def set_output(self, name, value):
|
|
self._outputs[name] = value
|
|
print(f"Output '{name}' set to: {value}")
|
|
|
|
def get_output(self, name):
|
|
return self._outputs.get(name)
|
|
|
|
# Mock for TraceContext
|
|
class MockTraceContext:
|
|
def log(self, message):
|
|
print(f"LOG: {message}")
|
|
|
|
def run_math_suite_tests():
|
|
"""
|
|
Runs tests for the MathSuite node.
|
|
"""
|
|
print("--- Testing MathSuite ---")
|
|
|
|
# 1. Test the 'add' method
|
|
print("\n--- Testing add method ---")
|
|
add_id = MathSuite.__name__ + "." + "add"
|
|
subtract_id = MathSuite.__name__ + "." + "subtract"
|
|
|
|
node_add = NodeRegistry.create_node(add_id)
|
|
node_subtract = NodeRegistry.create_node(subtract_id)
|
|
|
|
io_add = MockNodeIO({"a": 5.0, "b": 3.0})
|
|
io_subtract = MockNodeIO({"a": 10.0, "b": 7.0})
|
|
|
|
context_add = MockTraceContext()
|
|
context_subtract = MockTraceContext()
|
|
|
|
node_add(io_add, context_add)
|
|
node_subtract(io_subtract, context_subtract)
|
|
|
|
assert io_add.get_output("result") == 8.0
|
|
assert io_subtract.get_output("result") == 3.0
|
|
|
|
print("\n--- All MathSuite tests passed ---")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
run_math_suite_tests()
|