extern crate idx; use lazy_static::lazy_static; use std::sync::{Arc, Mutex}; use idx::*; use idx::util::*; lazy_static! { pub static ref CACHE: Arc> = CacheBuilder::new().with_path("test_cache").build(); } #[test] fn test_load_cache() { let _ = CACHE.lock(); } #[test] fn test_file_amounts() { let mut cache = CACHE.lock().unwrap(); let index = cache.index(19).unwrap(); assert_eq!(15432, index.get_total_files()); } #[test] fn test_retrieve_filedata() { let mut provider = FileProvider::from(&*CACHE); provider.index(19); let whip_id = 4152; provider.archive(&(whip_id >> 8)); let data = provider.request(&(whip_id & 0xff)); assert_eq!(vec![97, 16, 55, 98, 3, 31, 0], data.deconstruct()); } #[test] fn test_hashnames() { let mut provider = FileProvider::from(&*CACHE); provider.index(8); provider.archive(&String::from("logo")); let data = provider.request(&0); assert_ne!(0, data.deconstruct().len()) } #[test] fn test_defprovider() { struct Bogus { op: u8 } impl DefParser for Bogus { fn parse_buff(mut buffer: databuffer::DataBuffer) -> Self { Self { op: if buffer.len() == 0 { 0 } else { buffer.read_u8() } } } } let mut provider = DefProvider::::with(&*CACHE, 8); let data = provider.get_def(&1, &0, 1); assert_ne!(data.op, 0); let data = provider.get_def(&String::from("logo"), &0, 1); assert_ne!(data.op, 0); }