//! Tests for the finalized disk format.
use serde::{Deserialize, Serialize};
#[cfg(test)]
mod prop;
#[cfg(test)]
mod snapshot;
/// A formatting struct for raw key-value data
#[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub struct KV {
/// The raw key bytes, as a hexadecimal-encoded string.
k: String,
/// The raw value bytes, as a hexadecimal-encoded string.
v: String,
}
impl KV {
/// Create a new `KV` from raw key-value data.
pub fn new<K, V>(key: K, value: V) -> KV
where
K: AsRef<[u8]>,
V: AsRef<[u8]>,
{
KV::new_hex(hex::encode(key), hex::encode(value))
}
/// Create a new `KV` from hex-encoded key-value data.
pub fn new_hex(key: String, value: String) -> KV {
KV { k: key, v: value }
}
}