|
@@ -1,9 +1,12 @@
|
|
package com.yomahub.liteflow.test.builder;
|
|
package com.yomahub.liteflow.test.builder;
|
|
|
|
|
|
|
|
+import cn.hutool.core.util.EscapeUtil;
|
|
|
|
+import cn.hutool.core.util.StrUtil;
|
|
import com.yomahub.liteflow.builder.el.ELBus;
|
|
import com.yomahub.liteflow.builder.el.ELBus;
|
|
import com.yomahub.liteflow.builder.el.LiteFlowChainELBuilder;
|
|
import com.yomahub.liteflow.builder.el.LiteFlowChainELBuilder;
|
|
import com.yomahub.liteflow.test.BaseTest;
|
|
import com.yomahub.liteflow.test.BaseTest;
|
|
import com.yomahub.liteflow.util.JsonUtil;
|
|
import com.yomahub.liteflow.util.JsonUtil;
|
|
|
|
+import org.apache.commons.lang.StringEscapeUtils;
|
|
import org.junit.jupiter.api.Assertions;
|
|
import org.junit.jupiter.api.Assertions;
|
|
import org.junit.jupiter.api.Test;
|
|
import org.junit.jupiter.api.Test;
|
|
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
|
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
|
@@ -26,99 +29,92 @@ public class SerELBuilderTest extends BaseTest {
|
|
// then组件测试
|
|
// then组件测试
|
|
@Test
|
|
@Test
|
|
public void testSer1(){
|
|
public void testSer1(){
|
|
- Assertions.assertEquals("SER(node(\"a\"),node(\"b\"));",
|
|
|
|
- ELBus.ser(ELBus.node("a"), ELBus.node("b")).toEL());
|
|
|
|
- Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.ser(ELBus.node("a"), ELBus.node("b")).toEL()));
|
|
|
|
|
|
+ String el = ELBus.ser("a", "b").toEL();
|
|
|
|
+ Assertions.assertEquals("SER(a,b);", el);
|
|
}
|
|
}
|
|
// 格式化输出测试
|
|
// 格式化输出测试
|
|
@Test
|
|
@Test
|
|
public void testSer2(){
|
|
public void testSer2(){
|
|
- Assertions.assertEquals("SER(\n\tnode(\"a\")," +
|
|
|
|
- "\n\tnode(\"b\")\n);",
|
|
|
|
- ELBus.ser(ELBus.node("a"), ELBus.node("b")).toEL(true));
|
|
|
|
- System.out.println("SER(\n\tnode(\"a\")," +
|
|
|
|
- "\n\tnode(\"b\")\n);");
|
|
|
|
- Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.ser(ELBus.node("a"), ELBus.node("b")).toEL(true)));
|
|
|
|
|
|
+ String el = ELBus.ser(ELBus.element("a"), ELBus.element("b")).toEL(true);
|
|
|
|
+ System.out.println(StringEscapeUtils.escapeJava(el));
|
|
|
|
+ Assertions.assertEquals("SER(\n\ta,\n\tb\n);", el);
|
|
}
|
|
}
|
|
// then组件then方法调用测试
|
|
// then组件then方法调用测试
|
|
@Test
|
|
@Test
|
|
public void testSer3(){
|
|
public void testSer3(){
|
|
- Assertions.assertEquals("SER(node(\"a\"),node(\"b\"),node(\"c\"));",
|
|
|
|
- ELBus.ser(ELBus.node("a"), ELBus.node("b")).ser(ELBus.node("c")).toEL());
|
|
|
|
- Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.ser(ELBus.node("a"), ELBus.node("b")).ser(ELBus.node("c")).toEL()));
|
|
|
|
|
|
+ String el = ELBus.ser(ELBus.element("a"), ELBus.element("b")).ser(ELBus.element("c")).toEL();
|
|
|
|
+ System.out.println(el);
|
|
|
|
+ Assertions.assertEquals("SER(a,b,c);", el);
|
|
}
|
|
}
|
|
// 格式化输出测试
|
|
// 格式化输出测试
|
|
@Test
|
|
@Test
|
|
public void testSer4(){
|
|
public void testSer4(){
|
|
- Assertions.assertEquals("SER(\n\tnode(\"a\"),\n\tnode(\"b\")," +
|
|
|
|
- "\n\tnode(\"c\")\n);",
|
|
|
|
- ELBus.ser(ELBus.node("a"), ELBus.node("b")).ser(ELBus.node("c")).toEL(true));
|
|
|
|
- System.out.println("SER(\n\tnode(\"a\"),\n\tnode(\"b\")," +
|
|
|
|
- "\n\tnode(\"c\")\n);");
|
|
|
|
- Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.ser(ELBus.node("a"), ELBus.node("b")).ser(ELBus.node("c")).toEL(true)));
|
|
|
|
|
|
+ String el = ELBus.ser(ELBus.element("a"), ELBus.element("b")).ser(ELBus.element("c")).toEL(true);
|
|
|
|
+ System.out.println(StringEscapeUtils.escapeJava(el));
|
|
|
|
+ Assertions.assertEquals("SER(\n\ta,\n\tb,\n\tc\n);", el);
|
|
}
|
|
}
|
|
// then组件嵌套调用测试
|
|
// then组件嵌套调用测试
|
|
@Test
|
|
@Test
|
|
public void testSer5(){
|
|
public void testSer5(){
|
|
- Assertions.assertEquals("SER(node(\"a\"),SER(node(\"b\"),node(\"c\")),node(\"d\"));",
|
|
|
|
- ELBus.ser(ELBus.node("a"), ELBus.ser(ELBus.node("b")).ser(ELBus.node("c"))).ser(ELBus.node("d")).toEL());
|
|
|
|
- Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.ser(ELBus.node("a"), ELBus.ser(ELBus.node("b")).ser(ELBus.node("c"))).ser(ELBus.node("d")).toEL()));
|
|
|
|
|
|
+ String el = ELBus.ser(ELBus.element("a"), ELBus.ser(ELBus.element("b")).ser(ELBus.element("c"))).ser(ELBus.element("d")).toEL();
|
|
|
|
+ System.out.println(StringEscapeUtils.escapeJava(el));
|
|
|
|
+ Assertions.assertEquals("SER(a,SER(b,c),d);", el);
|
|
}
|
|
}
|
|
// 格式化输出测试
|
|
// 格式化输出测试
|
|
@Test
|
|
@Test
|
|
public void testSer6(){
|
|
public void testSer6(){
|
|
- Assertions.assertEquals("SER(\n\tnode(\"a\"),\n\tSER(\n\t\tnode(\"b\"),\n\t\tnode(\"c\")\n\t),\n\tnode(\"d\")\n);",
|
|
|
|
- ELBus.ser(ELBus.node("a"), ELBus.ser(ELBus.node("b")).ser(ELBus.node("c"))).ser(ELBus.node("d")).toEL(true));
|
|
|
|
- System.out.println("SER(\n\tnode(\"a\"),\n\tSER(\n\t\tnode(\"b\"),\n\t\tnode(\"c\")\n\t),\n\tnode(\"d\")\n);");
|
|
|
|
- Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.ser(ELBus.node("a"), ELBus.ser(ELBus.node("b")).ser(ELBus.node("c"))).ser(ELBus.node("d")).toEL(true)));
|
|
|
|
|
|
+ String el = ELBus.ser(ELBus.element("a"), ELBus.ser(ELBus.element("b")).ser(ELBus.element("c"))).ser(ELBus.element("d")).toEL(true);
|
|
|
|
+ System.out.println(StringEscapeUtils.escapeJava(el));
|
|
|
|
+ String expect = "SER(\n\ta,\n\tSER(\n\t\tb,\n\t\tc\n\t),\n\td\n);";
|
|
|
|
+ Assertions.assertEquals(expect, el);
|
|
}
|
|
}
|
|
// pre组件测试
|
|
// pre组件测试
|
|
@Test
|
|
@Test
|
|
public void testSer7(){
|
|
public void testSer7(){
|
|
- Assertions.assertEquals("SER(PRE(node(\"p\")),PRE(node(\"pp\")),node(\"a\"),SER(node(\"b\"),node(\"c\")),node(\"d\"));",
|
|
|
|
- ELBus.ser(ELBus.node("a"), ELBus.ser(ELBus.node("b")).ser(ELBus.node("c"))).ser(ELBus.node("d")).pre(ELBus.node("p")).pre(ELBus.node("pp")).toEL());
|
|
|
|
- System.out.println("SER(PRE(node(\"p\")),PRE(node(\"pp\")),node(\"a\"),SER(node(\"b\"),node(\"c\")),node(\"d\"));");
|
|
|
|
- Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.ser(ELBus.node("a"), ELBus.ser(ELBus.node("b")).ser(ELBus.node("c"))).ser(ELBus.node("d")).pre(ELBus.node("p")).pre(ELBus.node("pp")).toEL()));
|
|
|
|
|
|
+ String el = ELBus.ser(ELBus.element("a"), ELBus.ser(ELBus.element("b")).ser(ELBus.element("c"))).ser(ELBus.element("d")).pre(ELBus.element("p")).pre(ELBus.element("pp")).toEL();
|
|
|
|
+ System.out.println(StringEscapeUtils.escapeJava(el));
|
|
|
|
+ String expect = "SER(PRE(p),PRE(pp),a,SER(b,c),d);";
|
|
|
|
+ Assertions.assertEquals(expect, el);
|
|
}
|
|
}
|
|
// 格式化输出测试
|
|
// 格式化输出测试
|
|
@Test
|
|
@Test
|
|
public void testSer8(){
|
|
public void testSer8(){
|
|
- Assertions.assertEquals("SER(\n\tPRE(\n\t\tnode(\"p\")\n\t),\n\tPRE(\n\t\tnode(\"pp\")\n\t),\n\tnode(\"a\"),\n\tSER(\n\t\tnode(\"b\"),\n\t\tnode(\"c\")\n\t),\n\tnode(\"d\")\n);",
|
|
|
|
- ELBus.ser(ELBus.node("a"), ELBus.ser(ELBus.node("b")).ser(ELBus.node("c"))).ser(ELBus.node("d")).pre(ELBus.node("p")).pre(ELBus.node("pp")).toEL(true));
|
|
|
|
- System.out.println("SER(\n\tPRE(\n\t\tnode(\"p\")\n\t),\n\tPRE(\n\t\tnode(\"pp\")\n\t),\n\tnode(\"a\"),\n\tSER(\n\t\tnode(\"b\"),\n\t\tnode(\"c\")\n\t),\n\tnode(\"d\")\n);");
|
|
|
|
- Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.ser(ELBus.node("a"), ELBus.ser(ELBus.node("b")).ser(ELBus.node("c"))).ser(ELBus.node("d")).pre(ELBus.node("p")).pre(ELBus.node("pp")).toEL(true)));
|
|
|
|
|
|
+ String el = ELBus.ser(ELBus.element("a"), ELBus.ser(ELBus.element("b")).ser(ELBus.element("c"))).ser(ELBus.element("d")).pre(ELBus.element("p")).pre(ELBus.element("pp")).toEL(true);
|
|
|
|
+ System.out.println(StringEscapeUtils.escapeJava(el));
|
|
|
|
+ String expect = "SER(\n\tPRE(\n\t\tp\n\t),\n\tPRE(\n\t\tpp\n\t),\n\ta,\n\tSER(\n\t\tb,\n\t\tc\n\t),\n\td\n);";
|
|
|
|
+ Assertions.assertEquals(expect, el);
|
|
}
|
|
}
|
|
// pre finally 格式测试
|
|
// pre finally 格式测试
|
|
@Test
|
|
@Test
|
|
public void testSer9(){
|
|
public void testSer9(){
|
|
- Assertions.assertEquals("SER(PRE(node(\"p\")),node(\"a\"),SER(node(\"b\"),node(\"c\")),node(\"d\"),FINALLY(node(\"f\")));",
|
|
|
|
- ELBus.ser(ELBus.node("a"), ELBus.ser(ELBus.node("b")).ser(ELBus.node("c"))).ser(ELBus.node("d")).pre(ELBus.node("p")).finallyOpt(ELBus.node("f")).toEL());
|
|
|
|
- System.out.println("SER(PRE(node(\"p\")),node(\"a\"),SER(node(\"b\"),node(\"c\")),node(\"d\"),FINALLY(node(\"f\")));");
|
|
|
|
- Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.ser(ELBus.node("a"), ELBus.ser(ELBus.node("b")).ser(ELBus.node("c"))).ser(ELBus.node("d")).pre(ELBus.node("p")).finallyOpt(ELBus.node("f")).toEL()));
|
|
|
|
|
|
+ String el = ELBus.ser(ELBus.element("a"), ELBus.ser(ELBus.element("b")).ser(ELBus.element("c"))).ser(ELBus.element("d")).pre(ELBus.element("p")).finallyOpt(ELBus.element("f")).toEL();
|
|
|
|
+ System.out.println(StringEscapeUtils.escapeJava(el));
|
|
|
|
+ String expect = "SER(PRE(p),a,SER(b,c),d,FINALLY(f));";
|
|
|
|
+ Assertions.assertEquals(expect, el);
|
|
}
|
|
}
|
|
// 格式化输出测试
|
|
// 格式化输出测试
|
|
@Test
|
|
@Test
|
|
public void testSer10(){
|
|
public void testSer10(){
|
|
- Assertions.assertEquals("SER(\n\tPRE(\n\t\tnode(\"p\")\n\t),\n\tnode(\"a\"),\n\tSER(\n\t\tnode(\"b\"),\n\t\tnode(\"c\")\n\t),\n\tnode(\"d\"),\n\tFINALLY(\n\t\tnode(\"f\")\n\t)\n);",
|
|
|
|
- ELBus.ser(ELBus.node("a"), ELBus.ser(ELBus.node("b")).ser(ELBus.node("c"))).ser(ELBus.node("d")).pre(ELBus.node("p")).finallyOpt(ELBus.node("f")).toEL(true));
|
|
|
|
- System.out.println("SER(\n\tPRE(\n\t\tnode(\"p\")\n\t),\n\tnode(\"a\"),\n\tSER(\n\t\tnode(\"b\"),\n\t\tnode(\"c\")\n\t),\n\tnode(\"d\"),\n\tFINALLY(\n\t\tnode(\"f\")\n\t)\n);");
|
|
|
|
- Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.ser(ELBus.node("a"), ELBus.ser(ELBus.node("b")).ser(ELBus.node("c"))).ser(ELBus.node("d")).pre(ELBus.node("p")).finallyOpt(ELBus.node("f")).toEL(true)));
|
|
|
|
|
|
+ String el = ELBus.ser(ELBus.element("a"), ELBus.ser(ELBus.element("b")).ser(ELBus.element("c"))).ser(ELBus.element("d")).pre(ELBus.element("p")).finallyOpt(ELBus.element("f")).toEL(true);
|
|
|
|
+ System.out.println(StringEscapeUtils.escapeJava(el));
|
|
|
|
+ String expect = "SER(\n\tPRE(\n\t\tp\n\t),\n\ta,\n\tSER(\n\t\tb,\n\t\tc\n\t),\n\td,\n\tFINALLY(\n\t\tf\n\t)\n);";
|
|
|
|
+ Assertions.assertEquals(expect, el);
|
|
}
|
|
}
|
|
// 属性设置测试
|
|
// 属性设置测试
|
|
@Test
|
|
@Test
|
|
public void testSer11(){
|
|
public void testSer11(){
|
|
- Assertions.assertEquals("SER(PRE(node(\"p\")),node(\"a\"),SER(node(\"b\"),node(\"c\")).id(\"this is a id\"),node(\"d\"),FINALLY(node(\"f\"))).tag(\"this is a tag\");",
|
|
|
|
- ELBus.ser(ELBus.node("a"), ELBus.ser(ELBus.node("b")).ser(ELBus.node("c")).id("this is a id")).tag("this is a tag").ser(ELBus.node("d")).pre(ELBus.node("p")).finallyOpt(ELBus.node("f")).toEL());
|
|
|
|
- System.out.println("SER(PRE(node(\"p\")),node(\"a\"),SER(node(\"b\"),node(\"c\")).id(\"this is a id\"),node(\"d\"),FINALLY(node(\"f\"))).tag(\"this is a tag\");");
|
|
|
|
- Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.ser(ELBus.node("a"), ELBus.ser(ELBus.node("b")).ser(ELBus.node("c")).id("this is a id")).tag("this is a tag").ser(ELBus.node("d")).pre(ELBus.node("p")).finallyOpt(ELBus.node("f")).toEL()));
|
|
|
|
|
|
+ String el = ELBus.ser(ELBus.element("a"), ELBus.ser(ELBus.element("b")).ser(ELBus.element("c")).id("this is a id")).tag("this is a tag").ser(ELBus.element("d")).pre(ELBus.element("p")).finallyOpt(ELBus.element("f")).toEL();
|
|
|
|
+ System.out.println(StringEscapeUtils.escapeJava(el));
|
|
|
|
+ String expect = "SER(PRE(p),a,SER(b,c).id(\"this is a id\"),d,FINALLY(f)).tag(\"this is a tag\");";
|
|
|
|
+ Assertions.assertEquals(expect, el);
|
|
}
|
|
}
|
|
// 格式化输出测试
|
|
// 格式化输出测试
|
|
@Test
|
|
@Test
|
|
public void testSer12(){
|
|
public void testSer12(){
|
|
- Assertions.assertEquals("SER(\n\tPRE(\n\t\tnode(\"p\")\n\t),\n\tnode(\"a\"),\n\tSER(\n\t\tnode(\"b\"),\n\t\tnode(\"c\")\n\t).id(\"this is a id\"),\n\tnode(\"d\"),\n\tFINALLY(\n\t\tnode(\"f\")\n\t)\n).tag(\"this is a tag\");",
|
|
|
|
- ELBus.ser(ELBus.node("a"), ELBus.ser(ELBus.node("b")).ser(ELBus.node("c")).id("this is a id")).tag("this is a tag").ser(ELBus.node("d")).pre(ELBus.node("p")).finallyOpt(ELBus.node("f")).toEL(true));
|
|
|
|
- System.out.println("SER(\n\tPRE(\n\t\tnode(\"p\")\n\t),\n\tnode(\"a\"),\n\tSER(\n\t\tnode(\"b\"),\n\t\tnode(\"c\")\n\t).id(\"this is a id\"),\n\tnode(\"d\"),\n\tFINALLY(\n\t\tnode(\"f\")\n\t)\n).tag(\"this is a tag\");");
|
|
|
|
- Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.ser(ELBus.node("a"), ELBus.ser(ELBus.node("b")).ser(ELBus.node("c")).id("this is a id")).tag("this is a tag").ser(ELBus.node("d")).pre(ELBus.node("p")).finallyOpt(ELBus.node("f")).toEL(true)));
|
|
|
|
|
|
+ String el = ELBus.ser(ELBus.element("a"), ELBus.ser(ELBus.element("b")).ser(ELBus.element("c")).id("this is a id")).tag("this is a tag").ser(ELBus.element("d")).pre(ELBus.element("p")).finallyOpt(ELBus.element("f")).toEL(true);
|
|
|
|
+ System.out.println(StringEscapeUtils.escapeJava(el));
|
|
|
|
+ String expect = "SER(\n\tPRE(\n\t\tp\n\t),\n\ta,\n\tSER(\n\t\tb,\n\t\tc\n\t).id(\"this is a id\"),\n\td,\n\tFINALLY(\n\t\tf\n\t)\n).tag(\"this is a tag\");";
|
|
|
|
+ Assertions.assertEquals(expect, el);
|
|
}
|
|
}
|
|
// data属性测试
|
|
// data属性测试
|
|
@Test
|
|
@Test
|
|
@@ -126,11 +122,10 @@ public class SerELBuilderTest extends BaseTest {
|
|
Map<String, Object> name2Value = new HashMap<String, Object>();
|
|
Map<String, Object> name2Value = new HashMap<String, Object>();
|
|
name2Value.put("name", "zhangsan");
|
|
name2Value.put("name", "zhangsan");
|
|
name2Value.put("age", 18);
|
|
name2Value.put("age", 18);
|
|
- System.out.println(JsonUtil.toJsonString(name2Value));
|
|
|
|
- Assertions.assertEquals("thenData = '{\"name\":\"zhangsan\",\"age\":18}';\nSER(PRE(node(\"p\")),node(\"a\"),SER(node(\"b\"),node(\"c\")).id(\"this is a id\"),node(\"d\").data(thenData),FINALLY(node(\"f\"))).tag(\"this is a tag\");",
|
|
|
|
- ELBus.ser(ELBus.node("a"), ELBus.ser(ELBus.node("b")).ser(ELBus.node("c")).id("this is a id")).tag("this is a tag").ser(ELBus.node("d").data("thenData", name2Value)).pre(ELBus.node("p")).finallyOpt(ELBus.node("f")).toEL());
|
|
|
|
- System.out.println("thenData = '{\"name\":\"zhangsan\",\"age\":18}';\nSER(PRE(node(\"p\")),node(\"a\"),SER(node(\"b\"),node(\"c\")).id(\"this is a id\"),node(\"d\").data(thenData),FINALLY(node(\"f\"))).tag(\"this is a tag\");");
|
|
|
|
- Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.ser(ELBus.node("a"), ELBus.ser(ELBus.node("b")).ser(ELBus.node("c")).id("this is a id")).tag("this is a tag").ser(ELBus.node("d").data("thenData", name2Value)).pre(ELBus.node("p")).finallyOpt(ELBus.node("f")).toEL()));
|
|
|
|
|
|
+ String el = ELBus.ser(ELBus.element("a"), ELBus.ser(ELBus.element("b")).ser(ELBus.element("c")).id("this is a id")).tag("this is a tag").ser(ELBus.element("d").data("thenData", name2Value)).pre(ELBus.element("p")).finallyOpt(ELBus.element("f")).toEL();
|
|
|
|
+ System.out.println(el);
|
|
|
|
+ String expect = "thenData = \"{\\\"name\\\":\\\"zhangsan\\\",\\\"age\\\":18}\";\nSER(PRE(p),a,SER(b,c).id(\"this is a id\"),d.data(thenData),FINALLY(f)).tag(\"this is a tag\");";
|
|
|
|
+ Assertions.assertEquals(expect, el);
|
|
}
|
|
}
|
|
// 格式化输出测试
|
|
// 格式化输出测试
|
|
@Test
|
|
@Test
|
|
@@ -138,26 +133,26 @@ public class SerELBuilderTest extends BaseTest {
|
|
Map<String, Object> name2Value = new HashMap<String, Object>();
|
|
Map<String, Object> name2Value = new HashMap<String, Object>();
|
|
name2Value.put("name", "zhangsan");
|
|
name2Value.put("name", "zhangsan");
|
|
name2Value.put("age", 18);
|
|
name2Value.put("age", 18);
|
|
- Assertions.assertEquals("thenData = '{\"name\":\"zhangsan\",\"age\":18}';\nSER(\n\tPRE(\n\t\tnode(\"p\")\n\t),\n\tnode(\"a\"),\n\tSER(\n\t\tnode(\"b\"),\n\t\tnode(\"c\")\n\t).id(\"this is a id\"),\n\tnode(\"d\").data(thenData),\n\tFINALLY(\n\t\tnode(\"f\")\n\t)\n).tag(\"this is a tag\");",
|
|
|
|
- ELBus.ser(ELBus.node("a"), ELBus.ser(ELBus.node("b")).ser(ELBus.node("c")).id("this is a id")).tag("this is a tag").ser(ELBus.node("d").data("thenData", name2Value)).pre(ELBus.node("p")).finallyOpt(ELBus.node("f")).toEL(true));
|
|
|
|
- System.out.println("thenData = '{\"name\":\"zhangsan\",\"age\":18}';\nSER(\n\tPRE(\n\t\tnode(\"p\")\n\t),\n\tnode(\"a\"),\n\tSER(\n\t\tnode(\"b\"),\n\t\tnode(\"c\")\n\t).id(\"this is a id\"),\n\tnode(\"d\").data(thenData),\n\tFINALLY(\n\t\tnode(\"f\")\n\t)\n).tag(\"this is a tag\");");
|
|
|
|
- Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.ser(ELBus.node("a"), ELBus.ser(ELBus.node("b")).ser(ELBus.node("c")).id("this is a id")).tag("this is a tag").ser(ELBus.node("d").data("thenData", name2Value)).pre(ELBus.node("p")).finallyOpt(ELBus.node("f")).toEL(true)));
|
|
|
|
|
|
+ String el = ELBus.ser(ELBus.element("a"), ELBus.ser(ELBus.element("b")).ser(ELBus.element("c")).id("this is a id")).tag("this is a tag").ser(ELBus.element("d").data("thenData", name2Value)).pre(ELBus.element("p")).finallyOpt(ELBus.element("f")).toEL(true);
|
|
|
|
+ System.out.println(StringEscapeUtils.escapeJava(el));
|
|
|
|
+ String expect = "thenData = \"{\\\"name\\\":\\\"zhangsan\\\",\\\"age\\\":18}\";\nSER(\n\tPRE(\n\t\tp\n\t),\n\ta,\n\tSER(\n\t\tb,\n\t\tc\n\t).id(\"this is a id\"),\n\td.data(thenData),\n\tFINALLY(\n\t\tf\n\t)\n).tag(\"this is a tag\");";
|
|
|
|
+ Assertions.assertEquals(expect, el);
|
|
}
|
|
}
|
|
// data属性测试 Json字符串赋值data
|
|
// data属性测试 Json字符串赋值data
|
|
@Test
|
|
@Test
|
|
public void testSer15(){
|
|
public void testSer15(){
|
|
- Assertions.assertEquals("thenData = '{\"name\":\"zhangsan\",\"age\":18}';\nSER(PRE(node(\"p\")),node(\"a\"),SER(node(\"b\"),node(\"c\")).id(\"this is a id\"),node(\"d\").data(thenData),FINALLY(node(\"f\"))).tag(\"this is a tag\");",
|
|
|
|
- ELBus.ser(ELBus.node("a"), ELBus.ser(ELBus.node("b")).ser(ELBus.node("c")).id("this is a id")).tag("this is a tag").ser(ELBus.node("d").data("thenData", "{\"name\":\"zhangsan\",\"age\":18}")).pre(ELBus.node("p")).finallyOpt(ELBus.node("f")).toEL());
|
|
|
|
-// System.out.println("thenData = '{\"name\":\"zhangsan\",\"age\":18}';\nSER(PRE(node(\"p\")),node(\"a\"),SER(node(\"b\"),node(\"c\")).id(\"this is a id\"),node(\"d\").data(thenData),FINALLY(node(\"f\"))).tag(\"this is a tag\");");
|
|
|
|
- Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.ser(ELBus.node("a"), ELBus.ser(ELBus.node("b")).ser(ELBus.node("c")).id("this is a id")).tag("this is a tag").ser(ELBus.node("d").data("thenData", "{\"name\":\"zhangsan\",\"age\":18}")).pre(ELBus.node("p")).finallyOpt(ELBus.node("f")).toEL()));
|
|
|
|
|
|
+ String el = ELBus.ser(ELBus.element("a"), ELBus.ser(ELBus.element("b")).ser(ELBus.element("c")).id("this is a id")).tag("this is a tag").ser(ELBus.element("d").data("thenData", "{\"name\":\"zhangsan\",\"age\":18}")).pre(ELBus.element("p")).finallyOpt(ELBus.element("f")).toEL();
|
|
|
|
+ System.out.println(StringEscapeUtils.escapeJava(el));
|
|
|
|
+ String expect = "thenData = \"{\\\"name\\\":\\\"zhangsan\\\",\\\"age\\\":18}\";\nSER(PRE(p),a,SER(b,c).id(\"this is a id\"),d.data(thenData),FINALLY(f)).tag(\"this is a tag\");";
|
|
|
|
+ Assertions.assertEquals(expect, el);
|
|
}
|
|
}
|
|
// 格式化输出测试 Json字符串赋值data
|
|
// 格式化输出测试 Json字符串赋值data
|
|
@Test
|
|
@Test
|
|
public void testSer16(){
|
|
public void testSer16(){
|
|
- Assertions.assertEquals("thenData = '{\"name\":\"zhangsan\",\"age\":18}';\nSER(\n\tPRE(\n\t\tnode(\"p\")\n\t),\n\tnode(\"a\"),\n\tSER(\n\t\tnode(\"b\"),\n\t\tnode(\"c\")\n\t).id(\"this is a id\"),\n\tnode(\"d\").data(thenData),\n\tFINALLY(\n\t\tnode(\"f\")\n\t)\n).tag(\"this is a tag\");",
|
|
|
|
- ELBus.ser(ELBus.node("a"), ELBus.ser(ELBus.node("b")).ser(ELBus.node("c")).id("this is a id")).tag("this is a tag").ser(ELBus.node("d").data("thenData", "{\"name\":\"zhangsan\",\"age\":18}")).pre(ELBus.node("p")).finallyOpt(ELBus.node("f")).toEL(true));
|
|
|
|
-// System.out.println("thenData = '{\"name\":\"zhangsan\",\"age\":18}';\nSER(\n\tPRE(\n\t\tnode(\"p\")\n\t),\n\tnode(\"a\"),\n\tSER(\n\t\tnode(\"b\"),\n\t\tnode(\"c\")\n\t).id(\"this is a id\"),\n\tnode(\"d\").data(thenData),\n\tFINALLY(\n\t\tnode(\"f\")\n\t)\n).tag(\"this is a tag\");");
|
|
|
|
- Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.ser(ELBus.node("a"), ELBus.ser(ELBus.node("b")).ser(ELBus.node("c")).id("this is a id")).tag("this is a tag").ser(ELBus.node("d").data("thenData", "{\"name\":\"zhangsan\",\"age\":18}")).pre(ELBus.node("p")).finallyOpt(ELBus.node("f")).toEL(true)));
|
|
|
|
|
|
+ String el = ELBus.ser(ELBus.element("a"), ELBus.ser(ELBus.element("b")).ser(ELBus.element("c")).id("this is a id")).tag("this is a tag").ser(ELBus.element("d").data("thenData", "{\"name\":\"zhangsan\",\"age\":18}")).pre(ELBus.element("p")).finallyOpt(ELBus.element("f")).toEL(true);
|
|
|
|
+ System.out.println(StringEscapeUtils.escapeJava(el));
|
|
|
|
+ String expect = "thenData = \"{\\\"name\\\":\\\"zhangsan\\\",\\\"age\\\":18}\";\nSER(\n\tPRE(\n\t\tp\n\t),\n\ta,\n\tSER(\n\t\tb,\n\t\tc\n\t).id(\"this is a id\"),\n\td.data(thenData),\n\tFINALLY(\n\t\tf\n\t)\n).tag(\"this is a tag\");";
|
|
|
|
+ Assertions.assertEquals(expect, el);
|
|
}
|
|
}
|
|
private static class ParamClass{
|
|
private static class ParamClass{
|
|
private String name;
|
|
private String name;
|
|
@@ -175,10 +170,10 @@ public class SerELBuilderTest extends BaseTest {
|
|
ParamClass name2Value = new ParamClass();
|
|
ParamClass name2Value = new ParamClass();
|
|
name2Value.name = "zhangsan";
|
|
name2Value.name = "zhangsan";
|
|
name2Value.age = 18;
|
|
name2Value.age = 18;
|
|
- Assertions.assertEquals("thenData = '{\"name\":\"zhangsan\",\"age\":18}';\nSER(PRE(node(\"p\")),node(\"a\"),SER(node(\"b\"),node(\"c\")).id(\"this is a id\"),node(\"d\").data(thenData),FINALLY(node(\"f\"))).tag(\"this is a tag\");",
|
|
|
|
- ELBus.ser(ELBus.node("a"), ELBus.ser(ELBus.node("b")).ser(ELBus.node("c")).id("this is a id")).tag("this is a tag").ser(ELBus.node("d").data("thenData", name2Value)).pre(ELBus.node("p")).finallyOpt(ELBus.node("f")).toEL());
|
|
|
|
- System.out.println("thenData = '{\"name\":\"zhangsan\",\"age\":18}';\nSER(PRE(node(\"p\")),node(\"a\"),SER(node(\"b\"),node(\"c\")).id(\"this is a id\"),node(\"d\").data(thenData),FINALLY(node(\"f\"))).tag(\"this is a tag\");");
|
|
|
|
- Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.ser(ELBus.node("a"), ELBus.ser(ELBus.node("b")).ser(ELBus.node("c")).id("this is a id")).tag("this is a tag").ser(ELBus.node("d").data("thenData", name2Value)).pre(ELBus.node("p")).finallyOpt(ELBus.node("f")).toEL()));
|
|
|
|
|
|
+ String el = ELBus.ser(ELBus.element("a"), ELBus.ser(ELBus.element("b")).ser(ELBus.element("c")).id("this is a id")).tag("this is a tag").ser(ELBus.element("d").data("thenData", name2Value)).pre(ELBus.element("p")).finallyOpt(ELBus.element("f")).toEL();
|
|
|
|
+ System.out.println(StringEscapeUtils.escapeJava(el));
|
|
|
|
+ String expect = "thenData = \"{\\\"name\\\":\\\"zhangsan\\\",\\\"age\\\":18}\";\nSER(PRE(p),a,SER(b,c).id(\"this is a id\"),d.data(thenData),FINALLY(f)).tag(\"this is a tag\");";
|
|
|
|
+ Assertions.assertEquals(expect, el);
|
|
}
|
|
}
|
|
// 格式化输出测试
|
|
// 格式化输出测试
|
|
@Test
|
|
@Test
|
|
@@ -186,27 +181,27 @@ public class SerELBuilderTest extends BaseTest {
|
|
ParamClass name2Value = new ParamClass();
|
|
ParamClass name2Value = new ParamClass();
|
|
name2Value.name = "zhangsan";
|
|
name2Value.name = "zhangsan";
|
|
name2Value.age = 18;
|
|
name2Value.age = 18;
|
|
- Assertions.assertEquals("thenData = '{\"name\":\"zhangsan\",\"age\":18}';\nSER(\n\tPRE(\n\t\tnode(\"p\")\n\t),\n\tnode(\"a\"),\n\tSER(\n\t\tnode(\"b\"),\n\t\tnode(\"c\")\n\t).id(\"this is a id\"),\n\tnode(\"d\").data(thenData),\n\tFINALLY(\n\t\tnode(\"f\")\n\t)\n).tag(\"this is a tag\");",
|
|
|
|
- ELBus.ser(ELBus.node("a"), ELBus.ser(ELBus.node("b")).ser(ELBus.node("c")).id("this is a id")).tag("this is a tag").ser(ELBus.node("d").data("thenData", name2Value)).pre(ELBus.node("p")).finallyOpt(ELBus.node("f")).toEL(true));
|
|
|
|
- System.out.println("thenData = '{\"name\":\"zhangsan\",\"age\":18}';\nSER(\n\tPRE(\n\t\tnode(\"p\")\n\t),\n\tnode(\"a\"),\n\tSER(\n\t\tnode(\"b\"),\n\t\tnode(\"c\")\n\t).id(\"this is a id\"),\n\tnode(\"d\").data(thenData),\n\tFINALLY(\n\t\tnode(\"f\")\n\t)\n).tag(\"this is a tag\");");
|
|
|
|
- Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.ser(ELBus.node("a"), ELBus.ser(ELBus.node("b")).ser(ELBus.node("c")).id("this is a id")).tag("this is a tag").ser(ELBus.node("d").data("thenData", name2Value)).pre(ELBus.node("p")).finallyOpt(ELBus.node("f")).toEL(true)));
|
|
|
|
|
|
+
|
|
|
|
+ String el = ELBus.ser(ELBus.element("a"), ELBus.ser(ELBus.element("b")).ser(ELBus.element("c")).id("this is a id")).tag("this is a tag").ser(ELBus.element("d").data("thenData", name2Value)).pre(ELBus.element("p")).finallyOpt(ELBus.element("f")).toEL(true);
|
|
|
|
+ System.out.println(StringEscapeUtils.escapeJava(el));
|
|
|
|
+ String expect = "thenData = \"{\\\"name\\\":\\\"zhangsan\\\",\\\"age\\\":18}\";\nSER(\n\tPRE(\n\t\tp\n\t),\n\ta,\n\tSER(\n\t\tb,\n\t\tc\n\t).id(\"this is a id\"),\n\td.data(thenData),\n\tFINALLY(\n\t\tf\n\t)\n).tag(\"this is a tag\");";
|
|
|
|
+ Assertions.assertEquals(expect, el);
|
|
}
|
|
}
|
|
// maxWaitSecond测试
|
|
// maxWaitSecond测试
|
|
@Test
|
|
@Test
|
|
public void testSer19(){
|
|
public void testSer19(){
|
|
- String expectedStr = "SER(node(\"a\"),node(\"b\")).maxWaitSeconds(5);";
|
|
|
|
- Assertions.assertEquals(expectedStr,
|
|
|
|
- ELBus.ser(ELBus.node("a")).ser(ELBus.node("b")).maxWaitSeconds(5).toEL());
|
|
|
|
- System.out.println(expectedStr);
|
|
|
|
- Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.ser(ELBus.node("a")).ser(ELBus.node("b")).maxWaitSeconds(5).toEL()));
|
|
|
|
|
|
+ String el = ELBus.ser(ELBus.element("a")).ser(ELBus.element("b")).maxWaitSeconds(5).toEL();
|
|
|
|
+ System.out.println(StringEscapeUtils.escapeJava(el));
|
|
|
|
+ String expect = "SER(a,b).maxWaitSeconds(5);";
|
|
|
|
+ Assertions.assertEquals(expect, el);
|
|
|
|
+
|
|
}
|
|
}
|
|
// 格式化输出测试
|
|
// 格式化输出测试
|
|
@Test
|
|
@Test
|
|
public void testSer20(){
|
|
public void testSer20(){
|
|
- String expectedStr = "SER(\n\tnode(\"a\"),\n\tnode(\"b\")\n).maxWaitSeconds(5);";
|
|
|
|
- Assertions.assertEquals(expectedStr,
|
|
|
|
- ELBus.ser(ELBus.node("a")).ser(ELBus.node("b")).maxWaitSeconds(5).toEL(true));
|
|
|
|
- System.out.println(expectedStr);
|
|
|
|
- Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.ser(ELBus.node("a")).ser(ELBus.node("b")).maxWaitSeconds(5).toEL(true)));
|
|
|
|
|
|
+ String el = ELBus.ser(ELBus.element("a")).ser(ELBus.element("b")).maxWaitSeconds(5).toEL(true);
|
|
|
|
+ System.out.println(StringEscapeUtils.escapeJava(el));
|
|
|
|
+ String expect = "SER(\n\ta,\n\tb\n).maxWaitSeconds(5);";
|
|
|
|
+ Assertions.assertEquals(expect, el);
|
|
}
|
|
}
|
|
}
|
|
}
|