remove Addresses::next
All checks were successful
buildbot/cargo fmt (1.72) Build done.
buildbot/cargo doc (1.72) Build done.
buildbot/cargo clippy (1.72) Build done.
buildbot/cargo clippy (1.65) Build done.
buildbot/cargo test (1.65) Build done.

This commit is contained in:
AF 2024-08-30 21:45:55 +00:00
parent 15b77bc848
commit 5d4116d588
Signed by: alisa
SSH Key Fingerprint: SHA256:vNY4pdIZvO1FYJKHROkdHLtvyopizvZVAEwg9AF6h04

View File

@ -9,20 +9,6 @@ pub(super) struct Addresses {
}
impl Addresses {
/// Read the next [Address].
pub fn next<'a>(
&mut self,
deserializer: &'a mut dyn Deserializer,
) -> Result<Address, &'a [u8]> {
let point = deserializer.read_n_const::<HASH_SIZE>()?;
let address = Address {
point,
index: self.current,
};
self.current += 1;
Ok(address)
}
/// Start reading the [Address]es.
fn start() -> Self {
Addresses { current: 0 }
@ -85,7 +71,9 @@ mod tests {
let mut addresses = Addresses::start();
let point = b"A".repeat(HASH_SIZE);
let mut deserializer = SliceDeserializer::from(point.as_slice());
let address = addresses.next(&mut deserializer).unwrap();
let (address, _) = deserializer
.inext_address(&mut addresses, |_| unreachable!())
.unwrap();
assert_eq!(address.point, point.as_slice());
assert_eq!(address.index, 0);
}
@ -103,17 +91,25 @@ mod tests {
source.extend(&point2);
source.extend(tail);
let mut deserializer = SliceDeserializer::from(source.as_slice());
let address = addresses.next(&mut deserializer).unwrap();
let (address, _) = deserializer
.inext_address(&mut addresses, |_| unreachable!())
.unwrap();
assert_eq!(address.point, point0.as_slice());
assert_eq!(address.index, 0);
let address = addresses.next(&mut deserializer).unwrap();
let (address, _) = deserializer
.inext_address(&mut addresses, |_| unreachable!())
.unwrap();
assert_eq!(address.point, point1.as_slice());
assert_eq!(address.index, 1);
let address = addresses.next(&mut deserializer).unwrap();
let (address, _) = deserializer
.inext_address(&mut addresses, |_| unreachable!())
.unwrap();
assert_eq!(address.point, point2.as_slice());
assert_eq!(address.index, 2);
if tail.len() < HASH_SIZE {
let err = addresses.next(&mut deserializer).unwrap_err();
let err = deserializer
.inext_address(&mut addresses, |e| e.to_vec())
.unwrap_err();
assert_eq!(err, tail);
}
}