#![allow(clippy::used_underscore_binding, clippy::all, warnings, missing_docs)]
use super::*;
#[ allow( unused_imports ) ]
use ::former::prelude::*;
use ::former::Former;
#[ derive( Debug, PartialEq, Former ) ]
#[ allow( non_camel_case_types ) ] #[ former( standalone_constructors ) ]
pub enum ComprehensiveStructEnum {
#[ scalar ]
ZeroField {},
#[ scalar ]
SingleScalar { value: i32 },
#[ scalar ]
MultiScalar { field1: i32, field2: String, field3: bool },
MultiDefault { name: String, age: i32, active: bool },
}
#[ test ]
fn zero_field_struct_test() {
let got = ComprehensiveStructEnum::zero_field();
let expected = ComprehensiveStructEnum::ZeroField {};
assert_eq!(got, expected);
}
#[ test ]
fn single_scalar_struct_test() {
let got = ComprehensiveStructEnum::single_scalar(42);
let expected = ComprehensiveStructEnum::SingleScalar { value: 42 };
assert_eq!(got, expected);
}
#[ test ]
fn multi_scalar_struct_test() {
let got = ComprehensiveStructEnum::multi_scalar(42, "test".to_string(), true);
let expected = ComprehensiveStructEnum::MultiScalar {
field1: 42,
field2: "test".to_string(),
field3: true
};
assert_eq!(got, expected);
}
#[ test ]
fn multi_default_struct_test() {
let got = ComprehensiveStructEnum::multi_default()
.name("Alice".to_string())
.age(30_i32)
.active(true)
.form();
let expected = ComprehensiveStructEnum::MultiDefault {
name: "Alice".to_string(),
age: 30,
active: true
};
assert_eq!(got, expected);
}