Lines
100 %
Functions
Branches
pub use scripting_format::*;
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_global_header_roundtrip() {
let header = GlobalHeader::new(ContextType::EntityCreate, EntityType::Transaction, 5, 0);
let bytes = header.as_bytes();
let parsed = GlobalHeader::from_bytes(bytes).unwrap();
assert_eq!(parsed.magic, MAGIC_NOMI);
assert_eq!(parsed.version, FORMAT_VERSION);
assert_eq!(parsed.context_type, ContextType::EntityCreate as u8);
assert_eq!(parsed.primary_entity_type, EntityType::Transaction as u8);
assert_eq!(parsed.input_entity_count, 5);
}
fn test_entity_header_roundtrip() {
let id = [1u8; 16];
let header = EntityHeader::new(
EntityType::Split,
Operation::Create,
EntityFlags::make(true, false),
id,
0,
100,
64,
);
let bytes = header.to_bytes();
let parsed = EntityHeader::from_bytes(&bytes).unwrap();
assert_eq!(parsed.entity_type, EntityType::Split as u8);
assert_eq!(parsed.operation, Operation::Create as u8);
assert!(EntityFlags::is_primary(parsed.flags));
assert!(!EntityFlags::is_context(parsed.flags));
assert_eq!(parsed.parent_idx, 0);
fn test_output_header_roundtrip() {
let header = OutputHeader::new(10);
let parsed = OutputHeader::from_bytes(&bytes).unwrap();
assert_eq!(parsed.magic, MAGIC_OUTP);
assert_eq!(parsed.output_start_idx, 10);