@@ -36,20 +36,60 @@ class MqttSubscriptionFlowTreeTest extends MqttSubscriptionFlowsTest {
3636
3737 @ ParameterizedTest
3838 @ CsvSource ({
39+ // split single level before and after
3940 "unsubscribe, test/topic1, test/topic2, test/topic3, test/topic1, test/topic2, test/topic3" ,
41+ // split single level before, single level wildcard after
4042 "unsubscribe, test/+, test/topic2, test/topic3, test/topic1, test/topic2, test/topic3" ,
43+ // split single level before, single level wildcard after, fuse different order
44+ "unsubscribe, test/topic1, test/topic2, test/+, test/topic1, test/topic2, test/topic3" ,
45+ // split multiple levels before, single level after
4146 "unsubscribe, test/topic/filter1, test/topic/filter2, test/topic/filter3, test/topic/filter1, test/topic/filter2, test/topic/filter3" ,
47+ // split multiple levels before, single level wildcard after
4248 "unsubscribe, test/topic/+, test/topic/filter2, test/topic/filter3, test/topic/filter1, test/topic/filter2, test/topic/filter3" ,
49+ // split multiple levels before, single level wildcard after, fuse different order
50+ "unsubscribe, test/topic/filter1, test/topic/filter2, test/topic/+, test/topic/filter1, test/topic/filter2, test/topic/filter3" ,
51+ // split single level before, multiple levels after
4352 "unsubscribe, test/topic1/filter, test/topic2/filter, test/topic3/filter, test/topic1/filter, test/topic2/filter, test/topic3/filter" ,
53+ // split single level before, single level wildcard with multiple levels after
4454 "unsubscribe, test/+/filter, test/topic2/filter, test/topic3/filter, test/topic1/filter, test/topic2/filter, test/topic3/filter" ,
55+ // split single level before, single level wildcard with multiple levels after, fuse different order
56+ "unsubscribe, test/topic1/filter, test/topic2/filter, test/+/filter, test/topic1/filter, test/topic2/filter, test/topic3/filter" ,
57+ // split multiple levels before, multiple levels after
58+ "unsubscribe, test/topic/filter1/abc, test/topic/filter2/abc, test/topic/filter3/abc, test/topic/filter1/abc, test/topic/filter2/abc, test/topic/filter3/abc" ,
59+ // split multi levels before, single level wildcard with multiple levels after
60+ "unsubscribe, test/topic/+/abc, test/topic/filter2/abc, test/topic/filter3/abc, test/topic/filter1/abc, test/topic/filter2/abc, test/topic/filter3/abc" ,
61+ // split multi levels before, single level wildcard with multiple levels after, fuse different order
62+ "unsubscribe, test/topic/filter1/abc, test/topic/filter2/abc, test/topic/+/abc, test/topic/filter1/abc, test/topic/filter2/abc, test/topic/filter3/abc" ,
63+ // split single level wildcard before, single level after
64+ "unsubscribe, +/topic1, +/topic2, +/topic3, test/topic1, test/topic2, test/topic3" ,
65+ // split single level wildcard before, multiple levels after
66+ "unsubscribe, +/topic1/filter, +/topic2/filter, +/topic3/filter, test/topic1/filter, test/topic2/filter, test/topic3/filter" ,
67+ // split single level wildcard with multiple levels before, single level after
68+ "unsubscribe, +/topic/filter1, +/topic/filter2, +/topic/filter3, test/topic/filter1, test/topic/filter2, test/topic/filter3" ,
69+ // split single level wildcard with multiple levels before, multiple levels after
70+ "unsubscribe, +/topic/filter1/abc, +/topic/filter2/abc, +/topic/filter3/abc, test/topic/filter1/abc, test/topic/filter2/abc, test/topic/filter3/abc" ,
71+ // split linear chain
4572 "unsubscribe, test/topic/filter, test/topic//filter, test/topic///filter, test/topic/filter, test/topic//filter, test/topic///filter" ,
73+ // split linear chain, do not fuse
74+ "unsubscribe, test/topic/filter, test/topic//filter, test/topic///filter, test/topic///filter, test/topic//filter, test/topic/filter" ,
4675 "remove, test/topic1, test/topic2, test/topic3, test/topic1, test/topic2, test/topic3" ,
4776 "remove, test/+, test/topic2, test/topic3, test/topic1, test/topic2, test/topic3" ,
77+ "remove, test/topic1, test/topic2, test/+, test/topic1, test/topic2, test/topic3" ,
4878 "remove, test/topic/filter1, test/topic/filter2, test/topic/filter3, test/topic/filter1, test/topic/filter2, test/topic/filter3" ,
4979 "remove, test/topic/+, test/topic/filter2, test/topic/filter3, test/topic/filter1, test/topic/filter2, test/topic/filter3" ,
80+ "remove, test/topic/filter1, test/topic/filter2, test/topic/+, test/topic/filter1, test/topic/filter2, test/topic/filter3" ,
5081 "remove, test/topic1/filter, test/topic2/filter, test/topic3/filter, test/topic1/filter, test/topic2/filter, test/topic3/filter" ,
5182 "remove, test/+/filter, test/topic2/filter, test/topic3/filter, test/topic1/filter, test/topic2/filter, test/topic3/filter" ,
83+ "remove, test/topic1/filter, test/topic2/filter, test/+/filter, test/topic1/filter, test/topic2/filter, test/topic3/filter" ,
84+ "remove, test/topic/filter1/abc, test/topic/filter2/abc, test/topic/filter3/abc, test/topic/filter1/abc, test/topic/filter2/abc, test/topic/filter3/abc" ,
85+ "remove, test/topic/+/abc, test/topic/filter2/abc, test/topic/filter3/abc, test/topic/filter1/abc, test/topic/filter2/abc, test/topic/filter3/abc" ,
86+ "remove, test/topic/filter1/abc, test/topic/filter2/abc, test/topic/+/abc, test/topic/filter1/abc, test/topic/filter2/abc, test/topic/filter3/abc" ,
87+ "remove, +/filter1, +/filter2, +/filter3, topic/filter1, topic/filter2, topic/filter3" ,
88+ "remove, +/topic1/filter, +/topic2/filter, +/topic3/filter, test/topic1/filter, test/topic2/filter, test/topic3/filter" ,
89+ "remove, +/topic/filter1, +/topic/filter2, +/topic/filter3, test/topic/filter1, test/topic/filter2, test/topic/filter3" ,
90+ "remove, +/topic/filter1/abc, +/topic/filter2/abc, +/topic/filter3/abc, test/topic/filter1/abc, test/topic/filter2/abc, test/topic/filter3/abc" ,
5291 "remove, test/topic/filter, test/topic//filter, test/topic///filter, test/topic/filter, test/topic//filter, test/topic///filter" ,
92+ "remove, test/topic/filter, test/topic//filter, test/topic///filter, test/topic///filter, test/topic//filter, test/topic/filter" ,
5393 })
5494 void branching_compaction (
5595 final @ NotNull String compactOperation , final @ NotNull String filter1 , final @ NotNull String filter2 ,
0 commit comments