prompty 2.0.0-beta.1

Prompty is an asset class and format for LLM prompts
Documentation
// Code generated by Prompty emitter; DO NOT EDIT.

#![allow(
    unused_imports,
    dead_code,
    non_camel_case_types,
    unused_variables,
    clippy::all
)]

use prompty::model::ToolContext;
use prompty::model::context::{LoadContext, SaveContext};

#[test]
fn test_tool_context_load_json() {
    let json = r####"
{
  "metadata": {
    "userId": "user-123"
  }
}
"####;
    let ctx = LoadContext::default();
    let result = ToolContext::from_json(json, &ctx);
    assert!(
        result.is_ok(),
        "Failed to load from JSON: {:?}",
        result.err()
    );
    let instance = result.unwrap();
    let _ = instance; // load succeeded, no scalar properties to validate
}

#[test]
fn test_tool_context_load_yaml() {
    let yaml = r####"
metadata:
  userId: user-123

"####;
    let ctx = LoadContext::default();
    let result = ToolContext::from_yaml(yaml, &ctx);
    assert!(
        result.is_ok(),
        "Failed to load from YAML: {:?}",
        result.err()
    );
    let instance = result.unwrap();
    let _ = instance; // load succeeded, no scalar properties to validate
}

#[test]
fn test_tool_context_roundtrip() {
    let json = r####"
{
  "metadata": {
    "userId": "user-123"
  }
}
"####;
    let load_ctx = LoadContext::default();
    let result = ToolContext::from_json(json, &load_ctx);
    assert!(result.is_ok(), "Failed to load: {:?}", result.err());
    let instance = result.unwrap();
    let save_ctx = SaveContext::default();
    let json_output = instance.to_json(&save_ctx);
    assert!(
        json_output.is_ok(),
        "Failed to serialize to JSON: {:?}",
        json_output.err()
    );
}