def test_reduce_values(): g = graph.Graph() m = Multiply() first = graph.Value(1) second = graph.Value(1) result = graph.Value() n = graph.Node(m, {'first':first, 'second':second}, {'result':result}) g.add_node(n) tactics.reduce_values(g) if len(g.values) != 2: print('Incorrect number of values after reduce_values. '\ 'Expected 2, got %s' % len(g.values)) traceback.print_stack() return False while tactics.execute(g): pass if result.value != 1: print('1 * 1 = %s ?' % result.value) traceback.print_stack() return False tactics.reduce_values(g) if len(g.values) != 1: print('Incorrect number of values after reduce_values. ' \ 'Expected 1, got %s' % len(g.values)) traceback.print_stack() return False return True
def test_basics(): g = graph.Graph() a = Add() first = graph.Value(1) second = graph.Value(2) result = graph.Value() n = graph.Node(a, {'first':first, 'second':second}, {'result':result}) g.add_node(n) while tactics.execute(g): pass if result.value != 3: print('1 + 2 = %s ?' % result.value) traceback.print_stack() return False return True