34 lines
601 B
Rust
34 lines
601 B
Rust
#[macro_use]
|
|
extern crate derive_builder;
|
|
|
|
#[derive(Debug, PartialEq, Default, Builder, Clone)]
|
|
struct Lorem {
|
|
#[builder(setter(into))]
|
|
foo: String,
|
|
}
|
|
|
|
#[derive(Debug, PartialEq, Default, Builder, Clone)]
|
|
#[builder(setter(into))]
|
|
struct Ipsum {
|
|
foo: u32,
|
|
}
|
|
|
|
#[test]
|
|
fn generic_field() {
|
|
let x = LoremBuilder::default().foo("foo").build().unwrap();
|
|
|
|
assert_eq!(
|
|
x,
|
|
Lorem {
|
|
foo: "foo".to_string()
|
|
}
|
|
);
|
|
}
|
|
|
|
#[test]
|
|
fn generic_struct() {
|
|
let x = IpsumBuilder::default().foo(42u8).build().unwrap();
|
|
|
|
assert_eq!(x, Ipsum { foo: 42u32 });
|
|
}
|