agent-tui-adapters 1.1.0

CLI and JSON-RPC adapters for agent-tui
Documentation
use super::*;

#[test]
fn test_text_presenter_success() {
    let presenter = TextPresenter;

    presenter.present_success("Test message", None);
    presenter.present_success("Test with warning", Some("Warning text"));
}

#[test]
fn test_json_presenter_success() {
    let presenter = JsonPresenter;

    presenter.present_success("Test message", None);
    presenter.present_success("Test with warning", Some("Warning text"));
}

#[test]
fn test_text_presenter_error() {
    let presenter = TextPresenter;
    presenter.present_error("Test error");
}

#[test]
fn test_json_presenter_error() {
    let presenter = JsonPresenter;
    presenter.present_error("Test error");
}

#[test]
fn test_spawn_result_to_json() {
    let result = SpawnResult {
        session_id: "abc123".to_string(),
        pid: 1234,
    };
    let json = result.to_json();
    assert_eq!(json.str_or("session_id", ""), "abc123");
    assert_eq!(json.u64_or("pid", 0), 1234);
}

#[test]
fn test_wait_result_struct() {
    let result = WaitResult {
        found: true,
        elapsed_ms: 150,
    };
    assert!(result.found);
    assert_eq!(result.elapsed_ms, 150);
}

#[test]
fn test_assert_result_struct() {
    let result = AssertResult {
        passed: true,
        condition: "text:hello".to_string(),
    };
    assert!(result.passed);
    assert_eq!(result.condition, "text:hello");
}

#[test]
fn test_cleanup_result_struct() {
    let result = CleanupResult {
        cleaned: 3,
        failures: vec![CleanupFailure {
            session_id: "sess1".to_string(),
            error: "session not found".to_string(),
        }],
    };
    assert_eq!(result.cleaned, 3);
    assert_eq!(result.failures.len(), 1);
}

#[test]
fn test_json_presenter_wait_result() {
    let presenter = JsonPresenter;
    let result = WaitResult {
        found: true,
        elapsed_ms: 100,
    };

    presenter.present_wait_result(&result);
}

#[test]
fn test_json_presenter_assert_result() {
    let presenter = JsonPresenter;
    let result = AssertResult {
        passed: true,
        condition: "text:hello".to_string(),
    };

    presenter.present_assert_result(&result);
}

#[test]
fn test_json_presenter_cleanup() {
    let presenter = JsonPresenter;
    let result = CleanupResult {
        cleaned: 2,
        failures: vec![],
    };

    presenter.present_cleanup(&result);
}