#[macro_use] | |
extern crate pretty_assertions; | |
#[macro_use] | |
extern crate derive_builder; | |
#[derive(Debug, PartialEq, Default, Builder, Clone)] | |
struct Lorem<'a> { | |
ipsum: &'a str, | |
} | |
#[test] | |
fn error_if_uninitialized() { | |
let error = LoremBuilder::default().build().unwrap_err(); | |
assert_eq!(&error.to_string(), "`ipsum` must be initialized"); | |
} | |
#[test] | |
fn builder_test() { | |
let x = LoremBuilder::default().ipsum("ipsum").build().unwrap(); | |
assert_eq!(x, Lorem { ipsum: "ipsum" }); | |
} |