use quantrs2_sim::stabilizer::{StabilizerGate, StabilizerSimulator};
fn main() {
println!("=== Testing Stabilizer Simulator ===\n");
println!("1. Bell State:");
let mut sim = StabilizerSimulator::new(2);
sim.apply_gate(StabilizerGate::H(0))
.expect("Failed to apply H gate");
sim.apply_gate(StabilizerGate::CNOT(0, 1))
.expect("Failed to apply CNOT gate");
println!("Stabilizers: {:?}\n", sim.get_stabilizers());
println!("2. GHZ State:");
let mut sim = StabilizerSimulator::new(3);
sim.apply_gate(StabilizerGate::H(0))
.expect("Failed to apply H gate");
sim.apply_gate(StabilizerGate::CNOT(0, 1))
.expect("Failed to apply CNOT gate");
sim.apply_gate(StabilizerGate::CNOT(1, 2))
.expect("Failed to apply CNOT gate");
println!("Stabilizers: {:?}\n", sim.get_stabilizers());
println!("=== Test Complete ===");
}