use crate::effects::Effect;
use super::TestExecutionContext;
/// Test assertion for verifying behavior
#[derive(Debug, Clone)]
pub enum TestAssertion {
/// Assert that a specific method was called
MethodCalled(String, usize), // method name, call count
/// Assert performance characteristics
PerformanceWithin {
/// Maximum allowed execution time in milliseconds
max_time_ms: u64,
/// Maximum allowed memory usage in bytes
max_memory_bytes: usize,
},
/// Assert effect usage
EffectsUsed(Vec<Effect>),
/// Assert continuation capture
ContinuationsCaptured(usize),
/// Custom assertion function
Custom(fn(&TestExecutionContext) -> bool),
}