1 using System.Collections.Generic;
\r
3 using CoverageFramework.Element.Selector;
\r
6 namespace CoverageFramework.Utility
\r
8 public static class XElementSelectorUtil
\r
10 public static IXElementSelector Merge(IEnumerable<IXElementSelector> selectors)
\r
12 return new XElementSelectorUnion(selectors);
\r
15 public static IXElementSelector Merge(params IXElementSelector[] selectors)
\r
17 return Merge((IEnumerable<IXElementSelector>)selectors);
\r
20 public static IXElementRangeSelector Merge(IEnumerable<IXElementRangeSelector> rangeSelectors)
\r
22 return new XElementRangeSelectorUnion(rangeSelectors);
\r
25 public static IXElementRangeSelector Merge(params IXElementRangeSelector[] rangeSelectors)
\r
27 return Merge((IEnumerable<IXElementRangeSelector>)rangeSelectors);
\r
30 public static IXElementSelector Chain(IEnumerable<IXElementSelector> selectors)
\r
32 return selectors.Aggregate((current, next) => new XElementSelectorPipe(current, next));
\r
35 public static IXElementSelector Chain(params IXElementSelector[] rangeSelectors)
\r
37 return Chain((IEnumerable<IXElementSelector>)rangeSelectors);
\r
40 public static IXElementRangeSelector Chain(IEnumerable<IXElementRangeSelector> rangeSelectors)
\r
42 return rangeSelectors.Aggregate((current, next) => new XElementRangeSelectorPipe(current, next));
\r
45 public static IXElementRangeSelector Chain(params IXElementRangeSelector[] rangeSelectors)
\r
47 return Chain((IEnumerable<IXElementRangeSelector>)rangeSelectors);
\r