csharpbindgen 0.1.0

A library for generating C# bindings from Rust code.
Documentation
use std::fs;
use std::path::PathBuf;
use insta::assert_snapshot_matches;

use csharpbindgen::{
    Builder,
    CSAccess
};

fn load_example(name: &'static str) -> String {
    let mut path = PathBuf::new();
    path.push("tests");
    path.push("rust");
    path.push(format!("{}.rs", name));
    fs::read_to_string(path).unwrap()
}

#[test]
fn test_main_example() {
    let example_name = "main_example";
    let code = Builder::new("MyDll", load_example(example_name))
        .class_name("MyStuff")
        .ignore(&["ignore_*", "IGNORE_*", "Ignore*"])
        .access("public_func", CSAccess::Public)
        .access("PublicStruct", CSAccess::Public)
        .generate()
        .unwrap();

    assert_snapshot_matches!(example_name, code);
}