1+ using System . Buffers ;
12using System . Collections . Immutable ;
23using System . Linq ;
34using Xunit ;
@@ -71,11 +72,28 @@ public void TestSubset3_3()
7172 char [ ] [ ] actual = Set3 . Subsets ( 3 ) . ToArray ( ) ;
7273 Assert . Equal ( expected , actual ) ;
7374
75+ actual = Set3
76+ . Subsets ( 3 , ArrayPool < char > . Shared , true )
77+ . Select ( Selector ) . ToArray ( ) ;
78+ Assert . Equal ( expected , actual ) ;
79+
7480 char [ ] [ ] progressive = Set3 . SubsetsProgressive ( 3 ) . ToArray ( ) ;
7581 Assert . Equal ( expected , progressive ) ;
76- }
7782
78- [ Fact ]
83+ progressive = Set3
84+ . SubsetsProgressive ( 3 , ArrayPool < char > . Shared , true )
85+ . Select ( Selector ) . ToArray ( ) ;
86+ Assert . Equal ( expected , progressive ) ;
87+ }
88+
89+ static T [ ] Selector < T > ( ArrayPoolSegment < T > e )
90+ {
91+ T [ ] a = e . Segment . ToArray ( ) ;
92+ e . Dispose ( ) ;
93+ return a ;
94+ }
95+
96+ [ Fact ]
7997 public void TestSubset4_4 ( )
8098 {
8199 int [ ] [ ] expected = new int [ ] [ ] {
@@ -88,9 +106,19 @@ public void TestSubset4_4()
88106 int [ ] [ ] actual = Set4 . Subsets ( 4 ) . ToArray ( ) ;
89107 Assert . Equal ( expected , actual ) ;
90108
109+ actual = Set4
110+ . Subsets ( 4 , ArrayPool < int > . Shared )
111+ . Select ( Selector ) . ToArray ( ) ;
112+ Assert . Equal ( expected , actual ) ;
113+
91114 int [ ] [ ] progressive = Set4 . SubsetsProgressive ( 4 ) . ToArray ( ) ;
92- Assert . Equal ( expected , progressive ) ;
93- }
115+ Assert . Equal ( expected , progressive ) ;
116+
117+ progressive = Set4
118+ . SubsetsProgressive ( 4 , ArrayPool < int > . Shared )
119+ . Select ( Selector ) . ToArray ( ) ;
120+ Assert . Equal ( expected , progressive ) ;
121+ }
94122
95123 [ Fact ]
96124 public void TestSubset4_3 ( )
0 commit comments