Skip to content

Commit 20048d8

Browse files
committed
fix some tests
1 parent 9171444 commit 20048d8

1 file changed

Lines changed: 9 additions & 10 deletions

File tree

crates/consistent-hashing/src/choose_k.rs

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -113,14 +113,18 @@ impl<H: ManySeqBuilder> ConsistentChooseKHasher<H> {
113113
///
114114
/// Time: O(k)
115115
pub fn shrink_n(&mut self) -> usize {
116-
let mut n = self.samples.last().expect("samples must not be empty").pos;
116+
let n = self.samples.last().expect("samples must not be empty").pos;
117117
self.n = n;
118+
self.shrink_n_inner(n)
119+
}
120+
121+
fn shrink_n_inner(&mut self, mut n: usize) -> usize {
118122
for i in (0..self.samples.len()).rev() {
119123
if self.samples[i].pos < n {
120124
// We are done!
121125
return i + 1;
122126
}
123-
// Here the maximum could be k, k-1, or i!
127+
// Here the maximum could be k, k-1, or i!
124128
let k = self.samples[i].seq;
125129
let si = Sample::new(self.get_sample(i, n), i);
126130
let sk = Sample::new(self.get_sample(k, n), k);
@@ -140,16 +144,16 @@ impl<H: ManySeqBuilder> ConsistentChooseKHasher<H> {
140144
///
141145
/// Time: O(k)
142146
pub fn grow_k(&mut self) -> usize {
143-
let k = self.samples.len();
147+
let k = self.samples.len();
144148
let sk = Sample::new(self.get_sample(k, self.n), k);
145149
if let Some(last) = self.samples.last().copied() {
146150
if last.pos < sk.pos {
147151
self.samples.push(sk);
148152
} else if last.pos == sk.pos {
149-
self.shrink_n();
153+
self.shrink_n_inner(last.pos);
150154
self.samples.push(sk);
151155
} else {
152-
let i = self.shrink_n();
156+
let i = self.shrink_n_inner(last.pos);
153157
self.samples.push(last);
154158
return i;
155159
}
@@ -332,11 +336,6 @@ mod tests {
332336
while iter.samples.last().unwrap().pos > k {
333337
let expected =
334338
ConsistentChooseKHasher::new_with_k(DefaultHasher::new(), iter.samples.last().unwrap().pos, k);
335-
336-
println!("n: {n}, k: {k}");
337-
println!("before: {:?}", iter.samples);
338-
println!("expected {:?}", expected.samples);
339-
340339
iter.shrink_n();
341340
assert_eq!(iter.samples, expected.samples);
342341
}

0 commit comments

Comments
 (0)