@@ -108,9 +108,8 @@ impl<R: Rng + NewSeeded> Reseeder<R> for ReseedWithNew {
108
108
#[ cfg( test) ]
109
109
mod test {
110
110
use { impls, le} ;
111
- use core:: default:: Default ;
112
- use super :: { ReseedingRng , ReseedWithNew } ;
113
- use { SeedableRng , Rng } ;
111
+ use super :: { ReseedingRng , Reseeder } ;
112
+ use { SeedableRng , Rng , Error } ;
114
113
115
114
struct Counter {
116
115
i : u32
@@ -130,11 +129,6 @@ mod test {
130
129
impls:: fill_bytes_via_u64 ( self , dest)
131
130
}
132
131
}
133
- impl Default for Counter {
134
- fn default ( ) -> Counter {
135
- Counter { i : 0 }
136
- }
137
- }
138
132
impl SeedableRng for Counter {
139
133
type Seed = [ u8 ; 4 ] ;
140
134
fn from_seed ( seed : Self :: Seed ) -> Self {
@@ -144,25 +138,23 @@ mod test {
144
138
}
145
139
}
146
140
141
+ #[ derive( Debug , Clone ) ]
142
+ struct ReseedCounter ;
143
+ impl Reseeder < Counter > for ReseedCounter {
144
+ fn reseed ( & mut self , rng : & mut Counter ) -> Result < ( ) , Error > {
145
+ * rng = Counter { i : 0 } ;
146
+ Ok ( ( ) )
147
+ }
148
+ }
149
+
147
150
#[ test]
148
151
fn test_reseeding ( ) {
149
- let mut rs = ReseedingRng :: new ( Counter { i : 0 } , 400 , ReseedWithNew ) ;
152
+ let mut rs = ReseedingRng :: new ( Counter { i : 0 } , 400 , ReseedCounter ) ;
150
153
151
154
let mut i = 0 ;
152
155
for _ in 0 ..1000 {
153
156
assert_eq ! ( rs. next_u32( ) , i % 100 ) ;
154
157
i += 1 ;
155
158
}
156
159
}
157
-
158
- const FILL_BYTES_V_LEN : usize = 13579 ;
159
- #[ test]
160
- fn test_rng_fill_bytes ( ) {
161
- let mut v = [ 0u8 ; FILL_BYTES_V_LEN ] ;
162
- :: test:: rng ( 321 ) . fill_bytes ( & mut v) ;
163
-
164
- // To test that `fill_bytes` actually did something, check that not all
165
- // bytes are zero.
166
- assert ! ( !v. iter( ) . all( |& x| x == 0 ) ) ;
167
- }
168
160
}
0 commit comments