11partial class PolyfillTests
22{
3+
34#if FeatureMemory
5+
46 [ Test ]
57 public void RandomNextBytesSpan ( )
68 {
79 var random = new Random ( ) ;
810 Span < byte > buffer = new byte [ 10 ] ;
911 random . NextBytes ( buffer ) ;
10- Assert . IsTrue ( buffer . ToArray ( ) . Any ( b => b != 0 ) ) ;
12+ Assert . IsTrue ( buffer . ToArray ( ) . Any ( _ => _ != 0 ) ) ;
13+ }
14+
15+ [ Test ]
16+ public void RandomGetItems_ReadOnlySpan_Span ( )
17+ {
18+ var random = new Random ( ) ;
19+ ReadOnlySpan < int > choices = [ 1 , 2 , 3 , 4 , 5 ] ;
20+ Span < int > destination = new int [ 10 ] ;
21+ random . GetItems ( choices , destination ) ;
22+
23+ Assert . IsTrue ( destination . Length == 10 ) ;
24+ foreach ( var item in destination )
25+ {
26+ Assert . IsTrue ( choices . Contains ( item ) ) ;
27+ }
28+ }
29+
30+ [ Test ]
31+ public void RandomGetItems_ReadOnlySpan_Int ( )
32+ {
33+ var random = new Random ( ) ;
34+ ReadOnlySpan < int > choices = [ 1 , 2 , 3 , 4 , 5 ] ;
35+ var length = 10 ;
36+ var result = random . GetItems ( choices , length ) ;
37+
38+ Assert . AreEqual ( length , result . Length ) ;
39+ foreach ( var item in result )
40+ {
41+ Assert . Contains ( item , choices . ToArray ( ) ) ;
42+ }
43+ }
44+
45+ [ Test ]
46+ public void RandomGetItems_Array_Int ( )
47+ {
48+ var random = new Random ( ) ;
49+ int [ ] choices = [ 1 , 2 , 3 , 4 , 5 ] ;
50+ var length = 10 ;
51+ var result = random . GetItems ( choices , length ) ;
52+
53+ Assert . AreEqual ( length , result . Length ) ;
54+ foreach ( var item in result )
55+ {
56+ Assert . Contains ( item , choices ) ;
57+ }
1158 }
1259
1360 [ Test ]
@@ -19,7 +66,9 @@ public void RandomShuffleSpan()
1966 random . Shuffle ( buffer ) ;
2067 Assert . IsTrue ( buffer . ToArray ( ) . Any ( b => b != 0 ) ) ;
2168 }
69+
2270#endif
71+
2372 [ Test ]
2473 public void RandomShuffleArray ( )
2574 {
0 commit comments