rabukasim / engine_rust_src /src /meta_rule_tests.rs
trioskosmos's picture
Upload folder using huggingface_hub
463f868 verified
use crate::core::logic::*;
#[test]
fn test_opcode_meta_rule() {
let mut state = GameState::default();
let db = CardDatabase {
members: std::collections::HashMap::new(),
lives: std::collections::HashMap::new(),
..CardDatabase::default()
};
let ctx = AbilityContext {
player_id: 0,
..AbilityContext::default()
};
// O_META_RULE (29), Value 0 (cheer_mod), Attr 0, Target 0
let bytecode = vec![O_META_RULE, 0, 0, 0, O_RETURN, 0, 0, 0];
// Capture state before
let initial_flags = state.players[0].flags;
let initial_restrictions = state.players[0].restrictions.clone();
// Execute
state.resolve_bytecode_cref(&db, &bytecode, &ctx);
// Verify it did NOTHING (as per current implementation)
assert_eq!(state.players[0].flags, initial_flags);
assert_eq!(state.players[0].restrictions, initial_restrictions);
}