@@ -78,6 +78,7 @@ impl<T: Clone + DeserializeOwned + Serialize> BFieldMember<T> {
78
78
} )
79
79
}
80
80
81
+ #[ cfg( test) ]
81
82
pub fn in_memory (
82
83
size : usize ,
83
84
n_hashes : u8 ,
@@ -113,8 +114,7 @@ impl<T: Clone + DeserializeOwned + Serialize> BFieldMember<T> {
113
114
114
115
for marker_ix in 0usize ..self . params . n_hashes as usize {
115
116
let pos = marker_pos ( hash, marker_ix, self . bitvec . size ( ) , marker_width) ;
116
- self . bitvec
117
- . set_range ( pos..pos + marker_width, marker) ;
117
+ self . bitvec . set_range ( pos..pos + marker_width, marker) ;
118
118
}
119
119
}
120
120
@@ -217,62 +217,67 @@ fn marker_pos(hash: (u64, u64), n: usize, total_size: usize, marker_size: usize)
217
217
( ( hash. 0 as usize ) . wrapping_add ( n. wrapping_mul ( hash. 1 as usize ) ) ) % ( total_size - marker_size)
218
218
}
219
219
220
- #[ test]
221
- fn test_bfield ( ) {
222
- let mut bfield: BFieldMember < usize > = BFieldMember :: in_memory ( 1024 , 3 , 64 , 4 ) . unwrap ( ) ;
223
- // check that inserting keys adds new entries
224
- bfield. insert ( b"test" , 2 ) ;
225
- assert_eq ! ( bfield. get( b"test" ) , BFieldLookup :: Some ( 2 ) ) ;
220
+ #[ cfg( test) ]
221
+ mod tests {
222
+ use super :: * ;
226
223
227
- bfield. insert ( b"test2" , 106 ) ;
228
- assert_eq ! ( bfield. get( b"test2" ) , BFieldLookup :: Some ( 106 ) ) ;
224
+ #[ test]
225
+ fn test_bfield ( ) {
226
+ let mut bfield: BFieldMember < usize > = BFieldMember :: in_memory ( 1024 , 3 , 64 , 4 ) . unwrap ( ) ;
227
+ // check that inserting keys adds new entries
228
+ bfield. insert ( b"test" , 2 ) ;
229
+ assert_eq ! ( bfield. get( b"test" ) , BFieldLookup :: Some ( 2 ) ) ;
229
230
230
- // test3 was never added
231
- assert_eq ! ( bfield. get( b"test3" ) , BFieldLookup :: None ) ;
232
- }
231
+ bfield. insert ( b"test2" , 106 ) ;
232
+ assert_eq ! ( bfield. get( b"test2" ) , BFieldLookup :: Some ( 106 ) ) ;
233
+
234
+ // test3 was never added
235
+ assert_eq ! ( bfield. get( b"test3" ) , BFieldLookup :: None ) ;
236
+ }
233
237
234
- #[ test]
235
- fn test_bfield_collisions ( ) {
236
- // comically small bfield with too many (16) hashes
237
- // and too many bits (8) to cause saturation
238
- let mut bfield: BFieldMember < usize > = BFieldMember :: in_memory ( 128 , 16 , 64 , 8 ) . unwrap ( ) ;
238
+ #[ test]
239
+ fn test_bfield_collisions ( ) {
240
+ // comically small bfield with too many (16) hashes
241
+ // and too many bits (8) to cause saturation
242
+ let mut bfield: BFieldMember < usize > = BFieldMember :: in_memory ( 128 , 16 , 64 , 8 ) . unwrap ( ) ;
239
243
240
- bfield. insert ( b"test" , 100 ) ;
241
- assert_eq ! ( bfield. get( b"test" ) , BFieldLookup :: Indeterminate ) ;
242
- }
244
+ bfield. insert ( b"test" , 100 ) ;
245
+ assert_eq ! ( bfield. get( b"test" ) , BFieldLookup :: Indeterminate ) ;
246
+ }
243
247
244
- #[ test]
245
- fn test_bfield_bits_set ( ) {
246
- let mut bfield: BFieldMember < usize > = BFieldMember :: in_memory ( 128 , 2 , 16 , 4 ) . unwrap ( ) ;
248
+ #[ test]
249
+ fn test_bfield_bits_set ( ) {
250
+ let mut bfield: BFieldMember < usize > = BFieldMember :: in_memory ( 128 , 2 , 16 , 4 ) . unwrap ( ) ;
247
251
248
- bfield. insert ( b"test" , 100 ) ;
249
- assert_eq ! ( bfield. bitvec. rank( 0 ..128 ) , 8 ) ;
250
- bfield. insert ( b"test2" , 200 ) ;
251
- assert_eq ! ( bfield. bitvec. rank( 0 ..128 ) , 16 ) ;
252
- bfield. insert ( b"test3" , 300 ) ;
253
- assert ! ( bfield. bitvec. rank( 0 ..128 ) < 24 ) ; // 23 bits set
254
- }
252
+ bfield. insert ( b"test" , 100 ) ;
253
+ assert_eq ! ( bfield. bitvec. rank( 0 ..128 ) , 8 ) ;
254
+ bfield. insert ( b"test2" , 200 ) ;
255
+ assert_eq ! ( bfield. bitvec. rank( 0 ..128 ) , 16 ) ;
256
+ bfield. insert ( b"test3" , 300 ) ;
257
+ assert ! ( bfield. bitvec. rank( 0 ..128 ) < 24 ) ; // 23 bits set
258
+ }
255
259
256
- #[ test]
257
- fn test_bfield_mask_or_insert ( ) {
258
- let mut bfield: BFieldMember < usize > = BFieldMember :: in_memory ( 1024 , 2 , 16 , 4 ) . unwrap ( ) ;
260
+ #[ test]
261
+ fn test_bfield_mask_or_insert ( ) {
262
+ let mut bfield: BFieldMember < usize > = BFieldMember :: in_memory ( 1024 , 2 , 16 , 4 ) . unwrap ( ) ;
259
263
260
- bfield. insert ( b"test" , 2 ) ;
261
- assert_eq ! ( bfield. get( b"test" ) , BFieldLookup :: Some ( 2 ) ) ;
264
+ bfield. insert ( b"test" , 2 ) ;
265
+ assert_eq ! ( bfield. get( b"test" ) , BFieldLookup :: Some ( 2 ) ) ;
262
266
263
- // `mask_or_insert`ing the same value doesn't change anything
264
- assert_eq ! ( bfield. mask_or_insert( b"test" , 2 ) , true ) ;
265
- assert_eq ! ( bfield. get( b"test" ) , BFieldLookup :: Some ( 2 ) ) ;
267
+ // `mask_or_insert`ing the same value doesn't change anything
268
+ assert_eq ! ( bfield. mask_or_insert( b"test" , 2 ) , true ) ;
269
+ assert_eq ! ( bfield. get( b"test" ) , BFieldLookup :: Some ( 2 ) ) ;
266
270
267
- // `mask_or_insert`ing a new value results in an indeterminate
268
- assert_eq ! ( bfield. mask_or_insert( b"test" , 3 ) , false ) ;
269
- assert_eq ! ( bfield. get( b"test" ) , BFieldLookup :: Indeterminate ) ;
271
+ // `mask_or_insert`ing a new value results in an indeterminate
272
+ assert_eq ! ( bfield. mask_or_insert( b"test" , 3 ) , false ) ;
273
+ assert_eq ! ( bfield. get( b"test" ) , BFieldLookup :: Indeterminate ) ;
270
274
271
- // `mask_or_insert`ing an indeterminate value is still indeterminate
272
- assert_eq ! ( bfield. mask_or_insert( b"test" , 3 ) , false ) ;
273
- assert_eq ! ( bfield. get( b"test" ) , BFieldLookup :: Indeterminate ) ;
275
+ // `mask_or_insert`ing an indeterminate value is still indeterminate
276
+ assert_eq ! ( bfield. mask_or_insert( b"test" , 3 ) , false ) ;
277
+ assert_eq ! ( bfield. get( b"test" ) , BFieldLookup :: Indeterminate ) ;
274
278
275
- // `mask_or_insert`ing a new key just sets that key
276
- assert_eq ! ( bfield. mask_or_insert( b"test2" , 2 ) , true ) ;
277
- assert_eq ! ( bfield. get( b"test2" ) , BFieldLookup :: Some ( 2 ) ) ;
279
+ // `mask_or_insert`ing a new key just sets that key
280
+ assert_eq ! ( bfield. mask_or_insert( b"test2" , 2 ) , true ) ;
281
+ assert_eq ! ( bfield. get( b"test2" ) , BFieldLookup :: Some ( 2 ) ) ;
282
+ }
278
283
}
0 commit comments