Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
pola-rs
GitHub Repository: pola-rs/polars
Path: blob/main/crates/polars-parquet/src/parquet/encoding/delta_byte_array/mod.rs
7887 views
1
mod decoder;
2
mod encoder;
3
4
pub use decoder::Decoder;
5
pub use encoder::encode;
6
7
#[cfg(test)]
8
mod tests {
9
use super::*;
10
use crate::parquet::error::ParquetError;
11
12
#[test]
13
fn basic() -> Result<(), ParquetError> {
14
let data = vec![b"Hello".as_ref(), b"Helicopter"];
15
let mut buffer = vec![];
16
encode(data.clone().into_iter(), &mut buffer);
17
18
let mut decoder = Decoder::try_new(&buffer)?;
19
let prefixes = decoder.by_ref().collect::<Result<Vec<_>, _>>()?;
20
assert_eq!(prefixes, vec![b"Hello".to_vec(), b"Helicopter".to_vec()]);
21
22
// move to the values
23
let values = decoder.values();
24
assert_eq!(values, b"Helloicopter");
25
Ok(())
26
}
27
}
28
29