From f4cd2c31199d82c45a0c77b4e57c1ac7c8281fd9 Mon Sep 17 00:00:00 2001 From: 0007 <0007@qq.com> Date: Wed, 27 Aug 2025 19:58:12 +0800 Subject: [PATCH] Add File --- .../core/test/chain/ChainHolderTest.java | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 agents-flex-core/src/test/java/com/agentsflex/core/test/chain/ChainHolderTest.java diff --git a/agents-flex-core/src/test/java/com/agentsflex/core/test/chain/ChainHolderTest.java b/agents-flex-core/src/test/java/com/agentsflex/core/test/chain/ChainHolderTest.java new file mode 100644 index 0000000..4cd5904 --- /dev/null +++ b/agents-flex-core/src/test/java/com/agentsflex/core/test/chain/ChainHolderTest.java @@ -0,0 +1,67 @@ +package com.agentsflex.core.test.chain; + +import com.agentsflex.core.chain.*; +import com.agentsflex.core.chain.listener.ChainSuspendListener; +import com.agentsflex.core.util.Maps; +import org.junit.Test; + +import java.util.HashMap; +import java.util.Map; + +public class ChainHolderTest { + + @Test + public void test() { + + Chain chain = new Chain(); + + TestNode a = new TestNode(); + a.setId("a"); + chain.addNode(a); + + TestNode b = new TestNode(); + b.setId("b"); + b.addInputParameter(new Parameter("p1", true)); + chain.addNode(b); + + TestNode c = new TestNode(); + c.setId("c"); + chain.addNode(c); + + ChainEdge ab = new ChainEdge(); + ab.setSource("a"); + ab.setTarget("b"); + chain.addEdge(ab); + + ChainEdge ac = new ChainEdge(); + ac.setSource("b"); + ac.setTarget("c"); + chain.addEdge(ac); + + final String[] holder = {null}; + chain.addSuspendListener(new ChainSuspendListener() { + @Override + public void onSuspend(Chain chain) { + System.out.println("Suspend0"); + holder[0] = ChainHolder.fromChain(chain).toJSON(); + } + }); + + // A→B→C + Map result = chain.executeForResult(new HashMap<>(),true); + System.out.println(result); + + if (holder[0] != null){ + Chain chain1 = ChainHolder.fromJSON(holder[0]).toChain(); + chain1.addSuspendListener(new ChainSuspendListener() { + @Override + public void onSuspend(Chain chain) { + System.out.println("Suspend1"); + } + }); + + System.out.println(chain1.executeForResult(Maps.of(),true)); + System.out.println(chain1.executeForResult(Maps.of("p1","v1"),true)); + } + } +}