1#![forbid(unsafe_code)]
2pub use use_conductivity;
22pub use use_conductivity::*;
23pub use use_density;
24pub use use_density::*;
25pub use use_hardness;
26pub use use_hardness::*;
27pub use use_material_elasticity;
28pub use use_material_elasticity::*;
29pub use use_material_property;
30pub use use_material_property::*;
31pub use use_strain;
32pub use use_strain::*;
33pub use use_stress;
34pub use use_stress::*;
35pub use use_thermal_expansion;
36pub use use_thermal_expansion::*;
37
38#[cfg(test)]
39mod tests {
40 use super::{
41 Density, Hardness, HardnessScale, MaterialProperty, MaterialPropertyKind, Stress,
42 filter_by_kind, linear_expansion,
43 };
44
45 #[test]
46 fn facade_reexports_workspace_apis() {
47 let density = Density::new(7_850.0).unwrap();
48 assert_eq!(density.kg_per_m3(), 7_850.0);
49
50 let stress = Stress::new(250_000_000.0).unwrap();
51 assert_eq!(stress.megapascals(), 250.0);
52
53 let hardness = Hardness::new(200.0, HardnessScale::Vickers).unwrap();
54 assert_eq!(hardness.scale(), HardnessScale::Vickers);
55
56 let expansion = linear_expansion(2.0, 12.0e-6, 50.0).unwrap();
57 assert!((expansion - 0.0012).abs() < 1.0e-12);
58
59 let properties =
60 [MaterialProperty::new(MaterialPropertyKind::Density, 7_850.0, "kg/m^3").unwrap()];
61 assert_eq!(
62 filter_by_kind(&properties, MaterialPropertyKind::Density).len(),
63 1
64 );
65 }
66}