refactoring of SortedStorages tests to make other changes easier (#23990)

This commit is contained in:
Jeff Washington (jwash)
2022-03-29 22:06:48 -05:00
committed by GitHub
parent 5a613e9b6e
commit da844d7be5

View File

@ -225,11 +225,19 @@ pub mod tests {
storage_count: 0,
}
}
pub fn new_for_tests(storages: &[&'a SnapshotStorage], slots: &[Slot]) -> Self {
SortedStorages::new_with_slots(storages.iter().cloned().zip(slots.iter()), None, None)
}
pub fn new_empty_for_tests() -> Self {
SortedStorages::new(&[])
}
}
#[test]
fn test_sorted_storages_range_iter() {
let storages = SortedStorages::new_with_slots([].iter().zip([].iter()), None, None);
let storages = SortedStorages::new_empty_for_tests();
let check = |(slot, storages): (Slot, Option<&SnapshotStorage>)| {
assert!(storages.is_none());
slot
@ -253,8 +261,7 @@ pub mod tests {
// only item is slot 3
let s1 = Vec::new();
let storages =
SortedStorages::new_with_slots([&s1].into_iter().zip([&3].into_iter()), None, None);
let storages = SortedStorages::new_for_tests(&[&s1], &[3]);
let check = |(slot, storages): (Slot, Option<&SnapshotStorage>)| {
assert!(
(slot != 3) ^ storages.is_some(),
@ -291,11 +298,7 @@ pub mod tests {
// items in slots 2 and 4
let s2 = Vec::with_capacity(2);
let s4 = Vec::with_capacity(4);
let storages = SortedStorages::new_with_slots(
[&s2, &s4].into_iter().zip([&2, &4].into_iter()),
None,
None,
);
let storages = SortedStorages::new_for_tests(&[&s2, &s4], &[2, 4]);
let check = |(slot, storages): (Slot, Option<&SnapshotStorage>)| {
assert!(
(slot != 2 && slot != 4)
@ -342,16 +345,12 @@ pub mod tests {
#[test]
#[should_panic(expected = "slots are not unique")]
fn test_sorted_storages_duplicate_slots() {
SortedStorages::new_with_slots(
[Vec::new(), Vec::new()].iter().zip([0, 0].iter()),
None,
None,
);
SortedStorages::new_for_tests(&[&Vec::new(), &Vec::new()], &[0, 0]);
}
#[test]
fn test_sorted_storages_none() {
let result = SortedStorages::new_with_slots([].iter().zip([].iter()), None, None);
let result = SortedStorages::new_empty_for_tests();
assert_eq!(result.range, Range::default());
assert_eq!(result.slot_count, 0);
assert_eq!(result.storages.len(), 0);
@ -363,8 +362,8 @@ pub mod tests {
let vec = vec![];
let vec_check = vec.clone();
let slot = 4;
let vecs = [vec];
let result = SortedStorages::new_with_slots(vecs.iter().zip([slot].iter()), None, None);
let vecs = [&vec];
let result = SortedStorages::new_for_tests(&vecs, &[slot]);
assert_eq!(
result.range,
Range {
@ -382,8 +381,8 @@ pub mod tests {
let vec = vec![];
let vec_check = vec.clone();
let slots = [4, 7];
let vecs = [vec.clone(), vec];
let result = SortedStorages::new_with_slots(vecs.iter().zip(slots.iter()), None, None);
let vecs = [&vec, &vec];
let result = SortedStorages::new_for_tests(&vecs, &slots);
assert_eq!(
result.range,
Range {