#!/usr/bin/env python3
"""Test for mcrfpy.setScene() and currentScene() methods"""
import mcrfpy
print("Starting setScene/currentScene test...")
# Create test scenes first
scenes = ["scene_A", "scene_B", "scene_C"]
for scene in scenes:
_scene = mcrfpy.Scene(scene)
print(f"Created scene: {scene}")
results = []
# Test switching between scenes
try:
mcrfpy.current_scene = scene
current = (mcrfpy.current_scene.name if mcrfpy.current_scene else None)
if current == scene:
results.append(f"✓ setScene/currentScene works for '{scene}'")
else:
results.append(f"✗ Scene mismatch: set '{scene}', got '{current}'")
except Exception as e:
results.append(f"✗ Error with scene '{scene}': {e}")
# Test invalid scene - it should not change the current scene
current_before = (mcrfpy.current_scene.name if mcrfpy.current_scene else None)
nonexistent_scene.activate() # Note: ensure scene was created
current_after = (mcrfpy.current_scene.name if mcrfpy.current_scene else None)
if current_before == current_after:
results.append(f"✓ setScene correctly ignores nonexistent scene (stayed on '{current_after}')")
results.append(f"✗ Scene changed unexpectedly from '{current_before}' to '{current_after}'")
# Print results
for result in results:
print(result)
# Determine pass/fail
if all("✓" in r for r in results):
print("PASS")
print("FAIL")