lambdust 0.1.1

A Scheme dialect with gradual typing and effect systems
use crate::eval::monadic_architecture::MonadicEvaluationInput;
use super::{ExpectedOutcome, MockConfiguration, TestAssertion};
use std::collections::HashMap;

/// Test scenario definition for integration tests
#[derive(Debug, Clone)]
pub struct TestScenario {
    /// Name of the scenario
    pub name: String,
    
    /// Description of what's being tested
    pub description: String,
    
    /// Input for the test
    pub input: MonadicEvaluationInput,
    
    /// Expected outcome
    pub expected_outcome: ExpectedOutcome,
    
    /// Mock configurations for this scenario
    pub mock_configs: HashMap<String, MockConfiguration>,
    
    /// Additional assertions
    pub assertions: Vec<TestAssertion>,
}