- Created `.gitignore` files for various directories to exclude unnecessary files. - Added `PLAN.md` to outline the project goals and architecture documentation generation. - Implemented the `archdoc-cli` with a command-line interface for initializing and generating documentation. - Developed the `archdoc-core` library for analyzing Python projects and generating architecture documentation. - Included caching mechanisms to optimize repeated analysis. - Established a comprehensive test suite to ensure functionality and error handling. - Updated `README.md` to provide an overview and installation instructions for ArchDoc.
21 lines
688 B
Rust
21 lines
688 B
Rust
//! Test utilities for golden tests
|
|
|
|
use std::fs;
|
|
use std::path::Path;
|
|
|
|
/// Read a file and return its contents
|
|
pub fn read_test_file(path: &str) -> String {
|
|
fs::read_to_string(path).expect(&format!("Failed to read test file: {}", path))
|
|
}
|
|
|
|
/// Write content to a file for testing
|
|
pub fn write_test_file(path: &str, content: &str) {
|
|
fs::write(path, content).expect(&format!("Failed to write test file: {}", path))
|
|
}
|
|
|
|
/// Compare two strings and panic if they don't match
|
|
pub fn assert_strings_equal(actual: &str, expected: &str, message: &str) {
|
|
if actual != expected {
|
|
panic!("{}: Strings do not match\nActual:\n{}\nExpected:\n{}", message, actual, expected);
|
|
}
|
|
} |