mirror of
https://github.com/danbulant/oxc
synced 2026-05-19 04:08:41 +00:00
test(index): add unit tests to oxc_index (#5979)
Trying to improve `oxc_index`'s code coverage.
This commit is contained in:
parent
f9b44c5738
commit
84b7d1ac8b
1 changed files with 45 additions and 0 deletions
|
|
@ -795,3 +795,48 @@ impl<'de, I: Idx, T: serde::de::Deserialize<'de>> serde::de::Deserialize<'de> fo
|
|||
Box::<[T]>::deserialize(deserializer).map(Into::into)
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
#[allow(clippy::legacy_numeric_constants)]
|
||||
mod test {
|
||||
use super::*;
|
||||
|
||||
define_index_type! {
|
||||
pub struct TestIdx = u32;
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_resize() {
|
||||
let mut v = IndexVec::<TestIdx, u32>::with_capacity(10);
|
||||
assert_eq!(v.len(), 0);
|
||||
assert!(v.is_empty());
|
||||
|
||||
v.push(1);
|
||||
assert_eq!(v.len(), 1);
|
||||
|
||||
v.resize(5, 1);
|
||||
assert_eq!(v.len(), 5);
|
||||
assert_eq!(v.as_slice(), &[1, 1, 1, 1, 1]);
|
||||
|
||||
v.shrink_to_fit();
|
||||
assert_eq!(v.len(), 5);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_push_pop() {
|
||||
let mut v = IndexVec::<TestIdx, u32>::new();
|
||||
v.push(1);
|
||||
assert_eq!(v.pop(), Some(1));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_clear() {
|
||||
let mut v: IndexVec<TestIdx, u32> = [1, 2, 3].into_iter().collect();
|
||||
assert_eq!(v.len(), 3);
|
||||
|
||||
v.clear();
|
||||
assert_eq!(v.len(), 0);
|
||||
assert_eq!(v.as_slice(), &[]);
|
||||
assert_eq!(v, IndexVec::<TestIdx, u32>::new());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue