@@ -147,117 +147,102 @@ public Optional<TestStepResult> findMostSevereTestStepResulBy(TestCaseStarted te
147147 public String findNameOf (GherkinDocument element , NamingStrategy namingStrategy ) {
148148 requireNonNull (element );
149149 requireNonNull (namingStrategy );
150- return findLineageBy (element )
151- .map (namingStrategy ::reduce )
150+ return reduceLinageOf (element , namingStrategy )
152151 .orElseThrow (createElementWasNotPartOfThisQueryObject ());
153152 }
154153
155154 public String findNameOf (Feature element , NamingStrategy namingStrategy ) {
156155 requireNonNull (element );
157156 requireNonNull (namingStrategy );
158- return findLineageBy (element )
159- .map (namingStrategy ::reduce )
157+ return reduceLinageOf (element , namingStrategy )
160158 .orElseThrow (createElementWasNotPartOfThisQueryObject ());
161159 }
162160
163161 public String findNameOf (Rule element , NamingStrategy namingStrategy ) {
164162 requireNonNull (element );
165163 requireNonNull (namingStrategy );
166- return findLineageBy (element )
167- .map (namingStrategy ::reduce )
164+ return reduceLinageOf (element , namingStrategy )
168165 .orElseThrow (createElementWasNotPartOfThisQueryObject ());
169166 }
170167
171168 public String findNameOf (Scenario element , NamingStrategy namingStrategy ) {
172169 requireNonNull (element );
173170 requireNonNull (namingStrategy );
174- return findLineageBy (element )
175- .map (namingStrategy ::reduce )
171+ return reduceLinageOf (element , namingStrategy )
176172 .orElseThrow (createElementWasNotPartOfThisQueryObject ());
177173 }
178174
179175 public String findNameOf (Examples element , NamingStrategy namingStrategy ) {
180176 requireNonNull (element );
181177 requireNonNull (namingStrategy );
182- return findLineageBy (element )
183- .map (namingStrategy ::reduce )
178+ return reduceLinageOf (element , namingStrategy )
184179 .orElseThrow (createElementWasNotPartOfThisQueryObject ());
185180 }
186181
187182 public String findNameOf (TableRow element , NamingStrategy namingStrategy ) {
188183 requireNonNull (element );
189184 requireNonNull (namingStrategy );
190- return findLineageBy (element )
191- .map (namingStrategy ::reduce )
185+ return reduceLinageOf (element , namingStrategy )
192186 .orElseThrow (createElementWasNotPartOfThisQueryObject ());
193187 }
194188
195189 public Optional <String > findNameOf (Pickle element , NamingStrategy namingStrategy ) {
196190 requireNonNull (element );
197191 requireNonNull (namingStrategy );
198- return findLineageBy (element )
199- .map (lineage -> namingStrategy .reduce (lineage , element ));
192+ return reduceLinageOf (element , namingStrategy );
200193 }
201194
202195 private static Supplier <IllegalArgumentException > createElementWasNotPartOfThisQueryObject () {
203196 return () -> new IllegalArgumentException ("Element was not part of this query object" );
204197 }
205198
206- <T > Optional <T > reduceLinageOf (GherkinDocument element , Supplier < LineageCollector < T >> reducerSupplier ) {
199+ <T > Optional <T > reduceLinageOf (GherkinDocument element , LineageReducer < T > reducer ) {
207200 requireNonNull (element );
208- requireNonNull (reducerSupplier );
209- LineageReducerDescending <T > strategy = new LineageReducerDescending <>(reducerSupplier );
201+ requireNonNull (reducer );
210202 return findLineageBy (element )
211- .map (strategy ::reduce );
203+ .map (reducer ::reduce );
212204 }
213205
214- <T > Optional <T > reduceLinageOf (Feature element , Supplier < LineageCollector < T >> reducerSupplier ) {
206+ <T > Optional <T > reduceLinageOf (Feature element , LineageReducer < T > reducer ) {
215207 requireNonNull (element );
216- requireNonNull (reducerSupplier );
217- LineageReducerDescending <T > strategy = new LineageReducerDescending <>(reducerSupplier );
208+ requireNonNull (reducer );
218209 return findLineageBy (element )
219- .map (strategy ::reduce );
210+ .map (reducer ::reduce );
220211 }
221212
222-
223- <T > Optional <T > reduceLinageOf (Rule element , Supplier <LineageCollector <T >> reducerSupplier ) {
213+ <T > Optional <T > reduceLinageOf (Rule element , LineageReducer <T > reducer ) {
224214 requireNonNull (element );
225- requireNonNull (reducerSupplier );
226- LineageReducerDescending <T > strategy = new LineageReducerDescending <>(reducerSupplier );
215+ requireNonNull (reducer );
227216 return findLineageBy (element )
228- .map (strategy ::reduce );
217+ .map (reducer ::reduce );
229218 }
230219
231- <T > Optional <T > reduceLinageOf (Scenario element , Supplier < LineageCollector < T >> reducerSupplier ) {
220+ <T > Optional <T > reduceLinageOf (Scenario element , LineageReducer < T > reducer ) {
232221 requireNonNull (element );
233- requireNonNull (reducerSupplier );
234- LineageReducerDescending <T > strategy = new LineageReducerDescending <>(reducerSupplier );
222+ requireNonNull (reducer );
235223 return findLineageBy (element )
236- .map (strategy ::reduce );
224+ .map (reducer ::reduce );
237225 }
238226
239- <T > Optional <T > reduceLinageOf (Examples element , Supplier < LineageCollector < T >> reducerSupplier ) {
227+ <T > Optional <T > reduceLinageOf (Examples element , LineageReducer < T > reducer ) {
240228 requireNonNull (element );
241- requireNonNull (reducerSupplier );
242- LineageReducerDescending <T > strategy = new LineageReducerDescending <>(reducerSupplier );
229+ requireNonNull (reducer );
243230 return findLineageBy (element )
244- .map (strategy ::reduce );
231+ .map (reducer ::reduce );
245232 }
246233
247- <T > Optional <T > reduceLinageOf (TableRow element , Supplier < LineageCollector < T >> reducerSupplier ) {
234+ <T > Optional <T > reduceLinageOf (TableRow element , LineageReducer < T > reducer ) {
248235 requireNonNull (element );
249- requireNonNull (reducerSupplier );
250- LineageReducerDescending <T > strategy = new LineageReducerDescending <>(reducerSupplier );
236+ requireNonNull (reducer );
251237 return findLineageBy (element )
252- .map (strategy ::reduce );
238+ .map (reducer ::reduce );
253239 }
254240
255- <T > Optional <T > reduceLinageOf (Pickle element , Supplier < LineageCollector < T >> reducerSupplier ) {
241+ <T > Optional <T > reduceLinageOf (Pickle element , LineageReducer < T > reducer ) {
256242 requireNonNull (element );
257- requireNonNull (reducerSupplier );
258- LineageReducerDescending <T > strategy = new LineageReducerDescending <>(reducerSupplier );
243+ requireNonNull (reducer );
259244 return findLineageBy (element )
260- .map (lineage -> strategy .reduce (lineage , element ));
245+ .map (lineage -> reducer .reduce (lineage , element ));
261246 }
262247
263248 public Optional <Pickle > findPickleBy (TestCaseStarted testCaseStarted ) {
0 commit comments