use pixelsrc::palettes::{get_builtin, list_builtins};
#[test]
fn test_palettes_list() {
let builtins = list_builtins();
assert!(!builtins.is_empty(), "Should have built-in palettes");
assert!(builtins.len() >= 5, "Should have at least 5 built-in palettes");
assert!(builtins.contains(&"gameboy"), "Should have gameboy palette");
assert!(builtins.contains(&"nes"), "Should have nes palette");
assert!(builtins.contains(&"pico8"), "Should have pico8 palette");
}
#[test]
fn test_palettes_show_gameboy() {
let palette = get_builtin("gameboy").expect("gameboy palette should exist");
assert!(palette.colors.len() >= 4, "Game Boy palette should have at least 4 colors");
assert!(palette.colors.contains_key("{lightest}"), "Should have {{lightest}} token");
assert!(palette.colors.contains_key("{darkest}"), "Should have {{darkest}} token");
}
#[test]
fn test_palettes_show_pico8() {
let palette = get_builtin("pico8").expect("pico8 palette should exist");
assert!(palette.colors.len() >= 16, "PICO-8 palette should have at least 16 colors");
}
#[test]
fn test_palettes_show_nes() {
let palette = get_builtin("nes").expect("nes palette should exist");
assert!(!palette.colors.is_empty(), "NES palette should have colors");
}
#[test]
fn test_palettes_show_grayscale() {
let palette = get_builtin("grayscale").expect("grayscale palette should exist");
assert!(palette.colors.len() >= 4, "Grayscale should have at least 4 shades");
}
#[test]
fn test_palettes_show_1bit() {
let palette = get_builtin("1bit").expect("1bit palette should exist");
assert!(palette.colors.len() >= 2, "1-bit palette should have at least 2 colors");
assert!(palette.colors.len() <= 3, "1-bit palette should have at most 3 colors");
}
#[test]
fn test_palettes_show_dracula() {
let palette = get_builtin("dracula").expect("dracula palette should exist");
assert!(!palette.colors.is_empty(), "Dracula palette should have colors");
}
#[test]
fn test_palettes_not_found() {
let result = get_builtin("nonexistent");
assert!(result.is_none(), "Unknown palette should return None");
}