use std::io::Cursor;
use byteorder::{LittleEndian, WriteBytesExt};
pub fn create_test_tiff_buffer() -> Cursor<Vec<u8>> {
let mut buffer = Vec::new();
buffer.write_u16::<LittleEndian>(0x4949).unwrap(); buffer.write_u16::<LittleEndian>(42).unwrap(); buffer.write_u32::<LittleEndian>(8).unwrap();
buffer.write_u16::<LittleEndian>(2).unwrap();
buffer.write_u16::<LittleEndian>(256).unwrap(); buffer.write_u16::<LittleEndian>(4).unwrap(); buffer.write_u32::<LittleEndian>(1).unwrap(); buffer.write_u32::<LittleEndian>(800).unwrap();
buffer.write_u16::<LittleEndian>(257).unwrap(); buffer.write_u16::<LittleEndian>(4).unwrap(); buffer.write_u32::<LittleEndian>(1).unwrap(); buffer.write_u32::<LittleEndian>(600).unwrap();
buffer.write_u32::<LittleEndian>(0).unwrap();
println!("TIFF buffer created, size: {} bytes", buffer.len());
println!("TIFF buffer contents: {:?}", buffer);
Cursor::new(buffer)
}
pub fn create_test_bigtiff_buffer() -> Cursor<Vec<u8>> {
let mut buffer = Vec::new();
buffer.write_u16::<LittleEndian>(0x4949).unwrap(); buffer.write_u16::<LittleEndian>(43).unwrap(); buffer.write_u16::<LittleEndian>(8).unwrap(); buffer.write_u16::<LittleEndian>(0).unwrap(); buffer.write_u64::<LittleEndian>(16).unwrap();
buffer.write_u64::<LittleEndian>(2).unwrap();
buffer.write_u16::<LittleEndian>(256).unwrap(); buffer.write_u16::<LittleEndian>(4).unwrap(); buffer.write_u64::<LittleEndian>(1).unwrap(); buffer.write_u64::<LittleEndian>(1024).unwrap();
buffer.write_u16::<LittleEndian>(257).unwrap(); buffer.write_u16::<LittleEndian>(4).unwrap(); buffer.write_u64::<LittleEndian>(1).unwrap(); buffer.write_u64::<LittleEndian>(768).unwrap();
buffer.write_u64::<LittleEndian>(0).unwrap();
println!("BigTIFF buffer created, size: {} bytes", buffer.len());
println!("BigTIFF buffer contents: {:?}", buffer);
Cursor::new(buffer)
}