import os import sys import unittest sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) import rizom_unwrap as ru class TestCandidatePaths(unittest.TestCase): def test_priority_order(self): self.assertEqual(ru.candidate_paths("a.exe", "b.exe", "c.exe"), ["a.exe", "b.exe", "c.exe", ru.DEFAULT_RIZOM]) def test_none_entries_skipped(self): self.assertEqual(ru.candidate_paths(None, None, None), [ru.DEFAULT_RIZOM]) def test_env_only(self): self.assertEqual(ru.candidate_paths(None, "b.exe", None), ["b.exe", ru.DEFAULT_RIZOM]) class TestFindRizomuv(unittest.TestCase): def test_missing_exe_raises(self): os.environ.pop("RIZOMUV_EXE", None) with self.assertRaises(ru.RizomError): ru.find_rizomuv("Z:/no/such/rizomuv.exe", use_registry=False, default="Z:/no/default.exe") if __name__ == "__main__": unittest.main()