pub use crate::base::palette::{xterm_256, CUBE_LEVELS, SYSTEM_16, XTERM_256};
#[cfg(test)]
mod tests {
use super::*;
use crate::base::Rgba;
#[test]
fn reexport_is_the_base_table() {
assert_eq!(SYSTEM_16.as_ptr(), crate::base::palette::SYSTEM_16.as_ptr());
assert_eq!(XTERM_256.as_ptr(), crate::base::palette::XTERM_256.as_ptr());
for i in 0..=255u8 {
assert_eq!(xterm_256(i), crate::base::palette::xterm_256(i));
assert_eq!(XTERM_256[i as usize], xterm_256(i));
}
}
#[test]
fn structural_invariants_of_the_canonical_table() {
assert_eq!(xterm_256(16), Rgba::rgb(0, 0, 0));
assert_eq!(xterm_256(231), Rgba::WHITE);
assert_eq!(xterm_256(196), Rgba::rgb(255, 0, 0));
assert_eq!(xterm_256(21), Rgba::rgb(0, 0, 255));
assert_eq!(xterm_256(46), Rgba::rgb(0, 255, 0));
assert_eq!(xterm_256(232), Rgba::rgb(8, 8, 8));
assert_eq!(xterm_256(255), Rgba::rgb(238, 238, 238));
for i in 233..=255u8 {
assert!(xterm_256(i).r > xterm_256(i - 1).r);
}
assert_eq!(CUBE_LEVELS, [0x00, 0x5f, 0x87, 0xaf, 0xd7, 0xff]);
}
}