1pub mod types;
4
5#[cfg(test)]
6mod generate_settings_docs;
7
8#[cfg(test)]
9mod tests {
10 use kittycad_modeling_cmds::units::UnitLength;
11
12 use super::types::{Configuration, ModelingSettings};
13
14 #[test]
15 fn default_unit_length_is_millimeters() {
16 let modeling = ModelingSettings::default();
18 assert_eq!(modeling.base_unit, UnitLength::Millimeters);
19 }
20
21 #[test]
22 fn toml_default_unit_length_roundtrip_is_mm() {
23 let with_mm = r#"[settings.modeling]
25base_unit = "mm"
26"#;
27
28 let parsed = toml::from_str::<Configuration>(with_mm).unwrap();
29 assert_eq!(parsed.settings.modeling.base_unit, UnitLength::Millimeters);
30
31 let serialized = toml::to_string(&parsed).unwrap();
33 assert_eq!(serialized, "");
34
35 let empty_modeling_section = r#"[settings.modeling]
37"#;
38 let parsed2 = toml::from_str::<Configuration>(empty_modeling_section).unwrap();
39 assert_eq!(parsed2.settings.modeling.base_unit, UnitLength::Millimeters);
40 }
41
42 #[test]
43 fn configuration_default_has_mm() {
44 let cfg = Configuration::default();
45 assert_eq!(cfg.settings.modeling.base_unit, UnitLength::Millimeters);
46
47 let serialized = toml::to_string(&cfg).unwrap();
49 assert_eq!(serialized, "");
50 }
51}