#[macro_use]
extern crate derive_builder;
#[derive(Builder, Clone, PartialEq)]
#[builder(default)]
pub struct RenderItem<T: Default> {
pub vertices: Vec<()>,
pub active: bool,
pub name: String,
pub tag: T,
}
impl<T: Default> Default for RenderItem<T> {
fn default() -> Self {
RenderItem {
vertices: Default::default(),
active: true,
name: "ri".into(),
tag: Default::default(),
}
}
}
#[test]
fn create_with_string() {
let ri: RenderItem<String> = RenderItemBuilder::default().build().unwrap();
assert_eq!(ri.tag, "");
assert_eq!(ri.name, "ri");
assert!(ri.active);
}