pub mod types;
#[cfg(test)]
mod generate_settings_docs;
#[cfg(test)]
mod tests {
use kittycad_modeling_cmds::units::UnitLength;
use super::types::Configuration;
use super::types::ModelingSettings;
#[test]
fn default_unit_length_is_millimeters() {
let modeling = ModelingSettings::default();
assert_eq!(modeling.base_unit.unwrap_or_default().0, UnitLength::Millimeters);
}
#[test]
fn toml_default_unit_length_roundtrip_is_mm() {
let with_mm = r#"[settings.modeling]
base_unit = "mm"
"#;
let parsed = toml::from_str::<Configuration>(with_mm).unwrap();
assert_eq!(
parsed
.settings
.modeling
.clone()
.unwrap_or_default()
.base_unit
.unwrap_or_default()
.0,
UnitLength::Millimeters
);
let serialized = toml::to_string(&parsed).unwrap();
assert_eq!(serialized, with_mm);
let empty_modeling_section = r#"[settings.modeling]
"#;
let parsed2 = toml::from_str::<Configuration>(empty_modeling_section).unwrap();
assert_eq!(
parsed2
.clone()
.settings
.modeling
.unwrap_or_default()
.base_unit
.unwrap_or_default()
.0,
UnitLength::Millimeters
);
let serialized = toml::to_string(&parsed2).unwrap();
assert_eq!(serialized, empty_modeling_section);
}
#[test]
fn configuration_default_has_mm() {
let cfg = Configuration::default();
assert_eq!(
cfg.settings
.modeling
.clone()
.unwrap_or_default()
.base_unit
.unwrap_or_default()
.0,
UnitLength::Millimeters
);
let serialized = toml::to_string(&cfg).unwrap();
assert_eq!(serialized, "");
}
}