This is an automated email from the ASF dual-hosted git repository. zehnder pushed a commit to branch add-new-unit-tests-for-processing-elements in repository https://gitbox.apache.org/repos/asf/streampipes.git
commit c4b78f6537fac7014f145feaa0242faace05352d Merge: a408969d7a d628cd9b8a Author: Philipp Zehnder <[email protected]> AuthorDate: Tue Mar 17 20:21:27 2026 +0100 Merge branch 'dev' into add-new-unit-tests-for-processing-elements .../enricher/jvm/processor/valuechange/ValueChangeProcessorTest.java | 1 - .../processors/filters/jvm/processor/limit/RateLimitProcessorTest.java | 1 - 2 files changed, 2 deletions(-) diff --cc streampipes-extensions/streampipes-processors-enricher-jvm/src/test/java/org/apache/streampipes/processors/enricher/jvm/processor/valuechange/ValueChangeProcessorTest.java index 618d77b79f,ecbec67bce..997c27c35f --- 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 @@@ -66,32 -66,4 +66,31 @@@ class ValueChangeProcessorTest testExecutor.run(inputEvents, expectedEvents); } - + @Test + void detectsDifferentTransitionConfiguration() { + TestConfiguration configuration = TestConfiguration.builder() + .configWithDefaultPrefix("change-value-mapping", "numberlist") + .config("from-property-value", 2.0f) + .config("to-property-value", 5.0f) + .build(); + + List<Map<String, Object>> inputEvents = List.of( + Map.of("timestamp", 1L, "numberlist", 2.0f), + Map.of("timestamp", 2L, "numberlist", 5.0f), + Map.of("timestamp", 3L, "numberlist", 5.0f), + Map.of("timestamp", 4L, "numberlist", 2.0f), + Map.of("timestamp", 5L, "numberlist", 5.0f) + ); + + List<Map<String, Object>> expectedEvents = List.of( + Map.of("timestamp", 1L, "numberlist", 2.0f, "isChanged", false), + Map.of("timestamp", 2L, "numberlist", 5.0f, "isChanged", true), + Map.of("timestamp", 3L, "numberlist", 5.0f, "isChanged", false), + Map.of("timestamp", 4L, "numberlist", 2.0f, "isChanged", false), + Map.of("timestamp", 5L, "numberlist", 5.0f, "isChanged", true) + ); + + new ProcessingElementTestExecutor(new ValueChangeProcessor(), configuration) + .run(inputEvents, expectedEvents); + } } diff --cc streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/limit/RateLimitProcessorTest.java index 35a81bf9eb,eeefb3b84d..d932aceb41 --- 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 @@@ -61,32 -61,4 +61,31 @@@ class RateLimitProcessorTest testExecutor.run(inputEvents, expectedEvents); } - + @Test + void forwardsFirstEventOfEachLengthWindow() { + TestConfiguration configuration = TestConfiguration.builder() + .config("grouping-enabled", "False") + .configWithDefaultPrefix("grouping-field", "randomnumber") + .config("window-type", "length-window") + .config("length-window-size", 3) + .config("event-selection", "First") + .build(); + + List<Map<String, Object>> inputEvents = List.of( + Map.of("timestamp", 1L, "randomnumber", 10.0d), + Map.of("timestamp", 2L, "randomnumber", 11.0d), + Map.of("timestamp", 3L, "randomnumber", 12.0d), + Map.of("timestamp", 4L, "randomnumber", 13.0d), + Map.of("timestamp", 5L, "randomnumber", 14.0d), + Map.of("timestamp", 6L, "randomnumber", 15.0d) + ); + + List<Map<String, Object>> expectedEvents = List.of( + Map.of("timestamp", 1L, "randomnumber", 10.0d), + Map.of("timestamp", 4L, "randomnumber", 13.0d) + ); + + new ProcessingElementTestExecutor(new RateLimitProcessor(), configuration) + .run(inputEvents, expectedEvents); + } }
