From 083a735d8570ce64b072eef04f0d486d0285ec04 Mon Sep 17 00:00:00 2001 From: Quaternions Date: Mon, 30 Dec 2024 21:09:05 -0800 Subject: [PATCH] test --- src/lib.rs | 3 +++ src/tests.rs | 23 +++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 src/tests.rs diff --git a/src/lib.rs b/src/lib.rs index a3a6d96..d80700a 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1 +1,4 @@ pub mod v1; + +#[cfg(test)] +mod tests; diff --git a/src/tests.rs b/src/tests.rs new file mode 100644 index 0000000..bcaa243 --- /dev/null +++ b/src/tests.rs @@ -0,0 +1,23 @@ +use crate::v1::TimedBlockId; + +#[test] +fn _1()->Result<(),crate::v1::Error>{ + let file=std::fs::File::open("files/bhop_marble_7cf33a64-7120-4514-b9fa-4fe29d9523d").unwrap(); + let input=std::io::BufReader::new(file); + let mut bot_file=crate::v1::File::new(input).unwrap(); + println!("header={:?}",bot_file.header); + for TimedBlockId{time,block_id} in bot_file.header.offline_blocks_timeline.clone(){ + println!("offline time={} block_id={:?}",time,block_id); + let block=bot_file.read_block(block_id)?; + // offline blocks include the following event types: + // World, Gravity, Run, Camera, Setting + } + for TimedBlockId{time,block_id} in bot_file.header.realtime_blocks_timeline.clone(){ + println!("realtime time={} block_id={:?}",time,block_id); + let block=bot_file.read_block(block_id)?; + // realtime blocks include the following event types: + // Input, Output, Sound + } + + Ok(()) +}