@fincity/kirun-js 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (217) hide show
  1. package/.prettierrc +9 -0
  2. package/__tests__/engine/function/system/array/AddFirstTest.ts +235 -0
  3. package/__tests__/engine/function/system/array/AddTest.ts +126 -0
  4. package/__tests__/engine/function/system/array/BinarySearchTest.ts +135 -0
  5. package/__tests__/engine/function/system/array/CompareTest.ts +48 -0
  6. package/__tests__/engine/function/system/array/CopyTest.ts +86 -0
  7. package/__tests__/engine/function/system/array/DeleteFirstTest.ts +103 -0
  8. package/__tests__/engine/function/system/array/DeleteFromTest.ts +232 -0
  9. package/__tests__/engine/function/system/array/DeleteLastTest.ts +103 -0
  10. package/__tests__/engine/function/system/array/DeleteTest.ts +110 -0
  11. package/__tests__/engine/function/system/array/DisjointTest.ts +184 -0
  12. package/__tests__/engine/function/system/array/Equals.ts +67 -0
  13. package/__tests__/engine/function/system/array/FillTest.ts +36 -0
  14. package/__tests__/engine/function/system/array/FrequencyTest.ts +97 -0
  15. package/__tests__/engine/function/system/array/IndexOfArrayTest.ts +347 -0
  16. package/__tests__/engine/function/system/array/IndexOfTest.ts +267 -0
  17. package/__tests__/engine/function/system/array/InsertTest.ts +229 -0
  18. package/__tests__/engine/function/system/array/LastIndexOfArrayTest.ts +213 -0
  19. package/__tests__/engine/function/system/array/LastIndexOfTest.ts +253 -0
  20. package/__tests__/engine/function/system/array/MaxTest.ts +98 -0
  21. package/__tests__/engine/function/system/array/MinTest.ts +99 -0
  22. package/__tests__/engine/function/system/array/MisMatchTest.ts +215 -0
  23. package/__tests__/engine/function/system/array/ReverseTest.ts +235 -0
  24. package/__tests__/engine/function/system/array/RotateTest.ts +137 -0
  25. package/__tests__/engine/function/system/array/ShuffleTest.ts +154 -0
  26. package/__tests__/engine/function/system/array/SortTest.ts +130 -0
  27. package/__tests__/engine/function/system/array/SubArrayTest.ts +236 -0
  28. package/__tests__/engine/function/system/math/AddTest.ts +12 -0
  29. package/__tests__/engine/function/system/string/ConcatenateTest.ts +46 -0
  30. package/__tests__/engine/function/system/string/DeleteForGivenLengthTest.ts +38 -0
  31. package/__tests__/engine/function/system/string/InsertAtGivenPositionTest.ts +53 -0
  32. package/__tests__/engine/function/system/string/PostPadTest.ts +54 -0
  33. package/__tests__/engine/function/system/string/PrePadTest.ts +54 -0
  34. package/__tests__/engine/function/system/string/RegionMatchesTest.ts +78 -0
  35. package/__tests__/engine/function/system/string/ReverseTest.ts +36 -0
  36. package/__tests__/engine/function/system/string/SplitTest.ts +61 -0
  37. package/__tests__/engine/function/system/string/StringFunctionRepoTest2.ts +126 -0
  38. package/__tests__/engine/function/system/string/StringFunctionRepoTest3.ts +54 -0
  39. package/__tests__/engine/function/system/string/StringFunctionRepositoryTest.ts +146 -0
  40. package/__tests__/engine/function/system/string/ToStringTest.ts +43 -0
  41. package/__tests__/engine/function/system/string/TrimToTest.ts +28 -0
  42. package/__tests__/engine/json/schema/validator/SchemaValidatorTest.ts +26 -0
  43. package/__tests__/engine/runtime/KIRuntimeTest.ts +351 -0
  44. package/__tests__/engine/runtime/expression/ExpressionEvaluationTest.ts +128 -0
  45. package/__tests__/engine/runtime/expression/ExpressionTest.ts +33 -0
  46. package/__tests__/engine/runtime/expression/tokenextractor/OutputMapTokenValueExtractorTest.ts +44 -0
  47. package/__tests__/engine/runtime/expression/tokenextractor/TokenValueExtractorTest.ts +72 -0
  48. package/__tests__/engine/util/LinkedListTest.ts +29 -0
  49. package/__tests__/engine/util/string/StringFormatterTest.ts +17 -0
  50. package/__tests__/indexTest.ts +33 -0
  51. package/dist/index.js +2 -0
  52. package/dist/index.js.map +1 -0
  53. package/dist/module.js +2 -0
  54. package/dist/module.js.map +1 -0
  55. package/dist/types.d.ts +430 -0
  56. package/dist/types.d.ts.map +1 -0
  57. package/package.json +54 -0
  58. package/src/engine/HybridRepository.ts +18 -0
  59. package/src/engine/Repository.ts +3 -0
  60. package/src/engine/constant/KIRunConstants.ts +7 -0
  61. package/src/engine/exception/ExecutionException.ts +12 -0
  62. package/src/engine/exception/KIRuntimeException.ts +12 -0
  63. package/src/engine/function/AbstractFunction.ts +76 -0
  64. package/src/engine/function/Function.ts +13 -0
  65. package/src/engine/function/system/GenerateEvent.ts +76 -0
  66. package/src/engine/function/system/If.ts +40 -0
  67. package/src/engine/function/system/array/AbstractArrayFunction.ts +158 -0
  68. package/src/engine/function/system/array/Add.ts +31 -0
  69. package/src/engine/function/system/array/AddFirst.ts +44 -0
  70. package/src/engine/function/system/array/BinarySearch.ts +66 -0
  71. package/src/engine/function/system/array/Compare.ts +150 -0
  72. package/src/engine/function/system/array/Copy.ts +56 -0
  73. package/src/engine/function/system/array/Delete.ts +63 -0
  74. package/src/engine/function/system/array/DeleteFirst.ts +22 -0
  75. package/src/engine/function/system/array/DeleteFrom.ts +51 -0
  76. package/src/engine/function/system/array/DeleteLast.ts +23 -0
  77. package/src/engine/function/system/array/Disjoint.ts +85 -0
  78. package/src/engine/function/system/array/Equals.ts +36 -0
  79. package/src/engine/function/system/array/Fill.ts +51 -0
  80. package/src/engine/function/system/array/Frequency.ts +68 -0
  81. package/src/engine/function/system/array/IndexOf.ts +56 -0
  82. package/src/engine/function/system/array/IndexOfArray.ts +67 -0
  83. package/src/engine/function/system/array/Insert.ts +48 -0
  84. package/src/engine/function/system/array/LastIndexOf.ts +62 -0
  85. package/src/engine/function/system/array/LastIndexOfArray.ts +70 -0
  86. package/src/engine/function/system/array/Max.ts +31 -0
  87. package/src/engine/function/system/array/Min.ts +32 -0
  88. package/src/engine/function/system/array/MisMatch.ts +66 -0
  89. package/src/engine/function/system/array/Reverse.ts +50 -0
  90. package/src/engine/function/system/array/Rotate.ts +43 -0
  91. package/src/engine/function/system/array/Shuffle.ts +31 -0
  92. package/src/engine/function/system/array/Sort.ts +70 -0
  93. package/src/engine/function/system/array/SubArray.ts +48 -0
  94. package/src/engine/function/system/context/Create.ts +73 -0
  95. package/src/engine/function/system/context/Get.ts +55 -0
  96. package/src/engine/function/system/context/SetFunction.ts +244 -0
  97. package/src/engine/function/system/loop/CountLoop.ts +55 -0
  98. package/src/engine/function/system/loop/RangeLoop.ts +120 -0
  99. package/src/engine/function/system/math/Add.ts +34 -0
  100. package/src/engine/function/system/math/GenericMathFunction.ts +80 -0
  101. package/src/engine/function/system/math/Hypotenuse.ts +57 -0
  102. package/src/engine/function/system/math/MathFunctionRepository.ts +63 -0
  103. package/src/engine/function/system/math/Maximum.ts +38 -0
  104. package/src/engine/function/system/math/Minimum.ts +38 -0
  105. package/src/engine/function/system/math/Random.ts +27 -0
  106. package/src/engine/function/system/string/AbstractStringFunction.ts +409 -0
  107. package/src/engine/function/system/string/Concatenate.ts +57 -0
  108. package/src/engine/function/system/string/DeleteForGivenLength.ts +82 -0
  109. package/src/engine/function/system/string/InsertAtGivenPosition.ts +72 -0
  110. package/src/engine/function/system/string/PostPad.ts +83 -0
  111. package/src/engine/function/system/string/PrePad.ts +73 -0
  112. package/src/engine/function/system/string/RegionMatches.ts +119 -0
  113. package/src/engine/function/system/string/ReplaceAtGivenPosition.ts +101 -0
  114. package/src/engine/function/system/string/Reverse.ts +62 -0
  115. package/src/engine/function/system/string/Split.ts +53 -0
  116. package/src/engine/function/system/string/StringFunctionRepository.ts +60 -0
  117. package/src/engine/function/system/string/ToString.ts +45 -0
  118. package/src/engine/function/system/string/TrimTo.ts +55 -0
  119. package/src/engine/json/JsonExpression.ts +11 -0
  120. package/src/engine/json/schema/Schema.ts +670 -0
  121. package/src/engine/json/schema/SchemaUtil.ts +145 -0
  122. package/src/engine/json/schema/array/ArraySchemaType.ts +44 -0
  123. package/src/engine/json/schema/object/AdditionalPropertiesType.ts +32 -0
  124. package/src/engine/json/schema/string/StringFormat.ts +7 -0
  125. package/src/engine/json/schema/type/MultipleType.ts +28 -0
  126. package/src/engine/json/schema/type/SchemaType.ts +11 -0
  127. package/src/engine/json/schema/type/SingleType.ts +23 -0
  128. package/src/engine/json/schema/type/Type.ts +6 -0
  129. package/src/engine/json/schema/type/TypeUtil.ts +25 -0
  130. package/src/engine/json/schema/validator/AnyOfAllOfOneOfValidator.ts +108 -0
  131. package/src/engine/json/schema/validator/ArrayValidator.ts +145 -0
  132. package/src/engine/json/schema/validator/BooleanValidator.ts +24 -0
  133. package/src/engine/json/schema/validator/NullValidator.ts +17 -0
  134. package/src/engine/json/schema/validator/NumberValidator.ts +115 -0
  135. package/src/engine/json/schema/validator/ObjectValidator.ts +184 -0
  136. package/src/engine/json/schema/validator/SchemaValidator.ts +141 -0
  137. package/src/engine/json/schema/validator/StringValidator.ts +97 -0
  138. package/src/engine/json/schema/validator/TypeValidator.ts +49 -0
  139. package/src/engine/json/schema/validator/exception/SchemaReferenceException.ts +19 -0
  140. package/src/engine/json/schema/validator/exception/SchemaValidationException.ts +22 -0
  141. package/src/engine/model/AbstractStatement.ts +29 -0
  142. package/src/engine/model/Argument.ts +36 -0
  143. package/src/engine/model/Event.ts +62 -0
  144. package/src/engine/model/EventResult.ts +34 -0
  145. package/src/engine/model/FunctionDefinition.ts +69 -0
  146. package/src/engine/model/FunctionOutput.ts +37 -0
  147. package/src/engine/model/FunctionOutputGenerator.ts +5 -0
  148. package/src/engine/model/FunctionSignature.ts +67 -0
  149. package/src/engine/model/Parameter.ts +97 -0
  150. package/src/engine/model/ParameterReference.ts +57 -0
  151. package/src/engine/model/ParameterReferenceType.ts +4 -0
  152. package/src/engine/model/ParameterType.ts +4 -0
  153. package/src/engine/model/Position.ts +40 -0
  154. package/src/engine/model/Statement.ts +101 -0
  155. package/src/engine/model/StatementGroup.ts +37 -0
  156. package/src/engine/namespaces/Namespaces.ts +11 -0
  157. package/src/engine/repository/KIRunFunctionRepository.ts +37 -0
  158. package/src/engine/repository/KIRunSchemaRepository.ts +24 -0
  159. package/src/engine/runtime/ContextElement.ts +28 -0
  160. package/src/engine/runtime/FunctionExecutionParameters.ts +74 -0
  161. package/src/engine/runtime/KIRuntime.ts +653 -0
  162. package/src/engine/runtime/StatementExecution.ts +61 -0
  163. package/src/engine/runtime/StatementMessage.ts +30 -0
  164. package/src/engine/runtime/StatementMessageType.ts +5 -0
  165. package/src/engine/runtime/expression/Expression.ts +330 -0
  166. package/src/engine/runtime/expression/ExpressionEvaluator.ts +305 -0
  167. package/src/engine/runtime/expression/ExpressionToken.ts +15 -0
  168. package/src/engine/runtime/expression/ExpressionTokenValue.ts +23 -0
  169. package/src/engine/runtime/expression/Operation.ts +190 -0
  170. package/src/engine/runtime/expression/exception/ExpressionEvaluationException.ts +15 -0
  171. package/src/engine/runtime/expression/operators/binary/ArithmeticAdditionOperator.ts +9 -0
  172. package/src/engine/runtime/expression/operators/binary/ArithmeticDivisionOperator.ts +9 -0
  173. package/src/engine/runtime/expression/operators/binary/ArithmeticInetgerDivisionOperator.ts +9 -0
  174. package/src/engine/runtime/expression/operators/binary/ArithmeticModulusOperator.ts +9 -0
  175. package/src/engine/runtime/expression/operators/binary/ArithmeticMultiplicationOperator.ts +9 -0
  176. package/src/engine/runtime/expression/operators/binary/ArithmeticSubtractionOperator.ts +9 -0
  177. package/src/engine/runtime/expression/operators/binary/ArrayOperator.ts +31 -0
  178. package/src/engine/runtime/expression/operators/binary/BinaryOperator.ts +15 -0
  179. package/src/engine/runtime/expression/operators/binary/BitwiseAndOperator.ts +9 -0
  180. package/src/engine/runtime/expression/operators/binary/BitwiseLeftShiftOperator.ts +9 -0
  181. package/src/engine/runtime/expression/operators/binary/BitwiseOrOperator.ts +9 -0
  182. package/src/engine/runtime/expression/operators/binary/BitwiseRightShiftOperator.ts +9 -0
  183. package/src/engine/runtime/expression/operators/binary/BitwiseUnsignedRightShiftOperator.ts +9 -0
  184. package/src/engine/runtime/expression/operators/binary/BitwiseXorOperator.ts +9 -0
  185. package/src/engine/runtime/expression/operators/binary/LogicalAndOperator.ts +25 -0
  186. package/src/engine/runtime/expression/operators/binary/LogicalEqualOperator.ts +13 -0
  187. package/src/engine/runtime/expression/operators/binary/LogicalGreaterThanEqualOperator.ts +24 -0
  188. package/src/engine/runtime/expression/operators/binary/LogicalGreaterThanOperator.ts +24 -0
  189. package/src/engine/runtime/expression/operators/binary/LogicalLessThanEqualOperator.ts +24 -0
  190. package/src/engine/runtime/expression/operators/binary/LogicalLessThanOperator.ts +24 -0
  191. package/src/engine/runtime/expression/operators/binary/LogicalNotEqualOperator.ts +13 -0
  192. package/src/engine/runtime/expression/operators/binary/LogicalOrOperator.ts +25 -0
  193. package/src/engine/runtime/expression/operators/binary/ObjectOperator.ts +24 -0
  194. package/src/engine/runtime/expression/operators/unary/ArithmeticUnaryMinusOperator.ts +13 -0
  195. package/src/engine/runtime/expression/operators/unary/ArithmeticUnaryPlusOperator.ts +13 -0
  196. package/src/engine/runtime/expression/operators/unary/BitwiseComplementOperator.ts +22 -0
  197. package/src/engine/runtime/expression/operators/unary/LogicalNotOperator.ts +22 -0
  198. package/src/engine/runtime/expression/operators/unary/UnaryOperator.ts +15 -0
  199. package/src/engine/runtime/expression/tokenextractor/LiteralTokenValueExtractor.ts +64 -0
  200. package/src/engine/runtime/expression/tokenextractor/TokenValueExtractor.ts +136 -0
  201. package/src/engine/runtime/graph/ExecutionGraph.ts +81 -0
  202. package/src/engine/runtime/graph/GraphVertex.ts +118 -0
  203. package/src/engine/runtime/graph/GraphVertexType.ts +4 -0
  204. package/src/engine/runtime/tokenextractor/ArgumentsTokenValueExtractor.ts +22 -0
  205. package/src/engine/runtime/tokenextractor/ContextTokenValueExtractor.ts +37 -0
  206. package/src/engine/runtime/tokenextractor/OutputMapTokenValueExtractor.ts +32 -0
  207. package/src/engine/util/ArrayUtil.ts +23 -0
  208. package/src/engine/util/LinkedList.ts +229 -0
  209. package/src/engine/util/MapUtil.ts +86 -0
  210. package/src/engine/util/NullCheck.ts +3 -0
  211. package/src/engine/util/Tuples.ts +43 -0
  212. package/src/engine/util/primitive/PrimitiveUtil.ts +143 -0
  213. package/src/engine/util/string/StringBuilder.ts +59 -0
  214. package/src/engine/util/string/StringFormatter.ts +25 -0
  215. package/src/engine/util/string/StringUtil.ts +48 -0
  216. package/src/index.ts +13 -0
  217. package/tsconfig.json +6 -0
@@ -0,0 +1,137 @@
1
+ import { Rotate } from '../../../../../src/engine/function/system/array/Rotate';
2
+ import { FunctionExecutionParameters } from '../../../../../src/engine/runtime/FunctionExecutionParameters';
3
+
4
+ let rotate: Rotate = new Rotate();
5
+
6
+ test('Rotate test1 ', () => {
7
+ let array: any[] = [];
8
+ array.push('I');
9
+ array.push('am');
10
+ array.push('using');
11
+ array.push('eclipse');
12
+ array.push('to');
13
+ array.push('test');
14
+ array.push('the');
15
+ array.push('changes');
16
+ array.push('with');
17
+ array.push('test');
18
+ array.push('Driven');
19
+ array.push('developement');
20
+
21
+ let fep: FunctionExecutionParameters = new FunctionExecutionParameters()
22
+ .setArguments(
23
+ new Map<string, any>([
24
+ [Rotate.PARAMETER_ARRAY_SOURCE.getParameterName(), array],
25
+ [Rotate.PARAMETER_ROTATE_LENGTH.getParameterName(), 16],
26
+ ]),
27
+ )
28
+ .setContext(new Map([]))
29
+ .setSteps(new Map([]));
30
+
31
+ let res: any[] = [];
32
+ res.push('to');
33
+ res.push('test');
34
+ res.push('the');
35
+ res.push('changes');
36
+ res.push('with');
37
+ res.push('test');
38
+ res.push('Driven');
39
+ res.push('developement');
40
+
41
+ res.push('I');
42
+ res.push('am');
43
+ res.push('using');
44
+ res.push('eclipse');
45
+
46
+ rotate.execute(fep);
47
+
48
+ expect(array).toStrictEqual(res);
49
+ });
50
+
51
+ test('rotate test 2', () => {
52
+ let src: any[] = [];
53
+
54
+ src.push('I');
55
+ src.push('am');
56
+ src.push('using');
57
+ src.push('eclipse');
58
+ src.push('to');
59
+ src.push('test');
60
+ src.push('the');
61
+ src.push('changes');
62
+ src.push('with');
63
+ src.push('test');
64
+ src.push('Driven');
65
+ src.push('developement');
66
+
67
+ let fep: FunctionExecutionParameters = new FunctionExecutionParameters()
68
+ .setArguments(
69
+ new Map<string, any>([
70
+ [Rotate.PARAMETER_ARRAY_SOURCE.getParameterName(), src],
71
+ [Rotate.PARAMETER_ROTATE_LENGTH.getParameterName(), src.length - 1],
72
+ ]),
73
+ )
74
+ .setContext(new Map([]))
75
+ .setSteps(new Map([]));
76
+
77
+ let res: any[] = [];
78
+
79
+ res.push('developement');
80
+ res.push('I');
81
+ res.push('am');
82
+ res.push('using');
83
+ res.push('eclipse');
84
+ res.push('to');
85
+ res.push('test');
86
+ res.push('the');
87
+ res.push('changes');
88
+ res.push('with');
89
+ res.push('test');
90
+ res.push('Driven');
91
+
92
+ rotate.execute(fep);
93
+
94
+ expect(src).toStrictEqual(res);
95
+ });
96
+
97
+ test('rotate test 3', () => {
98
+ let array: any[] = [];
99
+ array.push('I');
100
+ array.push('am');
101
+ array.push('using');
102
+ array.push('eclipse');
103
+ array.push('to');
104
+ array.push('test');
105
+ array.push('the');
106
+ array.push('changes');
107
+ array.push('with');
108
+ array.push('test');
109
+ array.push('Driven');
110
+ array.push('developement');
111
+
112
+ let fep: FunctionExecutionParameters = new FunctionExecutionParameters()
113
+ .setArguments(
114
+ new Map<string, any>([[Rotate.PARAMETER_ARRAY_SOURCE.getParameterName(), array]]),
115
+ )
116
+ .setContext(new Map([]))
117
+ .setSteps(new Map([]));
118
+
119
+ let res: any[] = [];
120
+ res.push('am');
121
+ res.push('using');
122
+ res.push('eclipse');
123
+ res.push('to');
124
+ res.push('test');
125
+ res.push('the');
126
+ res.push('changes');
127
+ res.push('with');
128
+ res.push('test');
129
+ res.push('Driven');
130
+ res.push('developement');
131
+
132
+ res.push('I');
133
+
134
+ rotate.execute(fep);
135
+
136
+ expect(array).toStrictEqual(res);
137
+ });
@@ -0,0 +1,154 @@
1
+ import { Shuffle } from '../../../../../src/engine/function/system/array/Shuffle';
2
+ import { FunctionExecutionParameters } from '../../../../../src/engine/runtime/FunctionExecutionParameters';
3
+
4
+ let shuffle: Shuffle = new Shuffle();
5
+
6
+ test('shuffle test 1', () => {
7
+ let array: any[] = [];
8
+ array.push('I');
9
+ array.push('am');
10
+ array.push('using');
11
+ array.push('eclipse');
12
+ array.push('to');
13
+ array.push('test');
14
+ array.push('the');
15
+ array.push('changes');
16
+ array.push('with');
17
+ array.push('test');
18
+ array.push('Driven');
19
+ array.push('developement');
20
+
21
+ let res: any[] = [];
22
+ res.push('I');
23
+ res.push('am');
24
+ res.push('using');
25
+ res.push('eclipse');
26
+ res.push('to');
27
+ res.push('test');
28
+ res.push('the');
29
+ res.push('changes');
30
+ res.push('with');
31
+ res.push('test');
32
+ res.push('Driven');
33
+ res.push('developement');
34
+
35
+ let set1: Set<any> = new Set<any>();
36
+
37
+ res.forEach((element) => set1.add(element));
38
+
39
+ let fep: FunctionExecutionParameters = new FunctionExecutionParameters()
40
+ .setArguments(
41
+ new Map<string, any>([[Shuffle.PARAMETER_ARRAY_SOURCE.getParameterName(), array]]),
42
+ )
43
+ .setContext(new Map([]))
44
+ .setSteps(new Map([]));
45
+
46
+ let set2: Set<any> = new Set<any>();
47
+
48
+ shuffle.execute(fep).allResults()[0].getResult().get(Shuffle.EVENT_RESULT_EMPTY.getName());
49
+
50
+ array.forEach((element) => set2.add(element));
51
+
52
+ expect(set2).toStrictEqual(set1);
53
+ });
54
+
55
+ test('Shuffle test 2', () => {
56
+ let array1: any[] = [];
57
+ array1.push('test');
58
+ array1.push('Driven');
59
+ array1.push('developement');
60
+ array1.push('I');
61
+ array1.push('am');
62
+ array1.push('using');
63
+ array1.push('eclipse');
64
+ array1.push('I');
65
+ array1.push('to');
66
+ array1.push('test');
67
+ array1.push('the');
68
+ array1.push('changes');
69
+ array1.push('with');
70
+ array1.push('test');
71
+ array1.push('Driven');
72
+ array1.push('developement');
73
+
74
+ let array2: any[] = [];
75
+
76
+ array2.push('test');
77
+ array2.push('Driven');
78
+ array2.push('developement');
79
+ array2.push('I');
80
+ array2.push('am');
81
+ array2.push('using');
82
+ array2.push('eclipse');
83
+ array2.push('I');
84
+ array2.push('to');
85
+ array2.push('test');
86
+ array2.push('the');
87
+ array2.push('changes');
88
+ array2.push('with');
89
+
90
+ let array3: any[] = [];
91
+ array3.push('test');
92
+ array3.push('Driven');
93
+ array3.push('developement');
94
+ array3.push('I');
95
+ array3.push('am');
96
+ array3.push('using');
97
+ array3.push('eclipse');
98
+ array3.push('I');
99
+ array3.push('to');
100
+ array3.push('test');
101
+ array3.push('the');
102
+ array3.push('changes');
103
+ array3.push('with');
104
+ array3.push('test');
105
+ array3.push('Driven');
106
+ array3.push('developement');
107
+
108
+ let array4: any[] = [];
109
+ array4.push('test');
110
+ array4.push('Driven');
111
+ array4.push('developement');
112
+ array4.push('I');
113
+ array4.push('am');
114
+ array4.push('using');
115
+ array4.push('eclipse');
116
+ array4.push('I');
117
+ array4.push('to');
118
+
119
+ let js1: object = {
120
+ boolean: false,
121
+ array: array4,
122
+ char: 'asda',
123
+ };
124
+
125
+ let arr: any[] = [];
126
+ arr.push(array1);
127
+ arr.push(array3);
128
+ arr.push(array2);
129
+ arr.push(array4);
130
+ arr.push(array1);
131
+ arr.push(js1);
132
+
133
+ let res: any[] = [];
134
+ let Set1: Set<object> = new Set<Object>();
135
+ arr.forEach((el) => {
136
+ res.push(el);
137
+ Set1.add(el);
138
+ });
139
+
140
+ let fep: FunctionExecutionParameters = new FunctionExecutionParameters()
141
+ .setArguments(
142
+ new Map<string, any>([[Shuffle.PARAMETER_ARRAY_SOURCE.getParameterName(), arr]]),
143
+ )
144
+ .setSteps(new Map([]))
145
+ .setContext(new Map([]));
146
+
147
+ shuffle.execute(fep);
148
+
149
+ let Set2: Set<object> = new Set<Object>();
150
+
151
+ arr.forEach((el) => Set2.add(el));
152
+
153
+ expect(Set2).toStrictEqual(Set1);
154
+ });
@@ -0,0 +1,130 @@
1
+ import { Sort } from '../../../../../src/engine/function/system/array/Sort';
2
+ import { FunctionExecutionParameters } from '../../../../../src/engine/runtime/FunctionExecutionParameters';
3
+
4
+ let sort: Sort = new Sort();
5
+
6
+ test('sort test 1', () => {
7
+ let arr: any[] = [];
8
+
9
+ arr.push(12);
10
+ arr.push(15);
11
+ arr.push(98);
12
+ arr.push(1);
13
+
14
+ let fep: FunctionExecutionParameters = new FunctionExecutionParameters().setArguments(
15
+ new Map<string, any>([
16
+ [Sort.PARAMETER_ARRAY_SOURCE_PRIMITIVE.getParameterName(), arr],
17
+ [Sort.PARAMETER_INT_FIND_FROM.getParameterName(), 0],
18
+ [Sort.PARAMETER_INT_LENGTH.getParameterName(), arr.length],
19
+ ]),
20
+ );
21
+
22
+ let res: any[] = [];
23
+ res.push(1);
24
+ res.push(12);
25
+ res.push(15);
26
+ res.push(98);
27
+
28
+ expect(sort.execute(fep).allResults()[0].getResult().get('output')).toStrictEqual(res);
29
+ });
30
+
31
+ test('sort test 2', () => {
32
+ let arr: any[] = [];
33
+
34
+ arr.push(12);
35
+ arr.push(15);
36
+ arr.push(98);
37
+ arr.push(1);
38
+
39
+ let fep: FunctionExecutionParameters = new FunctionExecutionParameters().setArguments(
40
+ new Map<string, any>([
41
+ [Sort.PARAMETER_ARRAY_SOURCE_PRIMITIVE.getParameterName(), arr],
42
+ [Sort.PARAMETER_INT_FIND_FROM.getParameterName(), 1],
43
+ [Sort.PARAMETER_BOOLEAN_ASCENDING.getParameterName(), false],
44
+ ]),
45
+ );
46
+
47
+ let res: any[] = [];
48
+ res.push(12);
49
+ res.push(1);
50
+ res.push(15);
51
+ res.push(98);
52
+
53
+ expect(sort.execute(fep).allResults()[0].getResult().get('output')).toStrictEqual(res);
54
+ });
55
+
56
+ test('sort test 3', () => {
57
+ let arr: any[] = [];
58
+ arr.push(12);
59
+ arr.push(15);
60
+ arr.push(98);
61
+ arr.push(1);
62
+ arr.push('sure');
63
+ arr.push('c');
64
+
65
+ let res: any[] = [];
66
+ res.push(12);
67
+ res.push(15);
68
+ res.push('sure');
69
+ res.push('c');
70
+ res.push(98);
71
+ res.push(1);
72
+
73
+ let fep: FunctionExecutionParameters = new FunctionExecutionParameters().setArguments(
74
+ new Map<string, any>([
75
+ [Sort.PARAMETER_ARRAY_SOURCE_PRIMITIVE.getParameterName(), arr],
76
+ [Sort.PARAMETER_INT_FIND_FROM.getParameterName(), 2],
77
+ [Sort.PARAMETER_BOOLEAN_ASCENDING.getParameterName(), true],
78
+ ]),
79
+ );
80
+
81
+ expect(sort.execute(fep).allResults()[0].getResult().get('output')).toStrictEqual(res);
82
+ });
83
+
84
+ test('sort test 4', () => {
85
+ let a;
86
+ let arr: any[] = [];
87
+ arr.push(12);
88
+ arr.push(null);
89
+ arr.push(null);
90
+ arr.push(15);
91
+ arr.push(98);
92
+ arr.push(1);
93
+ arr.push('sure');
94
+ arr.push('c');
95
+
96
+ let res: any[] = [];
97
+ res.push(12);
98
+ res.push(null);
99
+
100
+ res.push('sure');
101
+ res.push('c');
102
+ res.push(98);
103
+ res.push(15);
104
+ res.push(1);
105
+ res.push(null);
106
+
107
+ let fep: FunctionExecutionParameters = new FunctionExecutionParameters().setArguments(
108
+ new Map<string, any>([
109
+ [Sort.PARAMETER_ARRAY_SOURCE_PRIMITIVE.getParameterName(), arr],
110
+ [Sort.PARAMETER_INT_FIND_FROM.getParameterName(), 2],
111
+ [Sort.PARAMETER_BOOLEAN_ASCENDING.getParameterName(), true],
112
+ ]),
113
+ );
114
+
115
+ expect(sort.execute(fep).allResults()[0].getResult().get('output')).toStrictEqual(res);
116
+ });
117
+
118
+ test('sort test 5', () => {
119
+ let arr: any[] = ['Banana', 'Orange', 'Apple', 'Mango'];
120
+
121
+ let fep: FunctionExecutionParameters = new FunctionExecutionParameters().setArguments(
122
+ new Map<string, any>([
123
+ [Sort.PARAMETER_ARRAY_SOURCE_PRIMITIVE.getParameterName(), arr],
124
+ [Sort.PARAMETER_INT_FIND_FROM.getParameterName(), 1],
125
+ [Sort.PARAMETER_INT_LENGTH.getParameterName(), 3],
126
+ ]),
127
+ );
128
+ let res: any[] = ['Banana', 'Apple', 'Mango', 'Orange'];
129
+ expect(sort.execute(fep).allResults()[0].getResult().get('output')).toStrictEqual(res);
130
+ });
@@ -0,0 +1,236 @@
1
+ import { SubArray } from '../../../../../src/engine/function/system/array/SubArray';
2
+ import { FunctionExecutionParameters } from '../../../../../src/engine/runtime/FunctionExecutionParameters';
3
+
4
+ test('SubArray of Test 1', () => {
5
+ let sub: SubArray = new SubArray();
6
+
7
+ let array: any[] = [];
8
+
9
+ array.push('test');
10
+ array.push('Driven');
11
+ array.push('developement');
12
+ array.push('I');
13
+ array.push('am');
14
+ array.push('using');
15
+ array.push('eclipse');
16
+ array.push('I');
17
+ array.push('to');
18
+ array.push('test');
19
+ array.push('the');
20
+ array.push('changes');
21
+ array.push('with');
22
+ array.push('test');
23
+ array.push('Driven');
24
+ array.push('developement');
25
+
26
+ let res: any[] = [];
27
+
28
+ res.push('am');
29
+ res.push('using');
30
+ res.push('eclipse');
31
+ res.push('I');
32
+ res.push('to');
33
+ res.push('test');
34
+ res.push('the');
35
+ res.push('changes');
36
+ res.push('with');
37
+
38
+ let fep: FunctionExecutionParameters = new FunctionExecutionParameters().setArguments(
39
+ new Map<string, any>([
40
+ [SubArray.PARAMETER_ARRAY_SOURCE.getParameterName(), array],
41
+ [SubArray.PARAMETER_INT_FIND_FROM.getParameterName(), 4],
42
+ [SubArray.PARAMETER_INT_LENGTH.getParameterName(), 9],
43
+ ]),
44
+ );
45
+
46
+ expect(
47
+ sub.execute(fep).allResults()[0].getResult().get(SubArray.EVENT_RESULT_ARRAY.getName()),
48
+ ).toStrictEqual(res);
49
+ });
50
+
51
+ test('SubArray of Test 2', () => {
52
+ let sub: SubArray = new SubArray();
53
+
54
+ let fep: FunctionExecutionParameters = new FunctionExecutionParameters()
55
+ .setArguments(
56
+ new Map<string, any>([
57
+ [SubArray.PARAMETER_ARRAY_SOURCE.getParameterName(), undefined],
58
+ [SubArray.PARAMETER_INT_FIND_FROM.getParameterName(), 4],
59
+ [SubArray.PARAMETER_INT_LENGTH.getParameterName(), 9],
60
+ ]),
61
+ )
62
+ .setSteps(new Map([]))
63
+ .setContext(new Map([]));
64
+
65
+ expect(() => sub.execute(fep)).toThrow();
66
+ });
67
+
68
+ test('SubArray of Test 5', () => {
69
+ let sub: SubArray = new SubArray();
70
+
71
+ let array: any[] = [];
72
+ array.push('a');
73
+ array.push('b');
74
+ array.push('c');
75
+ array.push('d');
76
+ array.push('l');
77
+ array.push('d');
78
+ array.push('a');
79
+ array.push('b');
80
+ array.push('c');
81
+ array.push('e');
82
+ array.push('d');
83
+
84
+ let res: any[] = [];
85
+ res.push('b');
86
+ res.push('c');
87
+ res.push('d');
88
+ res.push('l');
89
+ res.push('d');
90
+ res.push('a');
91
+ res.push('b');
92
+
93
+ let fep: FunctionExecutionParameters = new FunctionExecutionParameters().setArguments(
94
+ new Map<string, any>([
95
+ [SubArray.PARAMETER_ARRAY_SOURCE.getParameterName(), array],
96
+ [SubArray.PARAMETER_INT_FIND_FROM.getParameterName(), 1],
97
+ [SubArray.PARAMETER_INT_LENGTH.getParameterName(), 7],
98
+ ]),
99
+ );
100
+
101
+ expect(
102
+ sub.execute(fep).allResults()[0].getResult().get(SubArray.EVENT_RESULT_ARRAY.getName()),
103
+ ).toStrictEqual(res);
104
+ });
105
+
106
+ test('SubArray of Test 3', () => {
107
+ let sub: SubArray = new SubArray();
108
+
109
+ let array: any[] = [];
110
+ array.push('a');
111
+ array.push('b');
112
+ array.push('c');
113
+ array.push('d');
114
+ array.push('l');
115
+ array.push('d');
116
+ array.push('a');
117
+ array.push('b');
118
+ array.push('c');
119
+ array.push('e');
120
+ array.push('d');
121
+
122
+ let res: any[] = [];
123
+ res.push('b');
124
+ res.push('c');
125
+ res.push('d');
126
+ res.push('l');
127
+ res.push('d');
128
+ res.push('a');
129
+ res.push('b');
130
+
131
+ let fep: FunctionExecutionParameters = new FunctionExecutionParameters().setArguments(
132
+ new Map<string, any>([
133
+ [SubArray.PARAMETER_ARRAY_SOURCE.getParameterName(), array],
134
+ [SubArray.PARAMETER_INT_FIND_FROM.getParameterName(), 1123],
135
+ [SubArray.PARAMETER_INT_LENGTH.getParameterName(), 7],
136
+ ]),
137
+ );
138
+
139
+ expect(() => sub.execute(fep)).toThrow();
140
+ });
141
+
142
+ test('SubArray of Test 4', () => {
143
+ let sub: SubArray = new SubArray();
144
+
145
+ let array1: any[] = [];
146
+ array1.push('test');
147
+ array1.push('Driven');
148
+ array1.push('developement');
149
+ array1.push('I');
150
+ array1.push('am');
151
+ array1.push('using');
152
+ array1.push('eclipse');
153
+ array1.push('I');
154
+ array1.push('to');
155
+ array1.push('test');
156
+ array1.push('the');
157
+ array1.push('changes');
158
+ array1.push('with');
159
+ array1.push('test');
160
+ array1.push('Driven');
161
+ array1.push('developement');
162
+
163
+ let array2: any[] = [];
164
+ array2.push('test');
165
+ array2.push('Driven');
166
+ array2.push('developement');
167
+ array2.push('I');
168
+ array2.push('am');
169
+ array2.push('using');
170
+ array2.push('eclipse');
171
+ array2.push('I');
172
+ array2.push('to');
173
+ array2.push('test');
174
+ array2.push('the');
175
+ array2.push('changes');
176
+ array2.push('with');
177
+
178
+ let array3: any[] = [];
179
+
180
+ array3.push('test');
181
+ array3.push('Driven');
182
+ array3.push('developement');
183
+ array3.push('I');
184
+ array3.push('am');
185
+ array3.push('using');
186
+ array3.push('eclipse');
187
+ array3.push('I');
188
+ array3.push('to');
189
+ array3.push('test');
190
+ array3.push('the');
191
+ array3.push('changes');
192
+ array3.push('with');
193
+ array3.push('test');
194
+ array3.push('Driven');
195
+ array3.push('developement');
196
+
197
+ let array4: any[] = [];
198
+ array4.push('test');
199
+ array4.push('Driven');
200
+ array4.push('developement');
201
+ array4.push('I');
202
+ array4.push('am');
203
+ array4.push('using');
204
+ array4.push('eclipse');
205
+ array4.push('I');
206
+ array4.push('to');
207
+
208
+ let array: any[] = [];
209
+ array.push(array2);
210
+ array.push(array4);
211
+ array.push(array1);
212
+ array.push(array1);
213
+ array.push(array1);
214
+ array.push(array3);
215
+ array.push(array2);
216
+ array.push(array4);
217
+ array.push(array1);
218
+ array.push(array1);
219
+ array.push(array4);
220
+
221
+ let res: any[] = [];
222
+ res.push(array2);
223
+ res.push(array4);
224
+ res.push(array1);
225
+
226
+ let fep: FunctionExecutionParameters = new FunctionExecutionParameters().setArguments(
227
+ new Map<string, any>([
228
+ [SubArray.PARAMETER_ARRAY_SOURCE.getParameterName(), array],
229
+ // [SubArray.PARAMETER_INT_FIND_FROM.getParameterName(), 2],
230
+ [SubArray.PARAMETER_INT_LENGTH.getParameterName(), 3],
231
+ ]),
232
+ );
233
+ expect(
234
+ sub.execute(fep).allResults()[0].getResult().get(SubArray.EVENT_RESULT_ARRAY.getName()),
235
+ ).toStrictEqual(res);
236
+ });
@@ -0,0 +1,12 @@
1
+ import { Add } from '../../../../../src/engine/function/system/math/Add';
2
+ import { FunctionExecutionParameters } from '../../../../../src/engine/runtime/FunctionExecutionParameters';
3
+
4
+ const add: Add = new Add();
5
+
6
+ test('add test 1', () => {
7
+ let fep: FunctionExecutionParameters = new FunctionExecutionParameters().setArguments(
8
+ new Map([['value', [1, 2, 3, 4, 5, 6, 5.5]]]),
9
+ );
10
+
11
+ expect(add.execute(fep).allResults()[0].getResult().get('value')).toBe(26.5);
12
+ });