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