Files
IAMCCS-IAMCCS-nodes/tests/test_h3_continuous_router.py
T

86 lines
3.2 KiB
Python

import importlib.util
from pathlib import Path
import sys
import types
import unittest
ROOT = Path(__file__).resolve().parents[1]
PACKAGE = "iamccs_continuous_router_test"
package = types.ModuleType(PACKAGE)
package.__path__ = [str(ROOT)]
sys.modules[PACKAGE] = package
atomic = types.ModuleType(f"{PACKAGE}.iamccs_minimax_h3_atomic_backend")
atomic.SUPERNODE_LINX_TYPE = "CINE_LINX"
atomic._resolve_shotplan = lambda value: value
sys.modules[atomic.__name__] = atomic
spec = importlib.util.spec_from_file_location(
f"{PACKAGE}.router", ROOT / "iamccs_minimax_h3_continuous_router.py"
)
router_module = importlib.util.module_from_spec(spec)
assert spec and spec.loader
spec.loader.exec_module(router_module)
def payload(prefix):
return {
f"{prefix}_frames": f"{prefix}-frames",
f"{prefix}_audio": f"{prefix}-audio",
f"{prefix}_bridge": f"{prefix}-bridge",
f"{prefix}_latent": f"{prefix}-latent",
f"{prefix}_fps": 24,
f"{prefix}_report": f"{prefix}-report",
}
class ContinuousRouterTests(unittest.TestCase):
def setUp(self):
self.router = router_module.IAMCCS_MiniMaxH3ContinuousBackendLazyRouterR42()
def test_existing_r42_keeps_segment_metadata(self):
kwargs = payload("r42")
kwargs.update(r42_current_segment=2, r42_total_segments=4, r42_trim_head_frames=1)
result = self.router.select({"task_mode": "i2va"}, **kwargs)
self.assertEqual(result[:6], tuple(kwargs[f"r42_{name}"] for name in ("frames", "audio", "bridge", "latent", "fps", "report")))
self.assertEqual(result[6:], (2, 4, 1))
def test_continuous_av_is_one_outer_master(self):
kwargs = payload("continuous")
result = self.router.select({"task_mode": "longvid_masked_loop_guided"}, **kwargs)
self.assertEqual(result[0], "continuous-frames")
self.assertEqual(result[6:], (0, 1, 0))
def test_true_long_pskf_uses_continuous_backend(self):
plan = {
"task_mode": "longvid_keyframe_continuous",
"requested_task_mode": "longvid_keyframe_continuous",
"longvid_engine": "pianosequenza_true_long",
}
kwargs = payload("continuous")
result = self.router.select(plan, **kwargs)
self.assertEqual(result[0], "continuous-frames")
self.assertEqual(result[6:], (0, 1, 0))
self.assertEqual(self.router.check_lazy_status(plan), [
"continuous_frames", "continuous_audio", "continuous_bridge",
"continuous_latent", "continuous_fps", "continuous_report",
])
def test_guided_loop_is_one_outer_master(self):
kwargs = payload("guided")
result = self.router.select({"task_mode": "guided_av_loop_experimental"}, **kwargs)
self.assertEqual(result[0], "guided-frames")
self.assertEqual(result[6:], (0, 1, 0))
def test_lazy_status_requests_only_selected_branch(self):
missing = self.router.check_lazy_status({"task_mode": "guided_av_loop_experimental"})
self.assertEqual(missing, [
"guided_frames", "guided_audio", "guided_bridge", "guided_latent",
"guided_fps", "guided_report",
])
if __name__ == "__main__":
unittest.main()