use godot_testability_runtime::prelude::*;
use godot_testability_runtime::runtime::UserCallbacks;
#[test]
fn test_runtime_initialization() {
assert!(!GodotRuntime::is_initialized());
assert!(!GodotRuntime::is_running());
}
#[test]
fn test_runtime_shutdown() {
let result = GodotRuntime::shutdown();
assert!(result.is_ok());
}
#[test]
fn test_runtime_config_default() {
let config = RuntimeConfig::default();
assert!(config.headless);
assert!(!config.verbose);
assert!(config.custom_args.is_empty());
}
#[test]
fn test_runtime_config_custom() {
let config = RuntimeConfig {
headless: false,
verbose: true,
custom_args: vec!["--test".to_string()],
};
assert!(!config.headless);
assert!(config.verbose);
assert_eq!(config.custom_args.len(), 1);
}
#[test]
fn test_error_types() {
use godot_testability_runtime::error::TestError;
let err = TestError::assertion("test failed");
assert!(format!("{}", err).contains("Assertion failed"));
let err = TestError::failure("custom failure");
assert!(format!("{}", err).contains("Test failed"));
}
#[test]
#[ignore]
fn test_runtime_execution() {
let config = RuntimeConfig::default();
let callbacks = UserCallbacks {
initialize_ffi: |_, _| Ok(()),
load_class_method_table: |_| {},
register_classes: None,
};
let _ = config;
let _ = callbacks;
}