added tests for parsing ModdedInstance
This commit is contained in:
53
tests/modded_instance_test.rs
Normal file
53
tests/modded_instance_test.rs
Normal file
@@ -0,0 +1,53 @@
|
||||
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(), 11);
|
||||
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");
|
||||
assert!(test_mod.is_some());
|
||||
|
||||
assert_eq!(test_mod.unwrap().priority(), 0);
|
||||
assert_eq!(test_mod.unwrap().files().len(), 2);
|
||||
}
|
||||
Reference in New Issue
Block a user