1+ using System . Collections . Immutable ;
12using System . Numerics ;
23using System . Text ;
34using static System . Globalization . CultureInfo ;
@@ -18,15 +19,15 @@ public static void GrowableBuffer()
1819 Equal ( 2 , builder . Capacity ) ;
1920 Equal ( 2 , builder . FreeCapacity ) ;
2021
21- builder . Write ( stackalloc int [ ] { 10 , 20 } ) ;
22+ builder . Write ( [ 10 , 20 ] ) ;
2223 Equal ( 2 , builder . WrittenCount ) ;
2324 Equal ( 2 , builder . Capacity ) ;
2425 Equal ( 0 , builder . FreeCapacity ) ;
2526
2627 Equal ( 10 , builder [ 0 ] ) ;
2728 Equal ( 20 , builder [ 1 ] ) ;
2829
29- builder . Write ( stackalloc int [ ] { 30 , 40 } ) ;
30+ builder . Write ( [ 30 , 40 ] ) ;
3031 Equal ( 4 , builder . WrittenCount ) ;
3132 True ( builder . Capacity >= 2 ) ;
3233 Equal ( 30 , builder [ 2 ] ) ;
@@ -38,17 +39,17 @@ public static void GrowableBuffer()
3839
3940 builder . Clear ( true ) ;
4041 Equal ( 0 , builder . WrittenCount ) ;
41- builder . Write ( stackalloc int [ ] { 50 , 60 , 70 , 80 } ) ;
42+ builder . Write ( [ 50 , 60 , 70 , 80 ] ) ;
4243 Equal ( 4 , builder . WrittenCount ) ;
4344 True ( builder . Capacity >= 2 ) ;
4445 Equal ( 50 , builder [ 0 ] ) ;
4546 Equal ( 60 , builder [ 1 ] ) ;
4647 Equal ( 70 , builder [ 2 ] ) ;
4748 Equal ( 80 , builder [ 3 ] ) ;
4849
49- builder . Clear ( false ) ;
50+ builder . Clear ( ) ;
5051 Equal ( 0 , builder . WrittenCount ) ;
51- builder . Write ( stackalloc int [ ] { 10 , 20 , 30 , 40 } ) ;
52+ builder . Write ( [ 10 , 20 , 30 , 40 ] ) ;
5253 Equal ( 4 , builder . WrittenCount ) ;
5354 True ( builder . Capacity >= 2 ) ;
5455 Equal ( 10 , builder [ 0 ] ) ;
@@ -454,4 +455,66 @@ public static void EncodeDecodeString(string encodingName, LengthFormat? format)
454455 Equal ( expected , actual . Span ) ;
455456 }
456457 }
458+
459+ [ Fact ]
460+ public static void AddList ( )
461+ {
462+ var writer = new BufferWriterSlim < int > ( ) ;
463+ try
464+ {
465+ writer . AddAll ( new List < int > { 1 , 2 } ) ;
466+ Equal ( [ 1 , 2 ] , writer . WrittenSpan ) ;
467+ }
468+ finally
469+ {
470+ writer . Dispose ( ) ;
471+ }
472+ }
473+
474+ [ Fact ]
475+ public static void AddArray ( )
476+ {
477+ var writer = new BufferWriterSlim < int > ( ) ;
478+ try
479+ {
480+ writer . AddAll ( [ 1 , 2 ] ) ;
481+ Equal ( [ 1 , 2 ] , writer . WrittenSpan ) ;
482+ }
483+ finally
484+ {
485+ writer . Dispose ( ) ;
486+ }
487+ }
488+
489+ [ Fact ]
490+ public static void AddString ( )
491+ {
492+ var writer = new BufferWriterSlim < char > ( ) ;
493+ try
494+ {
495+ const string expected = "ab" ;
496+ writer . AddAll ( expected ) ;
497+
498+ Equal ( expected , writer . WrittenSpan ) ;
499+ }
500+ finally
501+ {
502+ writer . Dispose ( ) ;
503+ }
504+ }
505+
506+ [ Fact ]
507+ public static void AddCountableCollection ( )
508+ {
509+ var writer = new BufferWriterSlim < int > ( ) ;
510+ try
511+ {
512+ writer . AddAll ( ImmutableList . Create ( 1 , 2 ) ) ;
513+ Equal ( [ 1 , 2 ] , writer . WrittenSpan ) ;
514+ }
515+ finally
516+ {
517+ writer . Dispose ( ) ;
518+ }
519+ }
457520}
0 commit comments