lambdust 0.1.1

A Scheme dialect with gradual typing and effect systems
use crate::effects::Effect;
use super::{MockResponseStorage, EffectHandlerCall, MockHandlerBehavior};
use std::sync::{Arc, Mutex};

/// Mock effect handler for testing specific effects
#[derive(Debug)]
pub struct MockEffectHandler {
    /// Name of the effect this handler manages
    name: String,
    
    /// Effects this handler can process
    supported_effects: Vec<Effect>,
    
    /// Mock responses for different effect-argument combinations
    responses: MockResponseStorage,
    
    /// Call tracking
    call_log: Arc<Mutex<Vec<EffectHandlerCall>>>,
    
    /// Behavior configuration
    behavior: MockHandlerBehavior,
}