Skip to main content

use_constants/
lib.rs

1#![forbid(unsafe_code)]
2
3//! Thin facade re-exports for the focused crates in the RustUse constants workspace.
4
5pub use use_astronomical_constants as astronomical;
6pub use use_chemical_constants as chemical;
7pub use use_computing_constants as computing;
8pub use use_earth_constants as earth;
9pub use use_math_constants as math;
10pub use use_physical_constants as physical;
11
12#[cfg(test)]
13mod tests {
14    use super::{astronomical, chemical, computing, earth, math, physical};
15
16    fn runtime(value: f64) -> f64 {
17        value
18    }
19
20    fn runtime_usize(value: usize) -> usize {
21        value
22    }
23
24    #[test]
25    fn facade_reexports_domain_modules() {
26        assert_eq!(math::TAU, 2.0 * math::PI);
27        assert!(runtime(physical::SPEED_OF_LIGHT) > 0.0);
28        assert!(runtime(chemical::FARADAY_CONSTANT) > 0.0);
29        assert_eq!(runtime_usize(computing::MEBIBYTE), 1024 * runtime_usize(computing::KIBIBYTE));
30        assert!(runtime(astronomical::LIGHT_YEAR) > runtime(astronomical::ASTRONOMICAL_UNIT));
31        assert!(runtime(earth::EARTH_RADIUS_MEAN) > 0.0);
32    }
33}