/
storage.rs
44 lines (29 loc) · 1.2 KB
/
storage.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
use std::path::PathBuf;
use sourmash::storage::{Storage, ZipStorage};
#[test]
fn zipstorage_load_file() -> Result<(), Box<dyn std::error::Error>> {
let mut filename = PathBuf::from(env!("CARGO_MANIFEST_DIR"));
filename.push("../../tests/test-data/v6.sbt.zip");
let zs = ZipStorage::from_file(filename.to_str().unwrap())?;
let data = zs.load("v6.sbt.json")?;
let description: serde_json::Value = serde_json::from_slice(&data[..])?;
assert_eq!(description["version"], 6);
Ok(())
}
#[test]
fn zipstorage_load_manifest() -> Result<(), Box<dyn std::error::Error>> {
let mut filename = PathBuf::from(env!("CARGO_MANIFEST_DIR"));
filename.push("../../tests/test-data/prot/protein.sbt.zip");
let zs = ZipStorage::from_file(filename.to_str().unwrap())?;
let _data = zs.load("protein.manifest.csv").expect("error loading file");
Ok(())
}
#[test]
fn zipstorage_list_sbts() -> Result<(), Box<dyn std::error::Error>> {
let mut filename = PathBuf::from(env!("CARGO_MANIFEST_DIR"));
filename.push("../../tests/test-data/v6.sbt.zip");
let zs = ZipStorage::from_file(filename.to_str().unwrap())?;
let sbts = zs.list_sbts()?;
assert_eq!(sbts.len(), 1);
Ok(())
}