Skip to main content

Crate hedl_test

Crate hedl_test 

Source
Expand description

Shared test fixtures and utilities for HEDL format converters.

This crate provides canonical test documents, builders, error fixtures, and utilities to eliminate test code duplication across all HEDL format converters (JSON, XML, YAML, CSV, Neo4j, Parquet, etc.).

§Features

  • Pre-built Fixtures: Comprehensive test documents covering all HEDL features
  • Builder Pattern: Fluent API for creating customized test data
  • Error Fixtures: Invalid documents and error cases for testing error handling
  • Utilities: Expression helpers, counting functions, and more

§Quick Start

use hedl_test::fixtures;

// Use pre-built fixtures
let doc = fixtures::scalars();           // All scalar types
let doc = fixtures::user_list();         // MatrixList with users
let doc = fixtures::with_references();   // Cross-references
let doc = fixtures::comprehensive();     // Everything together

// Build custom fixtures
use hedl_test::fixtures::builders::{DocumentBuilder, ValueBuilder};

let doc = DocumentBuilder::new()
    .scalar("name", ValueBuilder::string("Alice"))
    .scalar("age", ValueBuilder::int(30))
    .build();

// Test error handling
use hedl_test::fixtures::errors;

for (name, invalid) in errors::invalid_hedl_samples() {
    // Test parser with invalid input
}

// Use utilities
use hedl_test::{expr, count_nodes};

let e = expr("now()");               // Create expression
let n = count_nodes(&doc);           // Count nodes in document

§See Also

  • Fixtures Guide - Comprehensive usage guide
  • Module documentation for detailed API information

Re-exports§

pub use counts::count_nodes;
pub use counts::count_references;
pub use expression_parsing::expr;
pub use expression_parsing::expr_value;
pub use expression_parsing::try_expr;
pub use expression_parsing::try_expr_value;
pub use expression_parsing::ExprError;
pub use fixtures::*;

Modules§

counts
Fixture counting utilities. Fixture counting utilities.
expression_parsing
Expression parsing utilities for tests. Expression utility functions.
fixtures
Canonical test fixtures covering all HEDL features. Canonical test fixtures covering all HEDL features.

Functions§

fixtures_as_hedl
Returns all fixtures as (name, hedl_text) pairs.

Type Aliases§

FixtureList
Type alias for a list of fixture functions (name, generator).