pub mod image;
pub mod pixels;
pub mod prelude;
#[cfg(test)]
mod tests {
use crate::prelude::*;
#[test]
fn basic_example_test() {
let mut canvas = PixelCanvas::<5>::default();
let pos = StrictPositions::TopRight;
assert_eq!(canvas[pos].color(), &PixelColor::WHITE);
let prev_color = canvas[pos].update_color(PixelColor::BLACK);
assert_eq!(prev_color, PixelColor::WHITE);
assert_eq!(canvas[pos].color(), &PixelColor::BLACK);
let black_pixels: usize = canvas.iter_pixels().filter_color(PixelColor::BLACK).count();
assert_eq!(black_pixels, 1);
canvas
.iter_pixels_mut()
.filter_position(|p| p.column() == p.row())
.update_colors(PixelColor::RED);
assert_eq!(canvas[StrictPositions::TopLeft].color(), &PixelColor::RED);
assert_eq!(
canvas[StrictPositions::BottomRight].color(),
&PixelColor::RED
);
canvas
.default_image_builder()
.with_scale(5)
.save("arts/basic.png")
.unwrap();
}
}