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::ValidationError;
use prompty::model::context::{LoadContext, SaveContext};

#[test]
fn test_validation_error_load_json() {
    let json = r####"
{
  "message": "Missing required input: firstName",
  "property": "firstName",
  "constraint": "required"
}
"####;
    let ctx = LoadContext::default();
    let result = ValidationError::from_json(json, &ctx);
    assert!(
        result.is_ok(),
        "Failed to load from JSON: {:?}",
        result.err()
    );
    let instance = result.unwrap();
    assert_eq!(instance.message, "Missing required input: firstName");
    assert_eq!(instance.property, "firstName");
    assert_eq!(instance.constraint, "required");
}

#[test]
fn test_validation_error_load_yaml() {
    let yaml = r####"
message: "Missing required input: firstName"
property: firstName
constraint: required

"####;
    let ctx = LoadContext::default();
    let result = ValidationError::from_yaml(yaml, &ctx);
    assert!(
        result.is_ok(),
        "Failed to load from YAML: {:?}",
        result.err()
    );
    let instance = result.unwrap();
    assert_eq!(instance.message, "Missing required input: firstName");
    assert_eq!(instance.property, "firstName");
    assert_eq!(instance.constraint, "required");
}

#[test]
fn test_validation_error_roundtrip() {
    let json = r####"
{
  "message": "Missing required input: firstName",
  "property": "firstName",
  "constraint": "required"
}
"####;
    let load_ctx = LoadContext::default();
    let result = ValidationError::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()
    );
}