Files
fomod-manager/tests/modded_instance_test.rs

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);
}