21
21
import java .util .Random ;
22
22
import java .util .zip .Checksum ;
23
23
import java .util .zip .CRC32 ;
24
+ import java .util .Iterator ;
24
25
import org .apache .commons .lang3 .tuple .Pair ;
25
26
import org .apache .commons .lang3 .ArrayUtils ;
26
27
@@ -138,6 +139,14 @@ public void testGetSetArrayPrimitives() {
138
139
for (int i = 0 ; i < capacity ; i ++) {
139
140
Assert .assertEquals (array .get (i ).intValue (), 100 + i );
140
141
}
142
+
143
+ Iterator <Integer > itr = array .iterator ();
144
+ int val = 0 ;
145
+ while (itr .hasNext ()) {
146
+ Assert .assertEquals (itr .next ().intValue (), 100 + val );
147
+ val ++;
148
+ }
149
+ Assert .assertEquals (val , capacity );
141
150
array .destroy ();
142
151
}
143
152
@@ -156,6 +165,15 @@ public void testGetSetArrayString() {
156
165
for (int i = 0 ; i < capacity ; i ++) {
157
166
Assert .assertEquals (array .get (i ), "string" + i );
158
167
}
168
+
169
+ Iterator <String > itr = array .iterator ();
170
+ int val = 0 ;
171
+ while (itr .hasNext ()) {
172
+ Assert .assertEquals (itr .next (), "string" + val );
173
+ val ++;
174
+ }
175
+ Assert .assertEquals (val , capacity );
176
+
159
177
array .destroy ();
160
178
}
161
179
@@ -185,6 +203,7 @@ public void testGetSetArrayBuffer() {
185
203
byte buf [] = new byte [db .get ().capacity ()];
186
204
db .get ().get (buf );
187
205
bufferCheckSum .update (buf , 0 , buf .length );
206
+ db .get ().clear ();
188
207
}
189
208
Assert .assertEquals (bufferCheckSum .getValue (), bufVal );
190
209
bufferCheckSum .reset ();
@@ -196,9 +215,25 @@ public void testGetSetArrayBuffer() {
196
215
byte buf [] = new byte [db .get ().capacity ()];
197
216
db .get ().get (buf );
198
217
bufferCheckSum .update (buf , 0 , buf .length );
218
+ db .get ().clear ();
199
219
}
200
220
Assert .assertEquals (bufferCheckSum .getValue (), bufVal );
201
221
222
+ bufferCheckSum .reset ();
223
+ Iterator <DurableBuffer > itr = restoredArray .iterator ();
224
+ int val = 0 ;
225
+ while (itr .hasNext ()) {
226
+ DurableBuffer <NonVolatileMemAllocator > db = itr .next ();
227
+ Assert .assertNotNull (db );
228
+ byte buf [] = new byte [db .get ().capacity ()];
229
+ db .get ().get (buf );
230
+ bufferCheckSum .update (buf , 0 , buf .length );
231
+ db .get ().clear ();
232
+ val ++;
233
+ }
234
+ Assert .assertEquals (val , capacity );
235
+ Assert .assertEquals (bufferCheckSum .getValue (), bufVal );
236
+
202
237
restoredArray .destroy ();
203
238
}
204
239
@@ -243,6 +278,22 @@ public void testGetSetArrayChunk() {
243
278
}
244
279
}
245
280
Assert .assertEquals (chunkCheckSum .getValue (), chunkVal );
281
+
282
+ chunkCheckSum .reset ();
283
+ Iterator <DurableChunk > itr = restoredArray .iterator ();
284
+ int val = 0 ;
285
+ while (itr .hasNext ()) {
286
+ DurableChunk <NonVolatileMemAllocator > dc = itr .next ();
287
+ Assert .assertNotNull (dc );
288
+ for (int j = 0 ; j < dc .getSize (); ++j ) {
289
+ byte b = unsafe .getByte (dc .get () + j );
290
+ chunkCheckSum .update (b );
291
+ }
292
+ val ++;
293
+ }
294
+ Assert .assertEquals (val , capacity );
295
+ Assert .assertEquals (chunkCheckSum .getValue (), chunkVal );
296
+
246
297
restoredArray .destroy ();
247
298
}
248
299
0 commit comments