This is an automated email from the ASF dual-hosted git repository.

zehnder pushed a commit to branch refactor-migrate-processing-element-tests
in repository https://gitbox.apache.org/repos/asf/streampipes.git

commit b03824d46c74eff387c677254bb1d90139b2769d
Author: Philipp Zehnder <[email protected]>
AuthorDate: Tue Mar 17 13:12:55 2026 +0100

    refactor: migrate pipeline element e2e cases
---
 .../jvm/processor/math/MathOpProcessorTest.java    |  62 +++++-
 .../staticmathop/StaticMathOpProcessorTest.java    |  85 +++++++++
 .../trigonometry/TrigonometryProcessorTest.java    |  86 +++++++++
 .../valuechange/ValueChangeProcessorTest.java      |  69 +++++++
 .../booleanfilter/TestBooleanFilterProcessor.java  |  70 +++++++
 .../processor/limit/RateLimitProcessorTest.java    |  64 +++++++
 .../NumericalFilterProcessorTest.java              |  35 +++-
 .../projection/TestProjectionProcessor.java        |  51 +++--
 .../textfilter/TestTextFilterProcessor.java        |  71 +++++++
 .../threshold/TestThresholdDetectionProcessor.java |  47 ++++-
 .../array/count/CountArrayProcessorTest.java       |  55 ++++++
 .../array/split/SplitArrayProcessorTest.java}      |  47 ++---
 .../counter/TestBooleanCounterProcessor.java       | 207 +++++++--------------
 .../edge/SignalEdgeFilterProcessorTest.java        |  65 +++++++
 .../inverter/BooleanInverterProcessorTest.java     |  67 +++++++
 .../fieldrename/FiledRenameProcessorTest.java      |  68 +++++++
 .../processor/hasher/FieldHasherProcessorTest.java |  75 ++++++++
 .../mapper/FieldMapperProcessorTest.java}          |  46 ++---
 .../executors/ProcessingElementTestExecutor.java   |  24 +--
 .../enrich-jvm/math1/description.json              |  20 --
 .../pipelineElement/enrich-jvm/math1/expected.csv  |   3 -
 .../pipelineElement/enrich-jvm/math1/input.csv     |   3 -
 .../enrich-jvm/math2/description.json              |  20 --
 .../pipelineElement/enrich-jvm/math2/expected.csv  |   3 -
 .../pipelineElement/enrich-jvm/math2/input.csv     |   3 -
 .../enrich-jvm/math3/description.json              |  20 --
 .../pipelineElement/enrich-jvm/math3/expected.csv  |   3 -
 .../pipelineElement/enrich-jvm/math3/input.csv     |   3 -
 .../enrich-jvm/staticmath1/description.json        |  20 --
 .../enrich-jvm/staticmath1/expected.csv            |   3 -
 .../enrich-jvm/staticmath1/input.csv               |   3 -
 .../enrich-jvm/staticmath2/description.json        |  20 --
 .../enrich-jvm/staticmath2/expected.csv            |   3 -
 .../enrich-jvm/staticmath2/input.csv               |   3 -
 .../enrich-jvm/trigonometry1/description.json      |  15 --
 .../enrich-jvm/trigonometry1/expected.csv          |   3 -
 .../enrich-jvm/trigonometry1/input.csv             |   3 -
 .../enrich-jvm/trigonometry2/description.json      |  15 --
 .../enrich-jvm/trigonometry2/expected.csv          |   3 -
 .../enrich-jvm/trigonometry2/input.csv             |   3 -
 .../enrich-jvm/valueChange1/description.json       |  20 --
 .../enrich-jvm/valueChange1/expected.csv           |  11 --
 .../enrich-jvm/valueChange1/input.csv              |  11 --
 .../filters-jvm/booleanFilter1/description.json    |  15 --
 .../filters-jvm/booleanFilter1/expected.csv        |   6 -
 .../filters-jvm/booleanFilter1/input.csv           |  11 --
 .../filters-jvm/booleanFilter2/description.json    |  15 --
 .../filters-jvm/booleanFilter2/expected.csv        |   6 -
 .../filters-jvm/booleanFilter2/input.csv           |  11 --
 .../filters-jvm/numericalFilter1/description.json  |  12 --
 .../filters-jvm/numericalFilter1/expected.csv      |   6 -
 .../filters-jvm/numericalFilter1/input.csv         |  11 --
 .../filters-jvm/projection1/description.json       |  15 --
 .../filters-jvm/projection1/expected.csv           |   6 -
 .../filters-jvm/projection1/input.csv              |   6 -
 .../filters-jvm/rateLimit1/description.json        |  25 ---
 .../filters-jvm/rateLimit1/expected.csv            |   3 -
 .../filters-jvm/rateLimit1/input.csv               |  12 --
 .../filters-jvm/textFilter1/description.json       |   8 -
 .../filters-jvm/textFilter1/expected.csv           |   4 -
 .../filters-jvm/textFilter1/input.csv              |  11 --
 .../filters-jvm/textFilter2/description.json       |   8 -
 .../filters-jvm/textFilter2/expected.csv           |   5 -
 .../filters-jvm/textFilter2/input.csv              |  11 --
 .../thresholdDetection1/description.json           |  20 --
 .../filters-jvm/thresholdDetection1/expected.csv   |  11 --
 .../filters-jvm/thresholdDetection1/input.csv      |  11 --
 .../booleanCounter1/description.json               |   7 -
 .../booleanCounter1/expected.csv                   |   6 -
 .../transformation-jvm/booleanCounter1/input.csv   |  11 --
 .../booleanCounter2/description.json               |  15 --
 .../booleanCounter2/expected.csv                   |   8 -
 .../transformation-jvm/booleanCounter2/input.csv   |  11 --
 .../booleanInverter1/description.json              |  10 -
 .../booleanInverter1/expected.csv                  |  11 --
 .../transformation-jvm/booleanInverter1/input.csv  |  11 --
 .../countArray1/description.json                   |   6 -
 .../transformation-jvm/countArray1/expected.csv    |   5 -
 .../transformation-jvm/countArray1/input.json      |   6 -
 .../fieldHasher1/description.json                  |  11 --
 .../transformation-jvm/fieldHasher1/expected.csv   |   3 -
 .../transformation-jvm/fieldHasher1/input.csv      |   3 -
 .../fieldHasher2/description.json                  |  11 --
 .../transformation-jvm/fieldHasher2/expected.csv   |   3 -
 .../transformation-jvm/fieldHasher2/input.csv      |   5 -
 .../fieldMapper1/description.json                  |   8 -
 .../transformation-jvm/fieldMapper1/expected.csv   |   3 -
 .../transformation-jvm/fieldMapper1/input.csv      |   5 -
 .../fieldRenamer1/description.json                 |   7 -
 .../transformation-jvm/fieldRenamer1/expected.csv  |  11 --
 .../transformation-jvm/fieldRenamer1/input.csv     |  11 --
 .../signalEdgeFilter1/description.json             |  13 --
 .../signalEdgeFilter1/expected.csv                 |   6 -
 .../transformation-jvm/signalEdgeFilter1/input.csv |  11 --
 .../splitArray1/description.json                   |  11 --
 .../transformation-jvm/splitArray1/expected.csv    |   3 -
 .../transformation-jvm/splitArray1/input.json      |   4 -
 ui/cypress/plugins/index.ts                        |  17 +-
 98 files changed, 1075 insertions(+), 935 deletions(-)

diff --git 
a/streampipes-extensions/streampipes-processors-enricher-jvm/src/test/java/org/apache/streampipes/processors/enricher/jvm/processor/math/MathOpProcessorTest.java
 
b/streampipes-extensions/streampipes-processors-enricher-jvm/src/test/java/org/apache/streampipes/processors/enricher/jvm/processor/math/MathOpProcessorTest.java
index fb2a1d5666..1a54cc96a3 100644
--- 
a/streampipes-extensions/streampipes-processors-enricher-jvm/src/test/java/org/apache/streampipes/processors/enricher/jvm/processor/math/MathOpProcessorTest.java
+++ 
b/streampipes-extensions/streampipes-processors-enricher-jvm/src/test/java/org/apache/streampipes/processors/enricher/jvm/processor/math/MathOpProcessorTest.java
@@ -118,4 +118,64 @@ public class MathOpProcessorTest{
 
     testExecutor.run(inputEvents, outputEvents);
   }
-}
\ No newline at end of file
+
+  @Test
+  public void math1() {
+    executeFixtureTest(
+        "+",
+        List.of(
+            Map.of("timestamp", 1623871499055L, "temperature1", 2.0d, 
"temperature2", 3.0d),
+            Map.of("timestamp", 1623871500059L, "temperature1", 3.0d, 
"temperature2", 4.0d)
+        ),
+        List.of(
+            Map.of("timestamp", 1623871499055L, "temperature1", 2.0d, 
"temperature2", 3.0d, "calculationResult", 5.0d),
+            Map.of("timestamp", 1623871500059L, "temperature1", 3.0d, 
"temperature2", 4.0d, "calculationResult", 7.0d)
+        )
+    );
+  }
+
+  @Test
+  public void math2() {
+    executeFixtureTest(
+        "/",
+        List.of(
+            Map.of("timestamp", 1623871499055L, "temperature1", 4.0d, 
"temperature2", 4.0d),
+            Map.of("timestamp", 1623871500059L, "temperature1", 100.0d, 
"temperature2", 5.0d)
+        ),
+        List.of(
+            Map.of("timestamp", 1623871499055L, "temperature1", 4.0d, 
"temperature2", 4.0d, "calculationResult", 1.0d),
+            Map.of("timestamp", 1623871500059L, "temperature1", 100.0d, 
"temperature2", 5.0d, "calculationResult", 20.0d)
+        )
+    );
+  }
+
+  @Test
+  public void math3() {
+    executeFixtureTest(
+        "*",
+        List.of(
+            Map.of("timestamp", 1623871499055L, "temperature1", 4.0d, 
"temperature2", 2.0d),
+            Map.of("timestamp", 1623871500059L, "temperature1", 3.5d, 
"temperature2", 5.0d)
+        ),
+        List.of(
+            Map.of("timestamp", 1623871499055L, "temperature1", 4.0d, 
"temperature2", 2.0d, "calculationResult", 8.0d),
+            Map.of("timestamp", 1623871500059L, "temperature1", 3.5d, 
"temperature2", 5.0d, "calculationResult", 17.5d)
+        )
+    );
+  }
+
+  private void executeFixtureTest(
+      String operation,
+      List<Map<String, Object>> inputEvents,
+      List<Map<String, Object>> outputEvents
+  ) {
+    TestConfiguration configuration = TestConfiguration.builder()
+        .configWithDefaultPrefix(MathOpProcessor.LEFT_OPERAND, "temperature1")
+        .configWithDefaultPrefix(MathOpProcessor.RIGHT_OPERAND, "temperature2")
+        .config(MathOpProcessor.OPERATION, operation)
+        .build();
+
+    ProcessingElementTestExecutor testExecutor = new 
ProcessingElementTestExecutor(processor, configuration);
+    testExecutor.run(inputEvents, outputEvents);
+  }
+}
diff --git 
a/streampipes-extensions/streampipes-processors-enricher-jvm/src/test/java/org/apache/streampipes/processors/enricher/jvm/processor/math/staticmathop/StaticMathOpProcessorTest.java
 
b/streampipes-extensions/streampipes-processors-enricher-jvm/src/test/java/org/apache/streampipes/processors/enricher/jvm/processor/math/staticmathop/StaticMathOpProcessorTest.java
new file mode 100644
index 0000000000..ca9f5df667
--- /dev/null
+++ 
b/streampipes-extensions/streampipes-processors-enricher-jvm/src/test/java/org/apache/streampipes/processors/enricher/jvm/processor/math/staticmathop/StaticMathOpProcessorTest.java
@@ -0,0 +1,85 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package 
org.apache.streampipes.processors.enricher.jvm.processor.math.staticmathop;
+
+import org.apache.streampipes.test.executors.ProcessingElementTestExecutor;
+import org.apache.streampipes.test.executors.TestConfiguration;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import java.util.List;
+import java.util.Map;
+
+class StaticMathOpProcessorTest {
+
+  private StaticMathOpProcessor processor;
+
+  @BeforeEach
+  void setUp() {
+    processor = new StaticMathOpProcessor();
+  }
+
+  @Test
+  void staticmath1() {
+    executeFixtureTest(
+        "*",
+        5.0d,
+        List.of(
+            Map.of("timestamp", 1623871499055L, "temperature1", 4.0d),
+            Map.of("timestamp", 1623871500059L, "temperature1", 3.5d)
+        ),
+        List.of(
+            Map.of("timestamp", 1623871499055L, "temperature1", 20.0d),
+            Map.of("timestamp", 1623871500059L, "temperature1", 17.5d)
+        )
+    );
+  }
+
+  @Test
+  void staticmath2() {
+    executeFixtureTest(
+        "/",
+        1.5d,
+        List.of(
+            Map.of("timestamp", 1623871499055L, "temperature1", 6.0d),
+            Map.of("timestamp", 1623871500059L, "temperature1", 3.0d)
+        ),
+        List.of(
+            Map.of("timestamp", 1623871499055L, "temperature1", 4.0d),
+            Map.of("timestamp", 1623871500059L, "temperature1", 2.0d)
+        )
+    );
+  }
+
+  private void executeFixtureTest(
+      String operation,
+      double rightOperand,
+      List<Map<String, Object>> inputEvents,
+      List<Map<String, Object>> outputEvents
+  ) {
+    TestConfiguration configuration = TestConfiguration.builder()
+        .configWithDefaultPrefix("leftOperand", "temperature1")
+        .config("rightOperandValue", rightOperand)
+        .config("operation", operation)
+        .build();
+
+    ProcessingElementTestExecutor testExecutor = new 
ProcessingElementTestExecutor(processor, configuration);
+    testExecutor.run(inputEvents, outputEvents);
+  }
+}
diff --git 
a/streampipes-extensions/streampipes-processors-enricher-jvm/src/test/java/org/apache/streampipes/processors/enricher/jvm/processor/trigonometry/TrigonometryProcessorTest.java
 
b/streampipes-extensions/streampipes-processors-enricher-jvm/src/test/java/org/apache/streampipes/processors/enricher/jvm/processor/trigonometry/TrigonometryProcessorTest.java
new file mode 100644
index 0000000000..67d90e93df
--- /dev/null
+++ 
b/streampipes-extensions/streampipes-processors-enricher-jvm/src/test/java/org/apache/streampipes/processors/enricher/jvm/processor/trigonometry/TrigonometryProcessorTest.java
@@ -0,0 +1,86 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.streampipes.processors.enricher.jvm.processor.trigonometry;
+
+import org.apache.streampipes.test.executors.Approx;
+import org.apache.streampipes.test.executors.ProcessingElementTestExecutor;
+import org.apache.streampipes.test.executors.TestConfiguration;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import java.util.List;
+import java.util.Map;
+
+class TrigonometryProcessorTest {
+
+  private TrigonometryProcessor processor;
+
+  @BeforeEach
+  void setUp() {
+    processor = new TrigonometryProcessor();
+  }
+
+  @Test
+  void trigonometry1() {
+    executeFixtureTest(
+        "sin",
+        List.of(
+            Map.of("timestamp", 1623871499055L, "temperature1", 90.0d),
+            Map.of("timestamp", 1623871500059L, "temperature1", 180.0d)
+        ),
+        List.of(
+            Map.of("timestamp", 1623871499055L, "temperature1", 90.0d,
+                "trigonometryResult", new Approx(0.8939966636005579d, 
0.0000000001d)),
+            Map.of("timestamp", 1623871500059L, "temperature1", 180.0d,
+                "trigonometryResult", new Approx(-0.8011526357338304d, 
0.0000000001d))
+        )
+    );
+  }
+
+  @Test
+  void trigonometry2() {
+    executeFixtureTest(
+        "cos",
+        List.of(
+            Map.of("timestamp", 1623871499055L, "temperature1", 120.0d),
+            Map.of("timestamp", 1623871500059L, "temperature1", 150.0d)
+        ),
+        List.of(
+            Map.of("timestamp", 1623871499055L, "temperature1", 120.0d,
+                "trigonometryResult", new Approx(0.8141809705265618d, 
0.0000000001d)),
+            Map.of("timestamp", 1623871500059L, "temperature1", 150.0d,
+                "trigonometryResult", new Approx(0.6992508064783751d, 
0.0000000001d))
+        )
+    );
+  }
+
+  private void executeFixtureTest(
+      String operation,
+      List<Map<String, Object>> inputEvents,
+      List<Map<String, Object>> outputEvents
+  ) {
+    TestConfiguration configuration = TestConfiguration.builder()
+        .configWithDefaultPrefix("operand", "temperature1")
+        .config("operation", operation)
+        .build();
+
+    ProcessingElementTestExecutor testExecutor = new 
ProcessingElementTestExecutor(processor, configuration);
+    testExecutor.run(inputEvents, outputEvents);
+  }
+}
diff --git 
a/streampipes-extensions/streampipes-processors-enricher-jvm/src/test/java/org/apache/streampipes/processors/enricher/jvm/processor/valuechange/ValueChangeProcessorTest.java
 
b/streampipes-extensions/streampipes-processors-enricher-jvm/src/test/java/org/apache/streampipes/processors/enricher/jvm/processor/valuechange/ValueChangeProcessorTest.java
new file mode 100644
index 0000000000..ecbec67bce
--- /dev/null
+++ 
b/streampipes-extensions/streampipes-processors-enricher-jvm/src/test/java/org/apache/streampipes/processors/enricher/jvm/processor/valuechange/ValueChangeProcessorTest.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.streampipes.processors.enricher.jvm.processor.valuechange;
+
+import org.apache.streampipes.test.executors.ProcessingElementTestExecutor;
+import org.apache.streampipes.test.executors.TestConfiguration;
+
+import org.junit.jupiter.api.Test;
+
+import java.util.List;
+import java.util.Map;
+
+class ValueChangeProcessorTest {
+
+  @Test
+  void valueChange1() {
+    TestConfiguration configuration = TestConfiguration.builder()
+        .configWithDefaultPrefix("change-value-mapping", "numberlist")
+        .config("from-property-value", 3.0f)
+        .config("to-property-value", 4.0f)
+        .build();
+
+    List<Map<String, Object>> inputEvents = List.of(
+        Map.of("timestamp", 1623871499055L, "numberlist", 2.0f),
+        Map.of("timestamp", 1623871500059L, "numberlist", 3.0f),
+        Map.of("timestamp", 1623871501064L, "numberlist", 4.0f),
+        Map.of("timestamp", 1623871502070L, "numberlist", 5.0f),
+        Map.of("timestamp", 1623871503078L, "numberlist", 2.0f),
+        Map.of("timestamp", 1623871504082L, "numberlist", 3.0f),
+        Map.of("timestamp", 1623871505084L, "numberlist", 4.0f),
+        Map.of("timestamp", 1623871506086L, "numberlist", 5.0f),
+        Map.of("timestamp", 1623871507091L, "numberlist", 6.0f),
+        Map.of("timestamp", 1623871508093L, "numberlist", 7.0f)
+    );
+
+    List<Map<String, Object>> expectedEvents = List.of(
+        Map.of("timestamp", 1623871499055L, "numberlist", 2.0f, "isChanged", 
false),
+        Map.of("timestamp", 1623871500059L, "numberlist", 3.0f, "isChanged", 
false),
+        Map.of("timestamp", 1623871501064L, "numberlist", 4.0f, "isChanged", 
true),
+        Map.of("timestamp", 1623871502070L, "numberlist", 5.0f, "isChanged", 
false),
+        Map.of("timestamp", 1623871503078L, "numberlist", 2.0f, "isChanged", 
false),
+        Map.of("timestamp", 1623871504082L, "numberlist", 3.0f, "isChanged", 
false),
+        Map.of("timestamp", 1623871505084L, "numberlist", 4.0f, "isChanged", 
true),
+        Map.of("timestamp", 1623871506086L, "numberlist", 5.0f, "isChanged", 
false),
+        Map.of("timestamp", 1623871507091L, "numberlist", 6.0f, "isChanged", 
false),
+        Map.of("timestamp", 1623871508093L, "numberlist", 7.0f, "isChanged", 
false)
+    );
+
+    ProcessingElementTestExecutor testExecutor =
+        new ProcessingElementTestExecutor(new ValueChangeProcessor(), 
configuration);
+
+    testExecutor.run(inputEvents, expectedEvents);
+  }
+}
diff --git 
a/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/booleanfilter/TestBooleanFilterProcessor.java
 
b/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/booleanfilter/TestBooleanFilterProcessor.java
index a6d1a73727..f6cb56254d 100644
--- 
a/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/booleanfilter/TestBooleanFilterProcessor.java
+++ 
b/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/booleanfilter/TestBooleanFilterProcessor.java
@@ -22,6 +22,7 @@ import 
org.apache.streampipes.test.executors.ProcessingElementTestExecutor;
 import org.apache.streampipes.test.executors.TestConfiguration;
 
 import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.Arguments;
 import org.junit.jupiter.params.provider.MethodSource;
@@ -94,4 +95,73 @@ public class TestBooleanFilterProcessor {
             Collections.emptyList())
     );
   }
+
+  @Test
+  public void booleanFilter1() {
+    executeFixtureTest(
+        "randomboolean",
+        "True",
+        List.of(
+            Map.of("timestamp", 1623871499055L, "randomboolean", false),
+            Map.of("timestamp", 1623871500059L, "randomboolean", false),
+            Map.of("timestamp", 1623871501064L, "randomboolean", true),
+            Map.of("timestamp", 1623871502070L, "randomboolean", false),
+            Map.of("timestamp", 1623871503078L, "randomboolean", true),
+            Map.of("timestamp", 1623871504082L, "randomboolean", false),
+            Map.of("timestamp", 1623871505084L, "randomboolean", true),
+            Map.of("timestamp", 1623871506086L, "randomboolean", false),
+            Map.of("timestamp", 1623871507091L, "randomboolean", true),
+            Map.of("timestamp", 1623871508093L, "randomboolean", true)
+        ),
+        List.of(
+            Map.of("timestamp", 1623871501064L, "randomboolean", true),
+            Map.of("timestamp", 1623871503078L, "randomboolean", true),
+            Map.of("timestamp", 1623871505084L, "randomboolean", true),
+            Map.of("timestamp", 1623871507091L, "randomboolean", true),
+            Map.of("timestamp", 1623871508093L, "randomboolean", true)
+        )
+    );
+  }
+
+  @Test
+  public void booleanFilter2() {
+    executeFixtureTest(
+        "randomboolean",
+        "False",
+        List.of(
+            Map.of("timestamp", 1623871499055L, "randomboolean", false),
+            Map.of("timestamp", 1623871500059L, "randomboolean", false),
+            Map.of("timestamp", 1623871501064L, "randomboolean", true),
+            Map.of("timestamp", 1623871502070L, "randomboolean", false),
+            Map.of("timestamp", 1623871503078L, "randomboolean", true),
+            Map.of("timestamp", 1623871504082L, "randomboolean", false),
+            Map.of("timestamp", 1623871505084L, "randomboolean", true),
+            Map.of("timestamp", 1623871506086L, "randomboolean", false),
+            Map.of("timestamp", 1623871507091L, "randomboolean", true),
+            Map.of("timestamp", 1623871508093L, "randomboolean", true)
+        ),
+        List.of(
+            Map.of("timestamp", 1623871499055L, "randomboolean", false),
+            Map.of("timestamp", 1623871500059L, "randomboolean", false),
+            Map.of("timestamp", 1623871502070L, "randomboolean", false),
+            Map.of("timestamp", 1623871504082L, "randomboolean", false),
+            Map.of("timestamp", 1623871506086L, "randomboolean", false)
+        )
+    );
+  }
+
+  private void executeFixtureTest(
+      String fieldName,
+      String valueToKeep,
+      List<Map<String, Object>> events,
+      List<Map<String, Object>> outputEvents
+  ) {
+    TestConfiguration configuration = TestConfiguration.builder()
+        .configWithDefaultPrefix(BooleanFilterProcessor.BOOLEAN_MAPPING, 
fieldName)
+        .config(BooleanFilterProcessor.VALUE, valueToKeep)
+        .build();
+
+    ProcessingElementTestExecutor testExecutor = new 
ProcessingElementTestExecutor(processor, configuration);
+    testExecutor.run(events, outputEvents);
+  }
 }
diff --git 
a/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/limit/RateLimitProcessorTest.java
 
b/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/limit/RateLimitProcessorTest.java
new file mode 100644
index 0000000000..eeefb3b84d
--- /dev/null
+++ 
b/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/limit/RateLimitProcessorTest.java
@@ -0,0 +1,64 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.streampipes.processors.filters.jvm.processor.limit;
+
+import org.apache.streampipes.test.executors.ProcessingElementTestExecutor;
+import org.apache.streampipes.test.executors.TestConfiguration;
+
+import org.junit.jupiter.api.Test;
+
+import java.util.List;
+import java.util.Map;
+
+class RateLimitProcessorTest {
+
+  @Test
+  void rateLimit1() {
+    TestConfiguration configuration = TestConfiguration.builder()
+        .config("grouping-enabled", "False")
+        .configWithDefaultPrefix("grouping-field", "randomnumber")
+        .config("window-type", "length-window")
+        .config("length-window-size", 5)
+        .config("event-selection", "Last")
+        .build();
+
+    List<Map<String, Object>> inputEvents = List.of(
+        Map.of("timestamp", 1623871490000L, "randomnumber", 62.0d),
+        Map.of("timestamp", 1623871491000L, "randomnumber", 46.0d),
+        Map.of("timestamp", 1623871492000L, "randomnumber", 41.0d),
+        Map.of("timestamp", 1623871493000L, "randomnumber", 41.0d),
+        Map.of("timestamp", 1623871494000L, "randomnumber", 22.0d),
+        Map.of("timestamp", 1623871495000L, "randomnumber", 56.0d),
+        Map.of("timestamp", 1623871496000L, "randomnumber", 95.0d),
+        Map.of("timestamp", 1623871497000L, "randomnumber", 77.0d),
+        Map.of("timestamp", 1623871498000L, "randomnumber", 85.0d),
+        Map.of("timestamp", 1623871499000L, "randomnumber", 26.0d),
+        Map.of("timestamp", 1623871500000L, "randomnumber", 21.0d)
+    );
+
+    List<Map<String, Object>> expectedEvents = List.of(
+        Map.of("timestamp", 1623871494000L, "randomnumber", 22.0d),
+        Map.of("timestamp", 1623871499000L, "randomnumber", 26.0d)
+    );
+
+    ProcessingElementTestExecutor testExecutor =
+        new ProcessingElementTestExecutor(new RateLimitProcessor(), 
configuration);
+
+    testExecutor.run(inputEvents, expectedEvents);
+  }
+}
diff --git 
a/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/numericalfilter/NumericalFilterProcessorTest.java
 
b/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/numericalfilter/NumericalFilterProcessorTest.java
index ed08eecd9f..5175d4bc02 100644
--- 
a/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/numericalfilter/NumericalFilterProcessorTest.java
+++ 
b/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/numericalfilter/NumericalFilterProcessorTest.java
@@ -80,4 +80,37 @@ public class NumericalFilterProcessorTest {
     testExecutor.run(inputEvents, outputEvents);
   }
 
-}
\ No newline at end of file
+  @Test
+  public void numericalFilter1() {
+    TestConfiguration configuration = TestConfiguration.builder()
+        .configWithDefaultPrefix(NumericalFilterProcessor.NUMBER_MAPPING, 
"randomnumber")
+        .config(NumericalFilterProcessor.VALUE, 50.0d)
+        .config(NumericalFilterProcessor.OPERATION, ">")
+        .build();
+
+    List<Map<String, Object>> inputEvents = List.of(
+        Map.of("timestamp", 1623871499055L, "randomnumber", 62.0d),
+        Map.of("timestamp", 1623871500059L, "randomnumber", 46.0d),
+        Map.of("timestamp", 1623871501064L, "randomnumber", 41.0d),
+        Map.of("timestamp", 1623871502070L, "randomnumber", 41.0d),
+        Map.of("timestamp", 1623871503078L, "randomnumber", 22.0d),
+        Map.of("timestamp", 1623871504082L, "randomnumber", 56.0d),
+        Map.of("timestamp", 1623871505084L, "randomnumber", 95.0d),
+        Map.of("timestamp", 1623871506086L, "randomnumber", 77.0d),
+        Map.of("timestamp", 1623871507091L, "randomnumber", 85.0d),
+        Map.of("timestamp", 1623871508093L, "randomnumber", 22.0d)
+    );
+
+    List<Map<String, Object>> outputEvents = List.of(
+        Map.of("timestamp", 1623871499055L, "randomnumber", 62.0d),
+        Map.of("timestamp", 1623871504082L, "randomnumber", 56.0d),
+        Map.of("timestamp", 1623871505084L, "randomnumber", 95.0d),
+        Map.of("timestamp", 1623871506086L, "randomnumber", 77.0d),
+        Map.of("timestamp", 1623871507091L, "randomnumber", 85.0d)
+    );
+
+    ProcessingElementTestExecutor testExecutor = new 
ProcessingElementTestExecutor(processor, configuration);
+    testExecutor.run(inputEvents, outputEvents);
+  }
+
+}
diff --git 
a/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/projection/TestProjectionProcessor.java
 
b/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/projection/TestProjectionProcessor.java
index 3bb6a98238..be831d1385 100644
--- 
a/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/projection/TestProjectionProcessor.java
+++ 
b/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/projection/TestProjectionProcessor.java
@@ -29,32 +29,59 @@ class TestProjectionProcessor {
 
 
   @Test
-  public void test() {
+  public void projection1() {
     var configuration = TestConfiguration
         .builder()
-        .customOutputStrategy(List.of("field1", "field2"))
+        .customOutputStrategy(List.of("timestamp", "a"))
         .build();
     List<Map<String, Object>> events = List.of(
         Map.of(
-            "field1", "value1",
-            "field2", "value2",
-            "field3", "ignoredValue"
+            "timestamp", 1623871499055L,
+            "remove", 62.0d,
+            "a", "a"
         ),
         Map.of(
-            "field1", "value3",
-            "field2", "value4",
-            "field3", "ignoredValue"
+            "timestamp", 1623871504082L,
+            "remove", 56.0d,
+            "a", "a"
+        ),
+        Map.of(
+            "timestamp", 1623871505084L,
+            "remove", 95.0d,
+            "a", "a"
+        ),
+        Map.of(
+            "timestamp", 1623871506086L,
+            "remove", 77.0d,
+            "a", "a"
+        ),
+        Map.of(
+            "timestamp", 1623871507091L,
+            "remove", 85.0d,
+            "a", "a"
         )
     );
 
     List<Map<String, Object>> outputEvents = List.of(
         Map.of(
-            "field1", "value1",
-            "field2", "value2"
+            "timestamp", 1623871499055L,
+            "a", "a"
+        ),
+        Map.of(
+            "timestamp", 1623871504082L,
+            "a", "a"
+        ),
+        Map.of(
+            "timestamp", 1623871505084L,
+            "a", "a"
+        ),
+        Map.of(
+            "timestamp", 1623871506086L,
+            "a", "a"
         ),
         Map.of(
-            "field1", "value3",
-            "field2", "value4"
+            "timestamp", 1623871507091L,
+            "a", "a"
         )
     );
 
diff --git 
a/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/textfilter/TestTextFilterProcessor.java
 
b/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/textfilter/TestTextFilterProcessor.java
index d283eb04ce..03e8972701 100644
--- 
a/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/textfilter/TestTextFilterProcessor.java
+++ 
b/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/textfilter/TestTextFilterProcessor.java
@@ -22,6 +22,7 @@ import 
org.apache.streampipes.test.executors.ProcessingElementTestExecutor;
 import org.apache.streampipes.test.executors.TestConfiguration;
 
 import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.Arguments;
 import org.junit.jupiter.params.provider.MethodSource;
@@ -113,4 +114,74 @@ public class TestTextFilterProcessor {
         )
     );
   }
+
+  @Test
+  public void textFilter1() {
+    executeFixtureTest(
+        "randomchar",
+        StringOperator.MATCHES,
+        "c",
+        List.of(
+            Map.of("timestamp", 1623871499055L, "randomchar", "a"),
+            Map.of("timestamp", 1623871500059L, "randomchar", "b"),
+            Map.of("timestamp", 1623871501064L, "randomchar", "c"),
+            Map.of("timestamp", 1623871502070L, "randomchar", "a"),
+            Map.of("timestamp", 1623871503078L, "randomchar", "b"),
+            Map.of("timestamp", 1623871504082L, "randomchar", "c"),
+            Map.of("timestamp", 1623871505084L, "randomchar", "a"),
+            Map.of("timestamp", 1623871506086L, "randomchar", "b"),
+            Map.of("timestamp", 1623871507091L, "randomchar", "c"),
+            Map.of("timestamp", 1623871508093L, "randomchar", "a")
+        ),
+        List.of(
+            Map.of("timestamp", 1623871501064L, "randomchar", "c"),
+            Map.of("timestamp", 1623871504082L, "randomchar", "c"),
+            Map.of("timestamp", 1623871507091L, "randomchar", "c")
+        )
+    );
+  }
+
+  @Test
+  public void textFilter2() {
+    executeFixtureTest(
+        "randomchar",
+        StringOperator.CONTAINS,
+        "app",
+        List.of(
+            Map.of("timestamp", 1623871499055L, "randomchar", "apple"),
+            Map.of("timestamp", 1623871500059L, "randomchar", "banana"),
+            Map.of("timestamp", 1623871501064L, "randomchar", "computer"),
+            Map.of("timestamp", 1623871502070L, "randomchar", "apple"),
+            Map.of("timestamp", 1623871503078L, "randomchar", "banana"),
+            Map.of("timestamp", 1623871504082L, "randomchar", "computer"),
+            Map.of("timestamp", 1623871505084L, "randomchar", "apple"),
+            Map.of("timestamp", 1623871506086L, "randomchar", "banana"),
+            Map.of("timestamp", 1623871507091L, "randomchar", "computer"),
+            Map.of("timestamp", 1623871508093L, "randomchar", "apple")
+        ),
+        List.of(
+            Map.of("timestamp", 1623871499055L, "randomchar", "apple"),
+            Map.of("timestamp", 1623871502070L, "randomchar", "apple"),
+            Map.of("timestamp", 1623871505084L, "randomchar", "apple"),
+            Map.of("timestamp", 1623871508093L, "randomchar", "apple")
+        )
+    );
+  }
+
+  private void executeFixtureTest(
+      String fieldName,
+      StringOperator operation,
+      String keyword,
+      List<Map<String, Object>> inputEvents,
+      List<Map<String, Object>> outputEvents
+  ) {
+    TestConfiguration configuration = TestConfiguration.builder()
+        .configWithDefaultPrefix(TextFilterProcessor.MAPPING_PROPERTY_ID, 
fieldName)
+        .config(TextFilterProcessor.OPERATION_ID, operation)
+        .config(TextFilterProcessor.KEYWORD_ID, keyword)
+        .build();
+
+    ProcessingElementTestExecutor testExecutor = new 
ProcessingElementTestExecutor(processor, configuration);
+    testExecutor.run(inputEvents, outputEvents);
+  }
 }
diff --git 
a/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/threshold/TestThresholdDetectionProcessor.java
 
b/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/threshold/TestThresholdDetectionProcessor.java
index ec73a64611..c4d02b7e2c 100644
--- 
a/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/threshold/TestThresholdDetectionProcessor.java
+++ 
b/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/threshold/TestThresholdDetectionProcessor.java
@@ -123,9 +123,44 @@ class TestThresholdDetectionProcessor {
     executeTest(configuration, inputEvent, expectedEvents);
   }
 
+  @Test
+  void thresholdDetection1() {
+    var configuration = createConfiguration(">", 50.0, "randomnumber");
+    var inputEvents = List.of(
+        event("timestamp", 1623871499055L, "randomnumber", 62.0d),
+        event("timestamp", 1623871500059L, "randomnumber", 46.0d),
+        event("timestamp", 1623871501064L, "randomnumber", 41.0d),
+        event("timestamp", 1623871502070L, "randomnumber", 41.0d),
+        event("timestamp", 1623871503078L, "randomnumber", 22.0d),
+        event("timestamp", 1623871504082L, "randomnumber", 56.0d),
+        event("timestamp", 1623871505084L, "randomnumber", 95.0d),
+        event("timestamp", 1623871506086L, "randomnumber", 77.0d),
+        event("timestamp", 1623871507091L, "randomnumber", 85.0d),
+        event("timestamp", 1623871508093L, "randomnumber", 22.0d)
+    );
+    var expectedEvents = List.of(
+        event("timestamp", 1623871499055L, "randomnumber", 62.0d, 
ThresholdDetectionProcessor.RESULT_FIELD, true),
+        event("timestamp", 1623871500059L, "randomnumber", 46.0d, 
ThresholdDetectionProcessor.RESULT_FIELD, false),
+        event("timestamp", 1623871501064L, "randomnumber", 41.0d, 
ThresholdDetectionProcessor.RESULT_FIELD, false),
+        event("timestamp", 1623871502070L, "randomnumber", 41.0d, 
ThresholdDetectionProcessor.RESULT_FIELD, false),
+        event("timestamp", 1623871503078L, "randomnumber", 22.0d, 
ThresholdDetectionProcessor.RESULT_FIELD, false),
+        event("timestamp", 1623871504082L, "randomnumber", 56.0d, 
ThresholdDetectionProcessor.RESULT_FIELD, true),
+        event("timestamp", 1623871505084L, "randomnumber", 95.0d, 
ThresholdDetectionProcessor.RESULT_FIELD, true),
+        event("timestamp", 1623871506086L, "randomnumber", 77.0d, 
ThresholdDetectionProcessor.RESULT_FIELD, true),
+        event("timestamp", 1623871507091L, "randomnumber", 85.0d, 
ThresholdDetectionProcessor.RESULT_FIELD, true),
+        event("timestamp", 1623871508093L, "randomnumber", 22.0d, 
ThresholdDetectionProcessor.RESULT_FIELD, false)
+    );
+
+    executeTest(configuration, inputEvents, expectedEvents);
+  }
+
   private TestConfiguration createConfiguration(String operation, double 
value) {
+    return createConfiguration(operation, value, FIELD_NAME);
+  }
+
+  private TestConfiguration createConfiguration(String operation, double 
value, String fieldName) {
     return TestConfiguration.builder()
-        .configWithDefaultPrefix(ThresholdDetectionProcessor.NUMBER_MAPPING, 
FIELD_NAME)
+        .configWithDefaultPrefix(ThresholdDetectionProcessor.NUMBER_MAPPING, 
fieldName)
         .config(ThresholdDetectionProcessor.OPERATION, operation)
         .config(ThresholdDetectionProcessor.VALUE, value)
         .build();
@@ -139,6 +174,16 @@ class TestThresholdDetectionProcessor {
     return List.of(Map.of(FIELD_NAME, value, 
ThresholdDetectionProcessor.RESULT_FIELD, thresholdDetected));
   }
 
+  private Map<String, Object> event(Object... keyValuePairs) {
+    var event = new java.util.LinkedHashMap<String, Object>();
+
+    for (int i = 0; i < keyValuePairs.length; i += 2) {
+      event.put((String) keyValuePairs[i], keyValuePairs[i + 1]);
+    }
+
+    return event;
+  }
+
   private void executeTest(
       TestConfiguration configuration,
       List<Map<String, Object>> inputEvent,
diff --git 
a/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/array/count/CountArrayProcessorTest.java
 
b/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/array/count/CountArrayProcessorTest.java
new file mode 100644
index 0000000000..93365b0de0
--- /dev/null
+++ 
b/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/array/count/CountArrayProcessorTest.java
@@ -0,0 +1,55 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package 
org.apache.streampipes.processors.transformation.jvm.processor.array.count;
+
+import org.apache.streampipes.test.executors.ProcessingElementTestExecutor;
+import org.apache.streampipes.test.executors.TestConfiguration;
+
+import org.junit.jupiter.api.Test;
+
+import java.util.List;
+import java.util.Map;
+
+class CountArrayProcessorTest {
+
+  @Test
+  void countArray1() {
+    TestConfiguration configuration = TestConfiguration.builder()
+        .configWithDefaultPrefix(CountArrayProcessor.ARRAY_FIELD, 
"arrayProperty")
+        .build();
+
+    List<Map<String, Object>> inputEvents = List.of(
+        Map.of("timestamp", 1623871499055L, "arrayProperty", List.of(1, 2, 4, 
4)),
+        Map.of("timestamp", 1623871500059L, "arrayProperty", List.of(1, 4)),
+        Map.of("timestamp", 1623871507091L, "arrayProperty", List.of(1, 3, 3, 
3, 4)),
+        Map.of("timestamp", 1623871508093L, "arrayProperty", List.of(1))
+    );
+
+    List<Map<String, Object>> expectedEvents = List.of(
+        Map.of("timestamp", 1623871499055L, "arrayProperty", List.of(1, 2, 4, 
4), CountArrayProcessor.COUNT_NAME, 4),
+        Map.of("timestamp", 1623871500059L, "arrayProperty", List.of(1, 4), 
CountArrayProcessor.COUNT_NAME, 2),
+        Map.of("timestamp", 1623871507091L, "arrayProperty", List.of(1, 3, 3, 
3, 4), CountArrayProcessor.COUNT_NAME, 5),
+        Map.of("timestamp", 1623871508093L, "arrayProperty", List.of(1), 
CountArrayProcessor.COUNT_NAME, 1)
+    );
+
+    ProcessingElementTestExecutor testExecutor =
+        new ProcessingElementTestExecutor(new CountArrayProcessor(), 
configuration);
+
+    testExecutor.run(inputEvents, expectedEvents);
+  }
+}
diff --git 
a/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/projection/TestProjectionProcessor.java
 
b/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/array/split/SplitArrayProcessorTest.java
similarity index 50%
copy from 
streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/projection/TestProjectionProcessor.java
copy to 
streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/array/split/SplitArrayProcessorTest.java
index 3bb6a98238..86fbe65507 100644
--- 
a/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/projection/TestProjectionProcessor.java
+++ 
b/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/array/split/SplitArrayProcessorTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  *
  */
-package org.apache.streampipes.processors.filters.jvm.processor.projection;
+package 
org.apache.streampipes.processors.transformation.jvm.processor.array.split;
 
 import org.apache.streampipes.test.executors.ProcessingElementTestExecutor;
 import org.apache.streampipes.test.executors.TestConfiguration;
@@ -25,42 +25,29 @@ import org.junit.jupiter.api.Test;
 import java.util.List;
 import java.util.Map;
 
-class TestProjectionProcessor {
-
+class SplitArrayProcessorTest {
 
   @Test
-  public void test() {
-    var configuration = TestConfiguration
-        .builder()
-        .customOutputStrategy(List.of("field1", "field2"))
+  void splitArray1() {
+    TestConfiguration configuration = TestConfiguration.builder()
+        .configWithDefaultPrefix(SplitArrayProcessor.ARRAY_FIELD_ID, 
"arrayProperty")
+        .config(SplitArrayProcessor.KEEP_PROPERTIES_ID, List.of("::timestamp"))
         .build();
-    List<Map<String, Object>> events = List.of(
-        Map.of(
-            "field1", "value1",
-            "field2", "value2",
-            "field3", "ignoredValue"
-        ),
-        Map.of(
-            "field1", "value3",
-            "field2", "value4",
-            "field3", "ignoredValue"
-        )
+
+    List<Map<String, Object>> inputEvents = List.of(
+        Map.of("timestamp", 1623871500059L, "arrayProperty", List.of(1, 4)),
+        Map.of("timestamp", 1623871508093L, "arrayProperty", List.of(1))
     );
 
-    List<Map<String, Object>> outputEvents = List.of(
-        Map.of(
-            "field1", "value1",
-            "field2", "value2"
-        ),
-        Map.of(
-            "field1", "value3",
-            "field2", "value4"
-        )
+    List<Map<String, Object>> expectedEvents = List.of(
+        Map.of("timestamp", 1623871500059L, SplitArrayProcessor.VALUE, 1),
+        Map.of("timestamp", 1623871500059L, SplitArrayProcessor.VALUE, 4),
+        Map.of("timestamp", 1623871508093L, SplitArrayProcessor.VALUE, 1)
     );
 
-    var testExecutor = new ProcessingElementTestExecutor(new 
ProjectionProcessor(), configuration);
+    ProcessingElementTestExecutor testExecutor =
+        new ProcessingElementTestExecutor(new SplitArrayProcessor(), 
configuration);
 
-    testExecutor.run(events, outputEvents);
+    testExecutor.run(inputEvents, expectedEvents);
   }
-
 }
diff --git 
a/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/booloperator/counter/TestBooleanCounterProcessor.java
 
b/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/booloperator/counter/TestBooleanCounterProcessor.java
index a9fb7f39c8..a20e438b54 100644
--- 
a/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/booloperator/counter/TestBooleanCounterProcessor.java
+++ 
b/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/booloperator/counter/TestBooleanCounterProcessor.java
@@ -15,158 +15,91 @@
  * limitations under the License.
  *
  */
-
 package 
org.apache.streampipes.processors.transformation.jvm.processor.booloperator.counter;
 
-import org.apache.streampipes.commons.exceptions.SpRuntimeException;
-import org.apache.streampipes.extensions.api.pe.routing.SpOutputCollector;
-import org.apache.streampipes.messaging.InternalEventProcessor;
-import org.apache.streampipes.model.graph.DataProcessorDescription;
-import org.apache.streampipes.model.graph.DataProcessorInvocation;
-import org.apache.streampipes.model.runtime.Event;
-import org.apache.streampipes.model.runtime.EventFactory;
-import org.apache.streampipes.model.runtime.SchemaInfo;
-import org.apache.streampipes.model.runtime.SourceInfo;
-import org.apache.streampipes.model.staticproperty.MappingPropertyUnary;
-import org.apache.streampipes.model.staticproperty.OneOfStaticProperty;
-import org.apache.streampipes.test.generator.EventStreamGenerator;
-import org.apache.streampipes.test.generator.InvocationGraphGenerator;
-import org.apache.streampipes.test.generator.grounding.EventGroundingGenerator;
-import org.apache.streampipes.wrapper.params.compat.ProcessorParams;
+import org.apache.streampipes.test.executors.ProcessingElementTestExecutor;
+import org.apache.streampipes.test.executors.TestConfiguration;
 
-import org.junit.jupiter.params.ParameterizedTest;
-import org.junit.jupiter.params.provider.Arguments;
-import org.junit.jupiter.params.provider.MethodSource;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.stream.Stream;
 
-import static org.junit.jupiter.api.Assertions.assertEquals;
+class TestBooleanCounterProcessor {
 
-public class TestBooleanCounterProcessor {
-  private static final Logger LOG = 
LoggerFactory.getLogger(TestBooleanCounterProcessor.class);
+  private BooleanCounterProcessor processor;
 
-  static Stream<Arguments> data() {
-    return Stream.of(
-        Arguments.of("Test", "BOTH", Arrays.asList(false, true), 1),
-        Arguments.of("Test", "BOTH", Arrays.asList(false, true, false), 2),
-        Arguments.of("Test", "BOTH", Arrays.asList(false), 0),
-        Arguments.of("Test", "TRUE -> FALSE", Arrays.asList(false, true, 
false, false, true), 2),
-        Arguments.of("Test", "TRUE -> FALSE", Arrays.asList(true, false), 1),
-        Arguments.of("Test", "TRUE -> FALSE", Arrays.asList(false), 1),
-        Arguments.of("Test", "FALSE -> TRUE", Arrays.asList(false), 0),
-        Arguments.of("Test", "FALSE -> TRUE", Arrays.asList(false, false, 
true), 1),
-        Arguments.of("Test", "FALSE -> TRUE", Arrays.asList(false, false, 
true), 1),
-        Arguments.of("Test", "FALSE -> TRUE", Arrays.asList(false, true, true, 
false), 1)
-    );
+  @BeforeEach
+  void setUp() {
+    processor = new BooleanCounterProcessor();
   }
 
-  //  /**
-//   * flankUp defines which boolean changes should be counted
-//   * 0: BOTH
-//   * 1: TRUE -> FALSE
-//   * 2: FALSE -> TRUE
-//   */
-  @ParameterizedTest
-  @MethodSource("data")
-  public void testBooleanCounter(
-      String invertFieldName,
-      String flankUp,
-      List<Boolean> eventBooleans,
-      Integer expectedBooleanCount
-  ) {
-    BooleanCounterProcessor booleanCounter = new BooleanCounterProcessor();
-    DataProcessorDescription originalGraph = 
booleanCounter.declareConfig().getDescription();
-    
originalGraph.setSupportedGrounding(EventGroundingGenerator.makeDummyGrounding());
-
-    DataProcessorInvocation graph =
-            InvocationGraphGenerator.makeEmptyInvocation(originalGraph);
-
-    graph.setInputStreams(Collections
-            .singletonList(EventStreamGenerator
-                    
.makeStreamWithProperties(Collections.singletonList(invertFieldName))));
-
-    
graph.setOutputStream(EventStreamGenerator.makeStreamWithProperties(Collections.singletonList(invertFieldName)));
-
-    
graph.getOutputStream().getEventGrounding().getTransportProtocol().getTopicDefinition()
-            .setActualTopicName("output-topic");
-
-    graph.getStaticProperties().stream()
-            .filter(p -> p instanceof MappingPropertyUnary)
-            .map((p -> (MappingPropertyUnary) p))
-            .filter(p -> 
p.getInternalName().equals(BooleanCounterProcessor.FIELD_ID))
-            .findFirst().get().setSelectedProperty("s0::" + invertFieldName);
-    ProcessorParams params = new ProcessorParams(graph);
-    params.extractor().getStaticPropertyByName("flank", 
OneOfStaticProperty.class).getOptions()
-            .stream().filter(ot -> ot.getName().equals(flankUp)).findFirst()
-            .get().setSelected(true);
-
-
-    SpOutputCollector spOut = new SpOutputCollector() {
-      @Override
-      public void collect(Event event) {}
-      @Override
-      public void registerConsumer(String routeId, 
InternalEventProcessor<Map<String, Object>> consumer) {}
-      @Override
-      public void unregisterConsumer(String routeId) {}
-      @Override
-      public void connect() throws SpRuntimeException {}
-      @Override
-      public void disconnect() throws SpRuntimeException {}
-    };
-
-    booleanCounter.onPipelineStarted(params, spOut, null);
-    Integer counter = sendEvents(booleanCounter, spOut, eventBooleans, 
invertFieldName);
-    LOG.info("Expected match count is {}", expectedBooleanCount);
-    LOG.info("Actual match count is {}", counter);
-    assertEquals(expectedBooleanCount, counter);
+  @Test
+  void booleanCounter1() {
+    executeFixtureTest(
+        "booleanToCount",
+        List.of(
+            Map.of("timestamp", 1623871499055L, "booleanToCount", true),
+            Map.of("timestamp", 1623871500059L, "booleanToCount", true),
+            Map.of("timestamp", 1623871501064L, "booleanToCount", true),
+            Map.of("timestamp", 1623871502070L, "booleanToCount", false),
+            Map.of("timestamp", 1623871503078L, "booleanToCount", false),
+            Map.of("timestamp", 1623871504082L, "booleanToCount", false),
+            Map.of("timestamp", 1623871505084L, "booleanToCount", true),
+            Map.of("timestamp", 1623871506086L, "booleanToCount", true),
+            Map.of("timestamp", 1623871507091L, "booleanToCount", false),
+            Map.of("timestamp", 1623871508093L, "booleanToCount", true)
+        ),
+        List.of(
+            Map.of("timestamp", 1623871499055L, "booleanToCount", true, 
"counter", 1),
+            Map.of("timestamp", 1623871502070L, "booleanToCount", false, 
"counter", 2),
+            Map.of("timestamp", 1623871505084L, "booleanToCount", true, 
"counter", 3),
+            Map.of("timestamp", 1623871507091L, "booleanToCount", false, 
"counter", 4),
+            Map.of("timestamp", 1623871508093L, "booleanToCount", true, 
"counter", 5)
+        )
+    );
   }
 
-  private Integer sendEvents(BooleanCounterProcessor booleanCounter, 
SpOutputCollector spOut,
-                             List<Boolean> eventBooleans, String 
invertFieldName) {
-    int counter = 0;
-    List<Event> events = makeEvents(eventBooleans, invertFieldName);
-    for (Event event : events) {
-      LOG.info("Sending event with value "
-          + event.getFieldBySelector("s0::" + 
invertFieldName).getAsPrimitive().getAsBoolean());
-      booleanCounter.onEvent(event, spOut);
-      try {
-        Thread.sleep(100);
-      } catch (InterruptedException e) {
-        e.printStackTrace();
-      }
-      try {
-        counter = 
event.getFieldBySelector(BooleanCounterProcessor.COUNT_FIELD_RUNTIME_NAME)
-                .getAsPrimitive()
-                .getAsInt();
-      } catch (IllegalArgumentException e) {
-
-      }
-    }
-
-    return counter;
+  @Test
+  void booleanCounter2() {
+    executeFixtureTest(
+        "randomboolean",
+        List.of(
+            Map.of("timestamp", 1623871499055L, "randomboolean", false),
+            Map.of("timestamp", 1623871500059L, "randomboolean", false),
+            Map.of("timestamp", 1623871501064L, "randomboolean", true),
+            Map.of("timestamp", 1623871502070L, "randomboolean", false),
+            Map.of("timestamp", 1623871503078L, "randomboolean", true),
+            Map.of("timestamp", 1623871504082L, "randomboolean", false),
+            Map.of("timestamp", 1623871505084L, "randomboolean", true),
+            Map.of("timestamp", 1623871506086L, "randomboolean", false),
+            Map.of("timestamp", 1623871507091L, "randomboolean", true),
+            Map.of("timestamp", 1623871508093L, "randomboolean", true)
+        ),
+        List.of(
+            Map.of("timestamp", 1623871501064L, "randomboolean", true, 
"counter", 1),
+            Map.of("timestamp", 1623871502070L, "randomboolean", false, 
"counter", 2),
+            Map.of("timestamp", 1623871503078L, "randomboolean", true, 
"counter", 3),
+            Map.of("timestamp", 1623871504082L, "randomboolean", false, 
"counter", 4),
+            Map.of("timestamp", 1623871505084L, "randomboolean", true, 
"counter", 5),
+            Map.of("timestamp", 1623871506086L, "randomboolean", false, 
"counter", 6),
+            Map.of("timestamp", 1623871507091L, "randomboolean", true, 
"counter", 7)
+        )
+    );
   }
 
-  private List<Event> makeEvents(List<Boolean> eventBooleans, String 
invertFieldName) {
-    List<Event> events = new ArrayList<>();
-    for (Boolean eventSetting : eventBooleans) {
-      events.add(makeEvent(eventSetting, invertFieldName));
-    }
-    return events;
-  }
+  private void executeFixtureTest(
+      String fieldName,
+      List<Map<String, Object>> inputEvents,
+      List<Map<String, Object>> expectedEvents
+  ) {
+    TestConfiguration configuration = TestConfiguration.builder()
+        .configWithDefaultPrefix(BooleanCounterProcessor.FIELD_ID, fieldName)
+        .config(BooleanCounterProcessor.FLANK_ID, "BOTH")
+        .build();
 
-  private Event makeEvent(Boolean value, String invertFieldName) {
-    Map<String, Object> map = new HashMap<>();
-    map.put(invertFieldName, value);
-    return EventFactory.fromMap(map,
-            new SourceInfo("test" + "-topic", "s0"),
-            new SchemaInfo(null, new ArrayList<>()));
+    ProcessingElementTestExecutor testExecutor = new 
ProcessingElementTestExecutor(processor, configuration);
+    testExecutor.run(inputEvents, expectedEvents);
   }
 }
diff --git 
a/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/booloperator/edge/SignalEdgeFilterProcessorTest.java
 
b/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/booloperator/edge/SignalEdgeFilterProcessorTest.java
new file mode 100644
index 0000000000..bdf99337f5
--- /dev/null
+++ 
b/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/booloperator/edge/SignalEdgeFilterProcessorTest.java
@@ -0,0 +1,65 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package 
org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge;
+
+import org.apache.streampipes.test.executors.ProcessingElementTestExecutor;
+import org.apache.streampipes.test.executors.TestConfiguration;
+
+import org.junit.jupiter.api.Test;
+
+import java.util.List;
+import java.util.Map;
+
+class SignalEdgeFilterProcessorTest {
+
+  @Test
+  void signalEdgeFilter1() {
+    TestConfiguration configuration = TestConfiguration.builder()
+        
.configWithDefaultPrefix(SignalEdgeFilterProcessor.BOOLEAN_SIGNAL_FIELD, 
"booleanEdge")
+        .config(SignalEdgeFilterProcessor.FLANK_ID, 
SignalEdgeFilterProcessor.BOTH)
+        .config(SignalEdgeFilterProcessor.DELAY_ID, 0)
+        .config("event-selection-id", "Last")
+        .build();
+
+    List<Map<String, Object>> inputEvents = List.of(
+        Map.of("timestamp", 1623871499055L, "booleanEdge", true),
+        Map.of("timestamp", 1623871500059L, "booleanEdge", true),
+        Map.of("timestamp", 1623871501064L, "booleanEdge", true),
+        Map.of("timestamp", 1623871502070L, "booleanEdge", false),
+        Map.of("timestamp", 1623871503078L, "booleanEdge", false),
+        Map.of("timestamp", 1623871504082L, "booleanEdge", false),
+        Map.of("timestamp", 1623871505084L, "booleanEdge", true),
+        Map.of("timestamp", 1623871506086L, "booleanEdge", true),
+        Map.of("timestamp", 1623871507091L, "booleanEdge", false),
+        Map.of("timestamp", 1623871508093L, "booleanEdge", true)
+    );
+
+    List<Map<String, Object>> expectedEvents = List.of(
+        Map.of("timestamp", 1623871499055L, "booleanEdge", true),
+        Map.of("timestamp", 1623871502070L, "booleanEdge", false),
+        Map.of("timestamp", 1623871505084L, "booleanEdge", true),
+        Map.of("timestamp", 1623871507091L, "booleanEdge", false),
+        Map.of("timestamp", 1623871508093L, "booleanEdge", true)
+    );
+
+    ProcessingElementTestExecutor testExecutor =
+        new ProcessingElementTestExecutor(new SignalEdgeFilterProcessor(), 
configuration);
+
+    testExecutor.run(inputEvents, expectedEvents);
+  }
+}
diff --git 
a/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/booloperator/inverter/BooleanInverterProcessorTest.java
 
b/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/booloperator/inverter/BooleanInverterProcessorTest.java
new file mode 100644
index 0000000000..e14109230f
--- /dev/null
+++ 
b/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/booloperator/inverter/BooleanInverterProcessorTest.java
@@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package 
org.apache.streampipes.processors.transformation.jvm.processor.booloperator.inverter;
+
+import org.apache.streampipes.test.executors.ProcessingElementTestExecutor;
+import org.apache.streampipes.test.executors.TestConfiguration;
+
+import org.junit.jupiter.api.Test;
+
+import java.util.List;
+import java.util.Map;
+
+class BooleanInverterProcessorTest {
+
+  @Test
+  void booleanInverter1() {
+    TestConfiguration configuration = TestConfiguration.builder()
+        .configWithDefaultPrefix(BooleanInverterProcessor.INVERT_FIELD_ID, 
"booleanToInvert")
+        .build();
+
+    List<Map<String, Object>> inputEvents = List.of(
+        Map.of("timestamp", 1623871499055L, "booleanToInvert", true),
+        Map.of("timestamp", 1623871500059L, "booleanToInvert", true),
+        Map.of("timestamp", 1623871501064L, "booleanToInvert", true),
+        Map.of("timestamp", 1623871502070L, "booleanToInvert", false),
+        Map.of("timestamp", 1623871503078L, "booleanToInvert", false),
+        Map.of("timestamp", 1623871504082L, "booleanToInvert", false),
+        Map.of("timestamp", 1623871505084L, "booleanToInvert", true),
+        Map.of("timestamp", 1623871506086L, "booleanToInvert", true),
+        Map.of("timestamp", 1623871507091L, "booleanToInvert", false),
+        Map.of("timestamp", 1623871508093L, "booleanToInvert", true)
+    );
+
+    List<Map<String, Object>> expectedEvents = List.of(
+        Map.of("timestamp", 1623871499055L, "booleanToInvert", false),
+        Map.of("timestamp", 1623871500059L, "booleanToInvert", false),
+        Map.of("timestamp", 1623871501064L, "booleanToInvert", false),
+        Map.of("timestamp", 1623871502070L, "booleanToInvert", true),
+        Map.of("timestamp", 1623871503078L, "booleanToInvert", true),
+        Map.of("timestamp", 1623871504082L, "booleanToInvert", true),
+        Map.of("timestamp", 1623871505084L, "booleanToInvert", false),
+        Map.of("timestamp", 1623871506086L, "booleanToInvert", false),
+        Map.of("timestamp", 1623871507091L, "booleanToInvert", true),
+        Map.of("timestamp", 1623871508093L, "booleanToInvert", false)
+    );
+
+    ProcessingElementTestExecutor testExecutor =
+        new ProcessingElementTestExecutor(new BooleanInverterProcessor(), 
configuration);
+
+    testExecutor.run(inputEvents, expectedEvents);
+  }
+}
diff --git 
a/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/fieldrename/FiledRenameProcessorTest.java
 
b/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/fieldrename/FiledRenameProcessorTest.java
new file mode 100644
index 0000000000..5ec14992fc
--- /dev/null
+++ 
b/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/fieldrename/FiledRenameProcessorTest.java
@@ -0,0 +1,68 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package 
org.apache.streampipes.processors.transformation.jvm.processor.fieldrename;
+
+import org.apache.streampipes.test.executors.ProcessingElementTestExecutor;
+import org.apache.streampipes.test.executors.TestConfiguration;
+
+import org.junit.jupiter.api.Test;
+
+import java.util.List;
+import java.util.Map;
+
+class FiledRenameProcessorTest {
+
+  @Test
+  void fieldRenamer1() {
+    TestConfiguration configuration = TestConfiguration.builder()
+        .configWithDefaultPrefix("convert-property", "count")
+        .config("field-name", "newname")
+        .build();
+
+    List<Map<String, Object>> inputEvents = List.of(
+        Map.of("timestamp", 1623871499055L, "count", 122.0d),
+        Map.of("timestamp", 1623871500059L, "count", 123.0d),
+        Map.of("timestamp", 1623871501064L, "count", 124.0d),
+        Map.of("timestamp", 1623871502070L, "count", 125.0d),
+        Map.of("timestamp", 1623871503078L, "count", 126.0d),
+        Map.of("timestamp", 1623871504082L, "count", 127.0d),
+        Map.of("timestamp", 1623871505084L, "count", 128.0d),
+        Map.of("timestamp", 1623871506086L, "count", 129.0d),
+        Map.of("timestamp", 1623871507091L, "count", 130.0d),
+        Map.of("timestamp", 1623871508093L, "count", 131.0d)
+    );
+
+    List<Map<String, Object>> expectedEvents = List.of(
+        Map.of("timestamp", 1623871499055L, "newname", 122.0d),
+        Map.of("timestamp", 1623871500059L, "newname", 123.0d),
+        Map.of("timestamp", 1623871501064L, "newname", 124.0d),
+        Map.of("timestamp", 1623871502070L, "newname", 125.0d),
+        Map.of("timestamp", 1623871503078L, "newname", 126.0d),
+        Map.of("timestamp", 1623871504082L, "newname", 127.0d),
+        Map.of("timestamp", 1623871505084L, "newname", 128.0d),
+        Map.of("timestamp", 1623871506086L, "newname", 129.0d),
+        Map.of("timestamp", 1623871507091L, "newname", 130.0d),
+        Map.of("timestamp", 1623871508093L, "newname", 131.0d)
+    );
+
+    ProcessingElementTestExecutor testExecutor =
+        new ProcessingElementTestExecutor(new FiledRenameProcessor(), 
configuration);
+
+    testExecutor.run(inputEvents, expectedEvents);
+  }
+}
diff --git 
a/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/hasher/FieldHasherProcessorTest.java
 
b/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/hasher/FieldHasherProcessorTest.java
new file mode 100644
index 0000000000..28ca0deff1
--- /dev/null
+++ 
b/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/hasher/FieldHasherProcessorTest.java
@@ -0,0 +1,75 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.streampipes.processors.transformation.jvm.processor.hasher;
+
+import org.apache.streampipes.test.executors.ProcessingElementTestExecutor;
+import org.apache.streampipes.test.executors.TestConfiguration;
+
+import org.junit.jupiter.api.Test;
+
+import java.util.List;
+import java.util.Map;
+
+class FieldHasherProcessorTest {
+
+  @Test
+  void fieldHasher1() {
+    executeFixtureTest(
+        "SHA1",
+        List.of(
+            Map.of("timestamp", 1623871499055L, "sensorId", "abc"),
+            Map.of("timestamp", 1623871500059L, "sensorId", "123")
+        ),
+        List.of(
+            Map.of("timestamp", 1623871499055L, "sensorId", 
"a9993e364706816aba3e25717850c26c9cd0d89d"),
+            Map.of("timestamp", 1623871500059L, "sensorId", 
"40bd001563085fc35165329ea1ff5c5ecbdbbeef")
+        )
+    );
+  }
+
+  @Test
+  void fieldHasher2() {
+    executeFixtureTest(
+        "MD5",
+        List.of(
+            Map.of("timestamp", 1623871499055L, "sensorId", "abc"),
+            Map.of("timestamp", 1623871500059L, "sensorId", "123")
+        ),
+        List.of(
+            Map.of("timestamp", 1623871499055L, "sensorId", 
"900150983cd24fb0d6963f7d28e17f72"),
+            Map.of("timestamp", 1623871500059L, "sensorId", 
"202cb962ac59075b964b07152d234b70")
+        )
+    );
+  }
+
+  private void executeFixtureTest(
+      String algorithm,
+      List<Map<String, Object>> inputEvents,
+      List<Map<String, Object>> expectedEvents
+  ) {
+    TestConfiguration configuration = TestConfiguration.builder()
+        .configWithDefaultPrefix("property-mapping", "sensorId")
+        .config("hash-algorithm", algorithm)
+        .build();
+
+    ProcessingElementTestExecutor testExecutor =
+        new ProcessingElementTestExecutor(new FieldHasherProcessor(), 
configuration);
+
+    testExecutor.run(inputEvents, expectedEvents);
+  }
+}
diff --git 
a/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/projection/TestProjectionProcessor.java
 
b/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/mapper/FieldMapperProcessorTest.java
similarity index 52%
copy from 
streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/projection/TestProjectionProcessor.java
copy to 
streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/mapper/FieldMapperProcessorTest.java
index 3bb6a98238..c1ffc870f2 100644
--- 
a/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/projection/TestProjectionProcessor.java
+++ 
b/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/mapper/FieldMapperProcessorTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  *
  */
-package org.apache.streampipes.processors.filters.jvm.processor.projection;
+package org.apache.streampipes.processors.transformation.jvm.processor.mapper;
 
 import org.apache.streampipes.test.executors.ProcessingElementTestExecutor;
 import org.apache.streampipes.test.executors.TestConfiguration;
@@ -25,42 +25,28 @@ import org.junit.jupiter.api.Test;
 import java.util.List;
 import java.util.Map;
 
-class TestProjectionProcessor {
-
+class FieldMapperProcessorTest {
 
   @Test
-  public void test() {
-    var configuration = TestConfiguration
-        .builder()
-        .customOutputStrategy(List.of("field1", "field2"))
+  void fieldMapper1() {
+    TestConfiguration configuration = TestConfiguration.builder()
+        .config("replaceProperties", List.of("::value1", "::value2"))
+        .config("fieldName", "hashedField")
         .build();
-    List<Map<String, Object>> events = List.of(
-        Map.of(
-            "field1", "value1",
-            "field2", "value2",
-            "field3", "ignoredValue"
-        ),
-        Map.of(
-            "field1", "value3",
-            "field2", "value4",
-            "field3", "ignoredValue"
-        )
+
+    List<Map<String, Object>> inputEvents = List.of(
+        Map.of("timestamp", 1623871499055L, "value1", "abc", "value2", "def"),
+        Map.of("timestamp", 1623871500059L, "value1", "123", "value2", "456")
     );
 
-    List<Map<String, Object>> outputEvents = List.of(
-        Map.of(
-            "field1", "value1",
-            "field2", "value2"
-        ),
-        Map.of(
-            "field1", "value3",
-            "field2", "value4"
-        )
+    List<Map<String, Object>> expectedEvents = List.of(
+        Map.of("timestamp", 1623871499055L, "hashedField", 
"e80b5017098950fc58aad83c8c14978e"),
+        Map.of("timestamp", 1623871500059L, "hashedField", 
"e10adc3949ba59abbe56e057f20f883e")
     );
 
-    var testExecutor = new ProcessingElementTestExecutor(new 
ProjectionProcessor(), configuration);
+    ProcessingElementTestExecutor testExecutor =
+        new ProcessingElementTestExecutor(new FieldMapperProcessor(), 
configuration);
 
-    testExecutor.run(events, outputEvents);
+    testExecutor.run(inputEvents, expectedEvents);
   }
-
 }
diff --git 
a/streampipes-test-utils-executors/src/main/java/org/apache/streampipes/test/executors/ProcessingElementTestExecutor.java
 
b/streampipes-test-utils-executors/src/main/java/org/apache/streampipes/test/executors/ProcessingElementTestExecutor.java
index 95d142a539..0d7c686364 100644
--- 
a/streampipes-test-utils-executors/src/main/java/org/apache/streampipes/test/executors/ProcessingElementTestExecutor.java
+++ 
b/streampipes-test-utils-executors/src/main/java/org/apache/streampipes/test/executors/ProcessingElementTestExecutor.java
@@ -36,6 +36,7 @@ import org.mockito.ArgumentCaptor;
 import org.mockito.Mockito;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
@@ -83,7 +84,7 @@ public class ProcessingElementTestExecutor {
       List<Map<String, Object>> inputEvents,
       List<Map<String, Object>> expectedOutputEvents
   ) {
-
+    var mockCollector = mock(SpOutputCollector.class);
 
     // initialize the extractor with the provided configuration of the user 
input
     var dataProcessorInvocation = getProcessorInvocation();
@@ -101,10 +102,9 @@ public class ProcessingElementTestExecutor {
     when(mockParams.extractor()).thenReturn(extractor);
 
     // calls the onPipelineStarted method of the processor to initialize it
-    processor.onPipelineStarted(mockParams, null, null);
+    processor.onPipelineStarted(mockParams, mockCollector, null);
 
     // mock the output collector to capture the output events and validate the 
results later
-    var mockCollector = mock(SpOutputCollector.class);
     var spOutputCollectorCaptor = ArgumentCaptor.forClass(Event.class);
 
 
@@ -190,24 +190,8 @@ public class ProcessingElementTestExecutor {
   }
 
   private PipelineElementTemplate getPipelineElementTemplate() {
-    var staticProperties = processor
-        .declareConfig()
-        .getDescription()
-        .getStaticProperties();
-
-
     var configs = new ArrayList<Map<String, Object>>();
-
-    staticProperties.forEach(staticProperty -> {
-      var value = testConfiguration.getFieldConfiguration()
-                                   .get(staticProperty.getInternalName());
-      configs.add(
-          Map.of(
-              staticProperty.getInternalName(),
-              value
-          )
-      );
-    });
+    configs.add(new HashMap<>(testConfiguration.getFieldConfiguration()));
 
     return new PipelineElementTemplate("name", "description", configs);
   }
diff --git 
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/math1/description.json 
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/math1/description.json
deleted file mode 100644
index 704e89289b..0000000000
--- a/ui/cypress/fixtures/pipelineElement/enrich-jvm/math1/description.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-  "name": "math",
-  "config": [
-    {
-      "type": "drop-down",
-      "selector": "leftOperand",
-      "value": "temperature1"
-    },
-    {
-      "type": "drop-down",
-      "selector": "rightOperand",
-      "value": "temperature2"
-    },
-    {
-      "type": "radio",
-      "selector": "operation",
-      "value": "\\+"
-    }
-  ]
-}
diff --git a/ui/cypress/fixtures/pipelineElement/enrich-jvm/math1/expected.csv 
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/math1/expected.csv
deleted file mode 100644
index e2fb0c1887..0000000000
--- a/ui/cypress/fixtures/pipelineElement/enrich-jvm/math1/expected.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-timestamp;calculationResult;temperature1;temperature2
-1623871499055;5.0;2.0;3.0
-1623871500059;7.0;3.0;4.0
diff --git a/ui/cypress/fixtures/pipelineElement/enrich-jvm/math1/input.csv 
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/math1/input.csv
deleted file mode 100644
index 1b75ffa703..0000000000
--- a/ui/cypress/fixtures/pipelineElement/enrich-jvm/math1/input.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-timestamp;temperature1;temperature2
-1623871499055;2;3
-1623871500059;3;4
diff --git 
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/math2/description.json 
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/math2/description.json
deleted file mode 100644
index 7104559509..0000000000
--- a/ui/cypress/fixtures/pipelineElement/enrich-jvm/math2/description.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-  "name": "math",
-  "config": [
-    {
-      "type": "drop-down",
-      "selector": "leftOperand",
-      "value": "temperature1"
-    },
-    {
-      "type": "drop-down",
-      "selector": "rightOperand",
-      "value": "temperature2"
-    },
-    {
-      "type": "radio",
-      "selector": "operation",
-      "value": "\\/"
-    }
-  ]
-}
diff --git a/ui/cypress/fixtures/pipelineElement/enrich-jvm/math2/expected.csv 
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/math2/expected.csv
deleted file mode 100644
index f11ce541a4..0000000000
--- a/ui/cypress/fixtures/pipelineElement/enrich-jvm/math2/expected.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-timestamp;calculationResult;temperature1;temperature2
-1623871499055;1.0;4.0;4.0
-1623871500059;20.0;100.0;5.0
diff --git a/ui/cypress/fixtures/pipelineElement/enrich-jvm/math2/input.csv 
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/math2/input.csv
deleted file mode 100644
index aaad2528eb..0000000000
--- a/ui/cypress/fixtures/pipelineElement/enrich-jvm/math2/input.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-timestamp;temperature1;temperature2
-1623871499055;4;4
-1623871500059;100.0;5.0
diff --git 
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/math3/description.json 
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/math3/description.json
deleted file mode 100644
index 968a447ba0..0000000000
--- a/ui/cypress/fixtures/pipelineElement/enrich-jvm/math3/description.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-  "name": "math",
-  "config": [
-    {
-      "type": "drop-down",
-      "selector": "leftOperand",
-      "value": "temperature1"
-    },
-    {
-      "type": "drop-down",
-      "selector": "rightOperand",
-      "value": "temperature2"
-    },
-    {
-      "type": "radio",
-      "selector": "operation",
-      "value": "\\*"
-    }
-  ]
-}
diff --git a/ui/cypress/fixtures/pipelineElement/enrich-jvm/math3/expected.csv 
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/math3/expected.csv
deleted file mode 100644
index b4d06a76a4..0000000000
--- a/ui/cypress/fixtures/pipelineElement/enrich-jvm/math3/expected.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-timestamp;calculationResult;temperature1;temperature2
-1623871499055;8.0;4.0;2.0
-1623871500059;17.5;3.5;5.0
diff --git a/ui/cypress/fixtures/pipelineElement/enrich-jvm/math3/input.csv 
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/math3/input.csv
deleted file mode 100644
index 9e97f57075..0000000000
--- a/ui/cypress/fixtures/pipelineElement/enrich-jvm/math3/input.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-timestamp;temperature1;temperature2
-1623871499055;4;2
-1623871500059;3.5;5.0
diff --git 
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/staticmath1/description.json 
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/staticmath1/description.json
deleted file mode 100644
index 7416eea99e..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/staticmath1/description.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-  "name": "static_math",
-  "config": [
-    {
-      "type": "drop-down",
-      "selector": "leftOperand",
-      "value": "temperature1"
-    },
-    {
-      "type": "input",
-      "selector": "rightOperandValue",
-      "value": "5"
-    },
-    {
-      "type": "radio",
-      "selector": "operation",
-      "value": "\\*"
-    }
-  ]
-}
diff --git 
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/staticmath1/expected.csv 
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/staticmath1/expected.csv
deleted file mode 100644
index 0405380d89..0000000000
--- a/ui/cypress/fixtures/pipelineElement/enrich-jvm/staticmath1/expected.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-timestamp;temperature1
-1623871499055;20.0
-1623871500059;17.5
diff --git 
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/staticmath1/input.csv 
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/staticmath1/input.csv
deleted file mode 100644
index 437bd65baf..0000000000
--- a/ui/cypress/fixtures/pipelineElement/enrich-jvm/staticmath1/input.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-timestamp;temperature1
-1623871499055;4
-1623871500059;3.5
diff --git 
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/staticmath2/description.json 
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/staticmath2/description.json
deleted file mode 100644
index 948f8420e2..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/staticmath2/description.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-  "name": "static_math",
-  "config": [
-    {
-      "type": "drop-down",
-      "selector": "leftOperand",
-      "value": "temperature1"
-    },
-    {
-      "type": "input",
-      "selector": "rightOperandValue",
-      "value": "1.5"
-    },
-    {
-      "type": "radio",
-      "selector": "operation",
-      "value": "\\/"
-    }
-  ]
-}
diff --git 
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/staticmath2/expected.csv 
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/staticmath2/expected.csv
deleted file mode 100644
index 5ec5e931b8..0000000000
--- a/ui/cypress/fixtures/pipelineElement/enrich-jvm/staticmath2/expected.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-timestamp;temperature1
-1623871499055;4.0
-1623871500059;2.0
diff --git 
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/staticmath2/input.csv 
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/staticmath2/input.csv
deleted file mode 100644
index 933646d2a9..0000000000
--- a/ui/cypress/fixtures/pipelineElement/enrich-jvm/staticmath2/input.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-timestamp;temperature1
-1623871499055;6
-1623871500059;3
diff --git 
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/trigonometry1/description.json 
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/trigonometry1/description.json
deleted file mode 100644
index 7edea59dac..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/trigonometry1/description.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-  "name": "trigonometry_functions",
-  "config": [
-    {
-      "type": "drop-down",
-      "selector": "operand",
-      "value": "temperature1"
-    },
-    {
-      "type": "radio",
-      "selector": "operation",
-      "value": "sin"
-    }
-  ]
-}
diff --git 
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/trigonometry1/expected.csv 
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/trigonometry1/expected.csv
deleted file mode 100644
index 1e63455d3a..0000000000
--- a/ui/cypress/fixtures/pipelineElement/enrich-jvm/trigonometry1/expected.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-timestamp;temperature1;trigonometryResult
-1623871499055;90.0;0.8939966636005579
-1623871500059;180.0;-0.8011526357338304
diff --git 
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/trigonometry1/input.csv 
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/trigonometry1/input.csv
deleted file mode 100644
index 13f65438bd..0000000000
--- a/ui/cypress/fixtures/pipelineElement/enrich-jvm/trigonometry1/input.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-timestamp;temperature1
-1623871499055;90
-1623871500059;180.0
diff --git 
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/trigonometry2/description.json 
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/trigonometry2/description.json
deleted file mode 100644
index d8304c3b64..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/trigonometry2/description.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-  "name": "trigonometry_functions",
-  "config": [
-    {
-      "type": "drop-down",
-      "selector": "operand",
-      "value": "temperature1"
-    },
-    {
-      "type": "radio",
-      "selector": "operation",
-      "value": "cos"
-    }
-  ]
-}
diff --git 
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/trigonometry2/expected.csv 
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/trigonometry2/expected.csv
deleted file mode 100644
index d306625c1e..0000000000
--- a/ui/cypress/fixtures/pipelineElement/enrich-jvm/trigonometry2/expected.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-timestamp;temperature1;trigonometryResult
-1623871499055;120.0;0.8141809705265618
-1623871500059;150.0;0.6992508064783751
diff --git 
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/trigonometry2/input.csv 
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/trigonometry2/input.csv
deleted file mode 100644
index 1de8e270be..0000000000
--- a/ui/cypress/fixtures/pipelineElement/enrich-jvm/trigonometry2/input.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-timestamp;temperature1
-1623871499055;120
-1623871500059;150.0
diff --git 
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/valueChange1/description.json 
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/valueChange1/description.json
deleted file mode 100644
index 879d5d4e70..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/valueChange1/description.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-  "name": "value_change",
-  "config": [
-    {
-      "type": "drop-down",
-      "selector": "change-value-mapping",
-      "value": "numberlist"
-    },
-    {
-      "type": "input",
-      "selector": "from-property-value",
-      "value": "3"
-    },
-    {
-      "type": "input",
-      "selector": "to-property-value",
-      "value": "4"
-    }
-  ]
-}
diff --git 
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/valueChange1/expected.csv 
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/valueChange1/expected.csv
deleted file mode 100644
index def809b283..0000000000
--- a/ui/cypress/fixtures/pipelineElement/enrich-jvm/valueChange1/expected.csv
+++ /dev/null
@@ -1,11 +0,0 @@
-timestamp;isChanged;numberlist
-1623871499055;false;2.0
-1623871500059;false;3.0
-1623871501064;true;4.0
-1623871502070;false;5.0
-1623871503078;false;2.0
-1623871504082;false;3.0
-1623871505084;true;4.0
-1623871506086;false;5.0
-1623871507091;false;6.0
-1623871508093;false;7.0
diff --git 
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/valueChange1/input.csv 
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/valueChange1/input.csv
deleted file mode 100644
index 269217ab6e..0000000000
--- a/ui/cypress/fixtures/pipelineElement/enrich-jvm/valueChange1/input.csv
+++ /dev/null
@@ -1,11 +0,0 @@
-timestamp;numberlist
-1623871499055;2
-1623871500059;3
-1623871501064;4
-1623871502070;5
-1623871503078;2
-1623871504082;3
-1623871505084;4
-1623871506086;5
-1623871507091;6
-1623871508093;7
diff --git 
a/ui/cypress/fixtures/pipelineElement/filters-jvm/booleanFilter1/description.json
 
b/ui/cypress/fixtures/pipelineElement/filters-jvm/booleanFilter1/description.json
deleted file mode 100644
index dc4596d5c1..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/filters-jvm/booleanFilter1/description.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-  "name": "boolean_filter",
-  "config": [
-    {
-      "type": "drop-down",
-      "selector": "boolean-mapping",
-      "value": "randomboolean"
-    },
-    {
-      "type": "radio",
-      "selector": "value",
-      "value": "True"
-    }
-  ]
-}
diff --git 
a/ui/cypress/fixtures/pipelineElement/filters-jvm/booleanFilter1/expected.csv 
b/ui/cypress/fixtures/pipelineElement/filters-jvm/booleanFilter1/expected.csv
deleted file mode 100644
index 84b6b2e11a..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/filters-jvm/booleanFilter1/expected.csv
+++ /dev/null
@@ -1,6 +0,0 @@
-timestamp;randomboolean
-1623871501064;true
-1623871503078;true
-1623871505084;true
-1623871507091;true
-1623871508093;true
diff --git 
a/ui/cypress/fixtures/pipelineElement/filters-jvm/booleanFilter1/input.csv 
b/ui/cypress/fixtures/pipelineElement/filters-jvm/booleanFilter1/input.csv
deleted file mode 100644
index 691d57416a..0000000000
--- a/ui/cypress/fixtures/pipelineElement/filters-jvm/booleanFilter1/input.csv
+++ /dev/null
@@ -1,11 +0,0 @@
-timestamp;randomboolean
-1623871499055;false
-1623871500059;false
-1623871501064;true
-1623871502070;false
-1623871503078;true
-1623871504082;false
-1623871505084;true
-1623871506086;false
-1623871507091;true
-1623871508093;true
diff --git 
a/ui/cypress/fixtures/pipelineElement/filters-jvm/booleanFilter2/description.json
 
b/ui/cypress/fixtures/pipelineElement/filters-jvm/booleanFilter2/description.json
deleted file mode 100644
index 94af4202c6..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/filters-jvm/booleanFilter2/description.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-  "name": "boolean_filter",
-  "config": [
-    {
-      "type": "drop-down",
-      "selector": "boolean-mapping",
-      "value": "randomboolean"
-    },
-    {
-      "type": "radio",
-      "selector": "value",
-      "value": "False"
-    }
-  ]
-}
diff --git 
a/ui/cypress/fixtures/pipelineElement/filters-jvm/booleanFilter2/expected.csv 
b/ui/cypress/fixtures/pipelineElement/filters-jvm/booleanFilter2/expected.csv
deleted file mode 100644
index 3a0ceb0247..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/filters-jvm/booleanFilter2/expected.csv
+++ /dev/null
@@ -1,6 +0,0 @@
-timestamp;randomboolean
-1623871499055;false
-1623871500059;false
-1623871502070;false
-1623871504082;false
-1623871506086;false
diff --git 
a/ui/cypress/fixtures/pipelineElement/filters-jvm/booleanFilter2/input.csv 
b/ui/cypress/fixtures/pipelineElement/filters-jvm/booleanFilter2/input.csv
deleted file mode 100644
index 00f09c6cc0..0000000000
--- a/ui/cypress/fixtures/pipelineElement/filters-jvm/booleanFilter2/input.csv
+++ /dev/null
@@ -1,11 +0,0 @@
-timestamp;randomboolean
-1623871499055;false
-1623871500059;false
-1623871501064;true
-1623871502070;false
-1623871503078;true
-1623871504082;false
-1623871505084;true
-1623871506086;false
-1623871507091;true
-1623871508093;true
\ No newline at end of file
diff --git 
a/ui/cypress/fixtures/pipelineElement/filters-jvm/numericalFilter1/description.json
 
b/ui/cypress/fixtures/pipelineElement/filters-jvm/numericalFilter1/description.json
deleted file mode 100644
index 5fddc6ee44..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/filters-jvm/numericalFilter1/description.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-  "name": "numerical_filter",
-  "config": [
-    {
-      "type": "drop-down",
-      "selector": "number-mapping",
-      "value": "randomnumber"
-    },
-    { "type": "radio", "selector": "operation", "value": "\\>" },
-    { "type": "input", "selector": "value", "value": "50" }
-  ]
-}
diff --git 
a/ui/cypress/fixtures/pipelineElement/filters-jvm/numericalFilter1/expected.csv 
b/ui/cypress/fixtures/pipelineElement/filters-jvm/numericalFilter1/expected.csv
deleted file mode 100644
index 1639aebcb6..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/filters-jvm/numericalFilter1/expected.csv
+++ /dev/null
@@ -1,6 +0,0 @@
-timestamp;randomnumber
-1623871499055;62.0
-1623871504082;56.0
-1623871505084;95.0
-1623871506086;77.0
-1623871507091;85.0
diff --git 
a/ui/cypress/fixtures/pipelineElement/filters-jvm/numericalFilter1/input.csv 
b/ui/cypress/fixtures/pipelineElement/filters-jvm/numericalFilter1/input.csv
deleted file mode 100644
index c5fb22e414..0000000000
--- a/ui/cypress/fixtures/pipelineElement/filters-jvm/numericalFilter1/input.csv
+++ /dev/null
@@ -1,11 +0,0 @@
-timestamp;randomnumber
-1623871499055;62.0
-1623871500059;46.0
-1623871501064;41.0
-1623871502070;41.0
-1623871503078;22.0
-1623871504082;56.0
-1623871505084;95.0
-1623871506086;77.0
-1623871507091;85.0
-1623871508093;22.0
diff --git 
a/ui/cypress/fixtures/pipelineElement/filters-jvm/projection1/description.json 
b/ui/cypress/fixtures/pipelineElement/filters-jvm/projection1/description.json
deleted file mode 100644
index f749e5d16f..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/filters-jvm/projection1/description.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-  "name": "projection",
-  "config": [
-    {
-      "type": "checkbox",
-      "selector": "timestamp",
-      "value": "check"
-    },
-    {
-      "type": "checkbox",
-      "selector": "a",
-      "value": "check"
-    }
-  ]
-}
diff --git 
a/ui/cypress/fixtures/pipelineElement/filters-jvm/projection1/expected.csv 
b/ui/cypress/fixtures/pipelineElement/filters-jvm/projection1/expected.csv
deleted file mode 100644
index 249d92f747..0000000000
--- a/ui/cypress/fixtures/pipelineElement/filters-jvm/projection1/expected.csv
+++ /dev/null
@@ -1,6 +0,0 @@
-timestamp;a
-1623871499055;a
-1623871504082;a
-1623871505084;a
-1623871506086;a
-1623871507091;a
diff --git 
a/ui/cypress/fixtures/pipelineElement/filters-jvm/projection1/input.csv 
b/ui/cypress/fixtures/pipelineElement/filters-jvm/projection1/input.csv
deleted file mode 100644
index 2804ec7b3f..0000000000
--- a/ui/cypress/fixtures/pipelineElement/filters-jvm/projection1/input.csv
+++ /dev/null
@@ -1,6 +0,0 @@
-timestamp;remove;a
-1623871499055;62.0;a
-1623871504082;56.0;a
-1623871505084;95.0;a
-1623871506086;77.0;a
-1623871507091;85.0;a
diff --git 
a/ui/cypress/fixtures/pipelineElement/filters-jvm/rateLimit1/description.json 
b/ui/cypress/fixtures/pipelineElement/filters-jvm/rateLimit1/description.json
deleted file mode 100644
index 302d2dac37..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/filters-jvm/rateLimit1/description.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
-  "name": "rate_limit",
-  "config": [
-    {
-      "type": "radio",
-      "selector": "grouping-enabled",
-      "value": "False"
-    },
-    {
-      "type": "radio",
-      "selector": "window-type",
-      "value": "Length Window"
-    },
-    {
-      "type": "input",
-      "selector": "window-type-length-window-size-2",
-      "value": "5"
-    },
-    {
-      "type": "radio",
-      "selector": "event-selection",
-      "value": "Last"
-    }
-  ]
-}
diff --git 
a/ui/cypress/fixtures/pipelineElement/filters-jvm/rateLimit1/expected.csv 
b/ui/cypress/fixtures/pipelineElement/filters-jvm/rateLimit1/expected.csv
deleted file mode 100644
index aa1a3795a6..0000000000
--- a/ui/cypress/fixtures/pipelineElement/filters-jvm/rateLimit1/expected.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-timestamp;randomnumber
-1623871494000;22.0
-1623871499000;26.0
diff --git 
a/ui/cypress/fixtures/pipelineElement/filters-jvm/rateLimit1/input.csv 
b/ui/cypress/fixtures/pipelineElement/filters-jvm/rateLimit1/input.csv
deleted file mode 100644
index 0291979492..0000000000
--- a/ui/cypress/fixtures/pipelineElement/filters-jvm/rateLimit1/input.csv
+++ /dev/null
@@ -1,12 +0,0 @@
-timestamp;randomnumber
-1623871490000;62.0
-1623871491000;46.0
-1623871492000;41.0
-1623871493000;41.0
-1623871494000;22.0
-1623871495000;56.0
-1623871496000;95.0
-1623871497000;77.0
-1623871498000;85.0
-1623871499000;26.0
-1623871500000;21.0
diff --git 
a/ui/cypress/fixtures/pipelineElement/filters-jvm/textFilter1/description.json 
b/ui/cypress/fixtures/pipelineElement/filters-jvm/textFilter1/description.json
deleted file mode 100644
index 9bd34e76e4..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/filters-jvm/textFilter1/description.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-  "name": "text_filter",
-  "config": [
-    { "type": "drop-down", "selector": "text", "value": "randomchar" },
-    { "type": "radio", "selector": "operation", "value": "MATCHES" },
-    { "type": "input", "selector": "keyword", "value": "c" }
-  ]
-}
diff --git 
a/ui/cypress/fixtures/pipelineElement/filters-jvm/textFilter1/expected.csv 
b/ui/cypress/fixtures/pipelineElement/filters-jvm/textFilter1/expected.csv
deleted file mode 100644
index 7e5c6e7773..0000000000
--- a/ui/cypress/fixtures/pipelineElement/filters-jvm/textFilter1/expected.csv
+++ /dev/null
@@ -1,4 +0,0 @@
-timestamp;randomchar
-1623871501064;c
-1623871504082;c
-1623871507091;c
diff --git 
a/ui/cypress/fixtures/pipelineElement/filters-jvm/textFilter1/input.csv 
b/ui/cypress/fixtures/pipelineElement/filters-jvm/textFilter1/input.csv
deleted file mode 100644
index d931de33a7..0000000000
--- a/ui/cypress/fixtures/pipelineElement/filters-jvm/textFilter1/input.csv
+++ /dev/null
@@ -1,11 +0,0 @@
-timestamp;randomchar
-1623871499055;a
-1623871500059;b
-1623871501064;c
-1623871502070;a
-1623871503078;b
-1623871504082;c
-1623871505084;a
-1623871506086;b
-1623871507091;c
-1623871508093;a
diff --git 
a/ui/cypress/fixtures/pipelineElement/filters-jvm/textFilter2/description.json 
b/ui/cypress/fixtures/pipelineElement/filters-jvm/textFilter2/description.json
deleted file mode 100644
index 98a468c93e..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/filters-jvm/textFilter2/description.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-  "name": "text_filter",
-  "config": [
-    { "type": "drop-down", "selector": "text", "value": "randomchar" },
-    { "type": "radio", "selector": "operation", "value": "CONTAINS" },
-    { "type": "input", "selector": "keyword", "value": "app" }
-  ]
-}
diff --git 
a/ui/cypress/fixtures/pipelineElement/filters-jvm/textFilter2/expected.csv 
b/ui/cypress/fixtures/pipelineElement/filters-jvm/textFilter2/expected.csv
deleted file mode 100644
index 8cc4527118..0000000000
--- a/ui/cypress/fixtures/pipelineElement/filters-jvm/textFilter2/expected.csv
+++ /dev/null
@@ -1,5 +0,0 @@
-timestamp;randomchar
-1623871499055;apple
-1623871502070;apple
-1623871505084;apple
-1623871508093;apple
diff --git 
a/ui/cypress/fixtures/pipelineElement/filters-jvm/textFilter2/input.csv 
b/ui/cypress/fixtures/pipelineElement/filters-jvm/textFilter2/input.csv
deleted file mode 100644
index 189d1a3f56..0000000000
--- a/ui/cypress/fixtures/pipelineElement/filters-jvm/textFilter2/input.csv
+++ /dev/null
@@ -1,11 +0,0 @@
-timestamp;randomchar
-1623871499055;apple
-1623871500059;banana
-1623871501064;computer
-1623871502070;apple
-1623871503078;banana
-1623871504082;computer
-1623871505084;apple
-1623871506086;banana
-1623871507091;computer
-1623871508093;apple
diff --git 
a/ui/cypress/fixtures/pipelineElement/filters-jvm/thresholdDetection1/description.json
 
b/ui/cypress/fixtures/pipelineElement/filters-jvm/thresholdDetection1/description.json
deleted file mode 100644
index 110c35ed18..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/filters-jvm/thresholdDetection1/description.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-  "name": "threshold_detector",
-  "config": [
-    {
-      "type": "drop-down",
-      "selector": "number-mapping",
-      "value": "randomnumber"
-    },
-    {
-      "type": "radio",
-      "selector": "operation",
-      "value": "\\>"
-    },
-    {
-      "type": "input",
-      "selector": "value",
-      "value": "50"
-    }
-  ]
-}
diff --git 
a/ui/cypress/fixtures/pipelineElement/filters-jvm/thresholdDetection1/expected.csv
 
b/ui/cypress/fixtures/pipelineElement/filters-jvm/thresholdDetection1/expected.csv
deleted file mode 100644
index bcb728d490..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/filters-jvm/thresholdDetection1/expected.csv
+++ /dev/null
@@ -1,11 +0,0 @@
-timestamp;randomnumber;thresholdDetected
-1623871499055;62.0;true
-1623871500059;46.0;false
-1623871501064;41.0;false
-1623871502070;41.0;false
-1623871503078;22.0;false
-1623871504082;56.0;true
-1623871505084;95.0;true
-1623871506086;77.0;true
-1623871507091;85.0;true
-1623871508093;22.0;false
diff --git 
a/ui/cypress/fixtures/pipelineElement/filters-jvm/thresholdDetection1/input.csv 
b/ui/cypress/fixtures/pipelineElement/filters-jvm/thresholdDetection1/input.csv
deleted file mode 100644
index c5fb22e414..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/filters-jvm/thresholdDetection1/input.csv
+++ /dev/null
@@ -1,11 +0,0 @@
-timestamp;randomnumber
-1623871499055;62.0
-1623871500059;46.0
-1623871501064;41.0
-1623871502070;41.0
-1623871503078;22.0
-1623871504082;56.0
-1623871505084;95.0
-1623871506086;77.0
-1623871507091;85.0
-1623871508093;22.0
diff --git 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanCounter1/description.json
 
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanCounter1/description.json
deleted file mode 100644
index 316ebc2016..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanCounter1/description.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "name": "boolean_counter",
-  "config": [
-    { "type": "drop-down", "selector": "field", "value": "booleanToCount" },
-    { "type": "radio", "selector": "flank", "value": "BOTH" }
-  ]
-}
diff --git 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanCounter1/expected.csv
 
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanCounter1/expected.csv
deleted file mode 100644
index bb50d01551..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanCounter1/expected.csv
+++ /dev/null
@@ -1,6 +0,0 @@
-timestamp;booleanToCount;counter
-1623871499055;true;1.0
-1623871502070;false;2.0
-1623871505084;true;3.0
-1623871507091;false;4.0
-1623871508093;true;5.0
diff --git 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanCounter1/input.csv
 
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanCounter1/input.csv
deleted file mode 100644
index 99442a70b3..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanCounter1/input.csv
+++ /dev/null
@@ -1,11 +0,0 @@
-timestamp;booleanToCount
-1623871499055;true
-1623871500059;true
-1623871501064;true
-1623871502070;false
-1623871503078;false
-1623871504082;false
-1623871505084;true
-1623871506086;true
-1623871507091;false
-1623871508093;true
diff --git 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanCounter2/description.json
 
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanCounter2/description.json
deleted file mode 100644
index 81ca935ddc..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanCounter2/description.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-  "name": "boolean_counter",
-  "config": [
-    {
-      "type": "drop-down",
-      "selector": "field",
-      "value": "randomboolean"
-    },
-    {
-      "type": "radio",
-      "selector": "flank",
-      "value": "BOTH"
-    }
-  ]
-}
diff --git 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanCounter2/expected.csv
 
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanCounter2/expected.csv
deleted file mode 100644
index 5d77d45b2a..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanCounter2/expected.csv
+++ /dev/null
@@ -1,8 +0,0 @@
-timestamp;counter;randomboolean
-1623871501064;1.0;true
-1623871502070;2.0;false
-1623871503078;3.0;true
-1623871504082;4.0;false
-1623871505084;5.0;true
-1623871506086;6.0;false
-1623871507091;7.0;true
diff --git 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanCounter2/input.csv
 
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanCounter2/input.csv
deleted file mode 100644
index 691d57416a..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanCounter2/input.csv
+++ /dev/null
@@ -1,11 +0,0 @@
-timestamp;randomboolean
-1623871499055;false
-1623871500059;false
-1623871501064;true
-1623871502070;false
-1623871503078;true
-1623871504082;false
-1623871505084;true
-1623871506086;false
-1623871507091;true
-1623871508093;true
diff --git 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanInverter1/description.json
 
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanInverter1/description.json
deleted file mode 100644
index ad23b24dda..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanInverter1/description.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-  "name": "boolean_inverter",
-  "config": [
-    {
-      "type": "drop-down",
-      "selector": "invert-field",
-      "value": "booleanToInvert"
-    }
-  ]
-}
diff --git 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanInverter1/expected.csv
 
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanInverter1/expected.csv
deleted file mode 100644
index 653aa9aaec..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanInverter1/expected.csv
+++ /dev/null
@@ -1,11 +0,0 @@
-timestamp;booleanToInvert
-1623871499055;false
-1623871500059;false
-1623871501064;false
-1623871502070;true
-1623871503078;true
-1623871504082;true
-1623871505084;false
-1623871506086;false
-1623871507091;true
-1623871508093;false
diff --git 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanInverter1/input.csv
 
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanInverter1/input.csv
deleted file mode 100644
index 71796a047e..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanInverter1/input.csv
+++ /dev/null
@@ -1,11 +0,0 @@
-timestamp;booleanToInvert
-1623871499055;true
-1623871500059;true
-1623871501064;true
-1623871502070;false
-1623871503078;false
-1623871504082;false
-1623871505084;true
-1623871506086;true
-1623871507091;false
-1623871508093;true
diff --git 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/countArray1/description.json
 
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/countArray1/description.json
deleted file mode 100644
index 119f469cbc..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/countArray1/description.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  "name": "count_array",
-  "config": [
-    { "type": "drop-down", "selector": "array-field", "value": "arrayProperty" 
}
-  ]
-}
diff --git 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/countArray1/expected.csv
 
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/countArray1/expected.csv
deleted file mode 100644
index c043270cf3..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/countArray1/expected.csv
+++ /dev/null
@@ -1,5 +0,0 @@
-timestamp;arrayProperty;countValue
-1623871499055;[ "java.util.ArrayList", [ 1, 2, 4, 4 ] ];4.0
-1623871500059;[ "java.util.ArrayList", [ 1, 4 ] ];2.0
-1623871507091;[ "java.util.ArrayList", [ 1, 3, 3, 3, 4 ] ];5.0
-1623871508093;[ "java.util.ArrayList", [ 1 ] ];1.0
diff --git 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/countArray1/input.json 
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/countArray1/input.json
deleted file mode 100644
index 24ac9f09d2..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/countArray1/input.json
+++ /dev/null
@@ -1,6 +0,0 @@
-[
-  { "timestamp": 1623871499055, "arrayProperty": [1, 2, 4, 4] },
-  { "timestamp": 1623871500059, "arrayProperty": [1, 4] },
-  { "timestamp": 1623871507091, "arrayProperty": [1, 3, 3, 3, 4] },
-  { "timestamp": 1623871508093, "arrayProperty": [1] }
-]
diff --git 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldHasher1/description.json
 
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldHasher1/description.json
deleted file mode 100644
index 2b23587408..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldHasher1/description.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-  "name": "field_hasher",
-  "config": [
-    {
-      "type": "drop-down",
-      "selector": "property-mapping",
-      "value": "sensorId"
-    },
-    { "type": "radio", "selector": "hash-algorithm", "value": "SHA1" }
-  ]
-}
diff --git 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldHasher1/expected.csv
 
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldHasher1/expected.csv
deleted file mode 100644
index 9ae74591f5..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldHasher1/expected.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-timestamp;sensorId
-1623871499055;a9993e364706816aba3e25717850c26c9cd0d89d
-1623871500059;40bd001563085fc35165329ea1ff5c5ecbdbbeef
diff --git 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldHasher1/input.csv 
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldHasher1/input.csv
deleted file mode 100644
index bcbd5414db..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldHasher1/input.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-timestamp;sensorId
-1623871499055;abc
-1623871500059;123
diff --git 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldHasher2/description.json
 
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldHasher2/description.json
deleted file mode 100644
index 0de2f317cd..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldHasher2/description.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-  "name": "field_hasher",
-  "config": [
-    {
-      "type": "drop-down",
-      "selector": "property-mapping",
-      "value": "sensorId"
-    },
-    { "type": "radio", "selector": "hash-algorithm", "value": "MD5" }
-  ]
-}
diff --git 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldHasher2/expected.csv
 
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldHasher2/expected.csv
deleted file mode 100644
index bad17b41ad..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldHasher2/expected.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-timestamp;sensorId
-1623871499055;900150983cd24fb0d6963f7d28e17f72
-1623871500059;202cb962ac59075b964b07152d234b70
diff --git 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldHasher2/input.csv 
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldHasher2/input.csv
deleted file mode 100644
index 3f2fd7638a..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldHasher2/input.csv
+++ /dev/null
@@ -1,5 +0,0 @@
-timestamp;sensorId
-1623871499055;abc
-1623871500059;123
-
-
diff --git 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldMapper1/description.json
 
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldMapper1/description.json
deleted file mode 100644
index 39424cb7cf..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldMapper1/description.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-  "name": "field_mapper",
-  "config": [
-    { "type": "checkbox", "selector": "value1", "value": "check" },
-    { "type": "checkbox", "selector": "value2", "value": "check" },
-    { "type": "input", "selector": "fieldName", "value": "hashedField" }
-  ]
-}
diff --git 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldMapper1/expected.csv
 
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldMapper1/expected.csv
deleted file mode 100644
index cddd87630b..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldMapper1/expected.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-timestamp;hashedField
-1623871499055;e80b5017098950fc58aad83c8c14978e
-1623871500059;e10adc3949ba59abbe56e057f20f883e
diff --git 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldMapper1/input.csv 
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldMapper1/input.csv
deleted file mode 100644
index 38082515b0..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldMapper1/input.csv
+++ /dev/null
@@ -1,5 +0,0 @@
-timestamp;value1;value2
-1623871499055;abc;def
-1623871500059;123;456
-
-
diff --git 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldRenamer1/description.json
 
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldRenamer1/description.json
deleted file mode 100644
index 680c0df867..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldRenamer1/description.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "name": "field_renamer",
-  "config": [
-    { "type": "drop-down", "selector": "convert-property", "value": "count" },
-    { "type": "input", "selector": "field-name", "value": "newname" }
-  ]
-}
diff --git 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldRenamer1/expected.csv
 
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldRenamer1/expected.csv
deleted file mode 100644
index a03ba37cc7..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldRenamer1/expected.csv
+++ /dev/null
@@ -1,11 +0,0 @@
-timestamp;newname
-1623871499055;122.0
-1623871500059;123.0
-1623871501064;124.0
-1623871502070;125.0
-1623871503078;126.0
-1623871504082;127.0
-1623871505084;128.0
-1623871506086;129.0
-1623871507091;130.0
-1623871508093;131.0
diff --git 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldRenamer1/input.csv
 
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldRenamer1/input.csv
deleted file mode 100644
index ac4fd1b928..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldRenamer1/input.csv
+++ /dev/null
@@ -1,11 +0,0 @@
-timestamp;count
-1623871499055;122.0
-1623871500059;123.0
-1623871501064;124.0
-1623871502070;125.0
-1623871503078;126.0
-1623871504082;127.0
-1623871505084;128.0
-1623871506086;129.0
-1623871507091;130.0
-1623871508093;131.0
diff --git 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/signalEdgeFilter1/description.json
 
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/signalEdgeFilter1/description.json
deleted file mode 100644
index d19d9560b4..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/signalEdgeFilter1/description.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-  "name": "signal_edge_filter",
-  "config": [
-    {
-      "type": "drop-down",
-      "selector": "boolean_signal_field",
-      "value": "booleanEdge"
-    },
-    { "type": "radio", "selector": "flank", "value": "BOTH" },
-    { "type": "input", "selector": "delay", "value": "0" },
-    { "type": "radio", "selector": "event-selection-id", "value": "Last" }
-  ]
-}
diff --git 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/signalEdgeFilter1/expected.csv
 
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/signalEdgeFilter1/expected.csv
deleted file mode 100644
index 7470d5ba12..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/signalEdgeFilter1/expected.csv
+++ /dev/null
@@ -1,6 +0,0 @@
-timestamp;booleanEdge
-1623871499055;true
-1623871502070;false
-1623871505084;true
-1623871507091;false
-1623871508093;true
diff --git 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/signalEdgeFilter1/input.csv
 
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/signalEdgeFilter1/input.csv
deleted file mode 100644
index cfd55885b0..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/signalEdgeFilter1/input.csv
+++ /dev/null
@@ -1,11 +0,0 @@
-timestamp;booleanEdge
-1623871499055;true
-1623871500059;true
-1623871501064;true
-1623871502070;false
-1623871503078;false
-1623871504082;false
-1623871505084;true
-1623871506086;true
-1623871507091;false
-1623871508093;true
diff --git 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/splitArray1/description.json
 
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/splitArray1/description.json
deleted file mode 100644
index ca76285518..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/splitArray1/description.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-  "name": "split_array",
-  "config": [
-    {
-      "type": "drop-down",
-      "selector": "array-field",
-      "value": "arrayProperty"
-    },
-    { "type": "checkbox", "selector": "timestamp", "value": "check" }
-  ]
-}
diff --git 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/splitArray1/expected.csv
 
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/splitArray1/expected.csv
deleted file mode 100644
index 9bb212a008..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/splitArray1/expected.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-timestamp;array_value
-1623871500059;4.0
-1623871508093;1.0
diff --git 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/splitArray1/input.json 
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/splitArray1/input.json
deleted file mode 100644
index 9b7021bbcc..0000000000
--- 
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/splitArray1/input.json
+++ /dev/null
@@ -1,4 +0,0 @@
-[
-  { "timestamp": 1623871500059, "arrayProperty": [1, 4] },
-  { "timestamp": 1623871508093, "arrayProperty": [1] }
-]
diff --git a/ui/cypress/plugins/index.ts b/ui/cypress/plugins/index.ts
index d850a05d78..0c0cea3121 100644
--- a/ui/cypress/plugins/index.ts
+++ b/ui/cypress/plugins/index.ts
@@ -32,6 +32,13 @@ import { ProcessorTest } from 
'../support/model/ProcessorTest';
 
 // tslint:disable-next-line:no-var-requires
 const { rmdir } = require('fs');
+const supportedProcessingElementTests = new Set([
+    'enrich-jvm/jsEvaluator1',
+    'enrich-jvm/jsEvaluator2',
+    'filters-siddhi/increase1',
+    'filters-siddhi/increase2',
+    'filters-siddhi/increase3',
+]);
 
 function readProcessingElements(): ProcessorTest[] {
     const result: ProcessorTest[] = [];
@@ -43,17 +50,19 @@ function readProcessingElements(): ProcessorTest[] {
             'cypress/fixtures/pipelineElement/' + dir,
         );
         subfolder.forEach(test => {
+            const fixturePath = dir + '/' + test;
+            if (!supportedProcessingElementTests.has(fixturePath)) {
+                return;
+            }
             const testDescription = fs.readFileSync(
                 'cypress/fixtures/pipelineElement/' +
-                    dir +
-                    '/' +
-                    test +
+                    fixturePath +
                     '/description.json',
             );
             // @ts-ignore
             const pt = new ProcessorTest();
             pt.name = test;
-            pt.dir = dir + '/' + test;
+            pt.dir = fixturePath;
 
             const configDir = fs.readdirSync(
                 'cypress/fixtures/pipelineElement/' + pt.dir,

Reply via email to