use rust_codegen::*;
#[test]
fn module_mut() {
let mut scope = Scope::new();
scope.new_module("foo").import("bar", "Bar");
scope
.get_module_mut("foo")
.expect("module_mut")
.new_struct("Foo")
.field("bar", "Bar");
let expect = r#"
mod foo {
use bar::Bar;
struct Foo {
bar: Bar,
}
}"#;
assert_eq!(scope.to_string(), &expect[1..]);
}
#[test]
fn get_or_new_module() {
let mut scope = Scope::new();
assert!(scope.get_module("foo").is_none());
scope.get_or_new_module("foo").import("bar", "Bar");
scope
.get_or_new_module("foo")
.new_struct("Foo")
.field("bar", "Bar");
let expect = r#"
mod foo {
use bar::Bar;
struct Foo {
bar: Bar,
}
}"#;
assert_eq!(scope.to_string(), &expect[1..]);
}