use serde::{Deserialize, Serialize};
pub const INIT_LEVEL: u8 = 0;
pub const DEFAULT_HASH_SEED: u64 = 0;
pub const DEFAULT_MIN_CHUNK_SIZE: usize = 4;
pub const DEFAULT_MAX_CHUNK_SIZE: usize = 1024 * 1024;
pub const DEFAULT_CHUNKING_FACTOR: u32 = 128;
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize, Default)]
pub enum Encoding {
#[default]
Raw,
Cbor,
Json,
Custom(String),
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_encoding_default() {
let encoding = Encoding::default();
assert_eq!(encoding, Encoding::Raw);
}
#[test]
fn test_encoding_custom() {
let encoding = Encoding::Custom("protobuf".to_string());
assert_eq!(encoding, Encoding::Custom("protobuf".to_string()));
}
#[test]
fn test_constants() {
assert_eq!(INIT_LEVEL, 0);
assert_eq!(DEFAULT_HASH_SEED, 0);
assert_eq!(DEFAULT_MIN_CHUNK_SIZE, 4);
assert_eq!(DEFAULT_MAX_CHUNK_SIZE, 1024 * 1024);
assert_eq!(DEFAULT_CHUNKING_FACTOR, 128);
}
}