@@ -15,15 +15,15 @@ public class Test_ArrayPoolExtensions
15
15
{
16
16
[ TestMethod ]
17
17
[ ExpectedException ( typeof ( ArgumentOutOfRangeException ) ) ]
18
- public void Test_ArrayExtensions_InvalidSize ( )
18
+ public void Test_ArrayPoolExtensions_Resize_InvalidSize ( )
19
19
{
20
20
int [ ] ? array = null ;
21
21
22
22
ArrayPool < int > . Shared . Resize ( ref array , - 1 ) ;
23
23
}
24
24
25
25
[ TestMethod ]
26
- public void Test_ArrayExtensions_NewArray ( )
26
+ public void Test_ArrayPoolExtensions_Resize_NewArray ( )
27
27
{
28
28
int [ ] ? array = null ;
29
29
@@ -34,7 +34,7 @@ public void Test_ArrayExtensions_NewArray()
34
34
}
35
35
36
36
[ TestMethod ]
37
- public void Test_ArrayExtensions_SameSize ( )
37
+ public void Test_ArrayPoolExtensions_Resize_SameSize ( )
38
38
{
39
39
int [ ] array = ArrayPool < int > . Shared . Rent ( 10 ) ;
40
40
int [ ] backup = array ;
@@ -45,7 +45,7 @@ public void Test_ArrayExtensions_SameSize()
45
45
}
46
46
47
47
[ TestMethod ]
48
- public void Test_ArrayExtensions_Expand ( )
48
+ public void Test_ArrayPoolExtensions_Resize_Expand ( )
49
49
{
50
50
int [ ] array = ArrayPool < int > . Shared . Rent ( 16 ) ;
51
51
int [ ] backup = array ;
@@ -60,7 +60,7 @@ public void Test_ArrayExtensions_Expand()
60
60
}
61
61
62
62
[ TestMethod ]
63
- public void Test_ArrayExtensions_Shrink ( )
63
+ public void Test_ArrayPoolExtensions_Resize_Shrink ( )
64
64
{
65
65
int [ ] array = ArrayPool < int > . Shared . Rent ( 32 ) ;
66
66
int [ ] backup = array ;
@@ -75,7 +75,7 @@ public void Test_ArrayExtensions_Shrink()
75
75
}
76
76
77
77
[ TestMethod ]
78
- public void Test_ArrayExtensions_Clear ( )
78
+ public void Test_ArrayPoolExtensions_Resize_Clear ( )
79
79
{
80
80
int [ ] array = ArrayPool < int > . Shared . Rent ( 16 ) ;
81
81
int [ ] backup = array ;
@@ -87,4 +87,73 @@ public void Test_ArrayExtensions_Clear()
87
87
Assert . AreNotSame ( array , backup ) ;
88
88
Assert . IsTrue ( backup . AsSpan ( 0 , 16 ) . ToArray ( ) . All ( i => i == 0 ) ) ;
89
89
}
90
+
91
+ [ TestMethod ]
92
+ [ ExpectedException ( typeof ( ArgumentOutOfRangeException ) ) ]
93
+ public void Test_ArrayPoolExtensions_EnsureCapacity_InvalidCapacity ( )
94
+ {
95
+ int [ ] ? array = null ;
96
+
97
+ ArrayPool < int > . Shared . EnsureCapacity ( ref array , - 1 ) ;
98
+ }
99
+
100
+ [ TestMethod ]
101
+ public void Test_ArrayPoolExtensions_EnsureCapacity_IdenticalCapacity ( )
102
+ {
103
+ int [ ] ? array = ArrayPool < int > . Shared . Rent ( 10 ) ;
104
+ int [ ] ? backup = array ;
105
+
106
+ ArrayPool < int > . Shared . EnsureCapacity ( ref array , 10 ) ;
107
+ Assert . AreSame ( backup , array ) ;
108
+ Assert . IsTrue ( array . Length >= 10 ) ;
109
+ }
110
+
111
+ [ TestMethod ]
112
+ public void Test_ArrayPoolExtensions_EnsureCapacity_NewArray ( )
113
+ {
114
+ int [ ] ? array = null ;
115
+
116
+ ArrayPool < int > . Shared . EnsureCapacity ( ref array , 7 ) ;
117
+
118
+ Assert . IsNotNull ( array ) ;
119
+ Assert . IsTrue ( array . Length >= 7 ) ;
120
+ int [ ] ? backup = array ;
121
+
122
+ ArrayPool < int > . Shared . EnsureCapacity ( ref array , 64 ) ;
123
+
124
+ Assert . AreNotSame ( backup , array ) ;
125
+ Assert . IsTrue ( array . Length >= 64 ) ;
126
+ }
127
+
128
+ [ TestMethod ]
129
+ public void Test_ArrayPoolExtensions_EnsureCapacity_SufficientCapacity ( )
130
+ {
131
+ int [ ] ? array = ArrayPool < int > . Shared . Rent ( 16 ) ;
132
+ int [ ] ? backup = array ;
133
+
134
+ ArrayPool < int > . Shared . EnsureCapacity ( ref array , 8 ) ;
135
+ Assert . AreSame ( backup , array ) ;
136
+
137
+ ArrayPool < int > . Shared . EnsureCapacity ( ref array , 16 ) ;
138
+ Assert . AreSame ( backup , array ) ;
139
+
140
+ ArrayPool < int > . Shared . EnsureCapacity ( ref array , 0 ) ;
141
+ Assert . AreSame ( backup , array ) ;
142
+ }
143
+
144
+ [ TestMethod ]
145
+ public void Test_ArrayPoolExtensions_EnsureCapacity_ClearArray ( )
146
+ {
147
+ int [ ] ? array = ArrayPool < int > . Shared . Rent ( 16 ) ;
148
+ int [ ] ? backup = array ;
149
+
150
+ array . AsSpan ( ) . Fill ( 7 ) ;
151
+ Assert . IsTrue ( backup . All ( i => i == 7 ) ) ;
152
+
153
+ ArrayPool < int > . Shared . EnsureCapacity ( ref array , 256 , true ) ;
154
+
155
+ Assert . AreNotSame ( backup , array ) ;
156
+ Assert . IsTrue ( backup . All ( i => i == default ) ) ;
157
+ Assert . IsTrue ( array . Length >= 256 ) ;
158
+ }
90
159
}
0 commit comments