1#![forbid(unsafe_code)]
2#![doc = include_str!("../README.md")]
3
4pub use use_atomic_mass;
5pub use use_atomic_number;
6pub use use_electron_shell;
7pub use use_element;
8pub use use_periodic_table;
9
10pub mod prelude;
11
12#[cfg(test)]
13mod tests {
14 use super::prelude::{
15 atomic_mass_by_symbol, atomic_number_from_symbol, electron_shells, element_by_symbol,
16 period_for_atomic_number,
17 };
18
19 #[test]
20 fn facade_exposes_focused_crates() {
21 let oxygen = element_by_symbol("O").expect("oxygen should exist");
22
23 assert_eq!(oxygen.atomic_number, 8);
24 assert_eq!(atomic_number_from_symbol("Na"), Some(11));
25 assert!((atomic_mass_by_symbol("O").unwrap_or_default() - 15.999).abs() < 0.01);
26 assert_eq!(electron_shells(11), Some(vec![2, 8, 1]));
27 assert_eq!(period_for_atomic_number(11), Some(3));
28 }
29}