54 lines
1.4 KiB
Rust
54 lines
1.4 KiB
Rust
use std::path::PathBuf;
|
|
|
|
use fomod_manager::types::{Link, RootConfig};
|
|
|
|
fn get_parent() -> PathBuf {
|
|
PathBuf::from(file!()).parent().unwrap().to_owned()
|
|
}
|
|
|
|
fn load_root() -> RootConfig {
|
|
RootConfig::load_from_file(get_parent().join("data/root_config_complex.toml")).unwrap()
|
|
}
|
|
|
|
#[test]
|
|
fn parse_minimal() {
|
|
let root = load_root();
|
|
|
|
let inst = root.load_instance_by_id("instance_minimal");
|
|
|
|
assert!(inst.is_ok(), "Failed to load instance");
|
|
|
|
let unwraped = inst.expect("Asserted before");
|
|
|
|
assert_eq!(unwraped.game_id(), "sse");
|
|
|
|
assert!(unwraped.mods().is_empty());
|
|
assert!(unwraped.game_file_overrides().is_empty());
|
|
assert!(unwraped.load_order().is_empty());
|
|
}
|
|
|
|
#[test]
|
|
fn parse_complex() {
|
|
let root = load_root();
|
|
|
|
let inst = root.load_instance_by_id("instance_complex");
|
|
|
|
assert!(inst.is_ok(), "Failed to load instance");
|
|
|
|
let unwraped = inst.expect("Asserted before");
|
|
|
|
assert_eq!(unwraped.game_id(), "sse");
|
|
assert_eq!(unwraped.load_order().len(), 13);
|
|
assert_eq!(
|
|
unwraped.game_file_overrides().first().unwrap(),
|
|
&Link::new("skse64_loader.exe", "SkyrimSELauncher.exe")
|
|
);
|
|
|
|
assert_eq!(unwraped.mods().len(), 3);
|
|
let test_mod = unwraped.mods().iter().find(|e| e.mod_id() == "SkyUI-12604-35407");
|
|
assert!(test_mod.is_some());
|
|
|
|
assert_eq!(test_mod.unwrap().priority(), 0);
|
|
assert_eq!(test_mod.unwrap().files().len(), 2);
|
|
}
|