Spaces:
Sleeping
Sleeping
File size: 1,051 Bytes
463f868 9bd4ce5 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
use engine_rust::core::enums::ChoiceType;
use engine_rust::core::enums::*;
use engine_rust::core::logic::{AbilityContext, GameState, PendingInteraction};
fn main() {
println!("--- Testing GameState Serialization Robustness ---");
let mut gs = GameState::default();
gs.turn = 5;
gs.phase = Phase::Response;
gs.current_player = 1;
let pending = PendingInteraction {
effect_opcode: 41,
card_id: 123,
ability_index: 0,
ctx: AbilityContext {
player_id: 1,
..Default::default()
},
choice_type: ChoiceType::LookAndChoose,
..Default::default()
};
gs.interaction_stack.push(pending);
let serialized = serde_json::to_string(&gs).expect("Failed to serialize");
println!("Serialized length: {}", serialized.len());
let deserialized: GameState = serde_json::from_str(&serialized).expect("Failed to deserialize");
assert_eq!(deserialized.turn, 5);
println!("Serialization test passed!");
} |