teamy_uom_extensions/
lib.rs1#![deny(missing_docs)]
10#![doc = include_str!("../README.md")]
11#![forbid(unsafe_code)]
12
13#[cfg(all(feature = "full", feature = "human"))]
14pub use humansize;
15#[cfg(feature = "human")]
16pub use humansize::BINARY;
17#[cfg(feature = "human")]
18pub use humansize::DECIMAL;
19#[cfg(feature = "human")]
22pub use humansize::FormatSizeOptions;
23#[cfg(all(feature = "full", feature = "human"))]
24pub use humantime;
25#[cfg(feature = "full")]
35pub use uom;
36
37mod human;
38mod rate;
39
40pub use crate::human::si::information::HumanInformationExt;
42pub use crate::human::si::information_rate::HumanInformationRateExt;
43pub use crate::human::si::time::HumanTimeExt;
44pub use crate::rate::si::information::InformationOverExt;
46
47#[cfg(test)]
53mod tests {
54 use super::*;
55 use uom::si::information::byte;
56 use uom::si::information_rate::byte_per_second;
57 use uom::si::time::second;
58
59 #[test]
60 fn information_formatting_f64() {
61 let i = uom::si::f64::Information::new::<byte>(1536.0_f64);
62 assert!(!i.format_human(crate::DECIMAL).is_empty());
63 assert!(!i.format_human(crate::BINARY).is_empty());
64 }
65
66 #[test]
67 fn information_formatting_f32() {
68 let i = uom::si::f32::Information::new::<byte>(1536.0_f32);
69 assert!(!i.format_human(crate::DECIMAL).is_empty());
70 assert!(!i.format_human(crate::BINARY).is_empty());
71 }
72
73 #[test]
74 fn time_formatting_f64_and_f32() {
75 let t64 = uom::si::f64::Time::new::<second>(90.0_f64);
76 let _ = t64.format_human();
77 let _ = t64.format_human_precise();
78
79 let t32 = uom::si::f32::Time::new::<second>(90.0_f32);
80 let _ = t32.format_human();
81 let _ = t32.format_human_precise();
82 }
83
84 #[test]
85 fn info_rate_formatting_f64_and_f32() {
86 let r64 = uom::si::f64::InformationRate::new::<byte_per_second>(2048.0_f64);
87 assert!(!r64.format_human(crate::DECIMAL).is_empty());
88 assert!(!r64.format_human(crate::BINARY).is_empty());
89
90 let r32 = uom::si::f32::InformationRate::new::<byte_per_second>(2048.0_f32);
91 assert!(!r32.format_human(crate::DECIMAL).is_empty());
92 assert!(!r32.format_human(crate::BINARY).is_empty());
93 }
94 }
96