vga_buffer_rs 0.1.2

A rust crate that allow easy Vga text buffer manipulation
use vga_buffer_rs::buffer::Buffer;
use vga_buffer_rs::BasicBufferManipulation;
use vga_buffer_rs::BUFFER_HEIGHT;

#[test]
fn many_print() {
    let mut buf = Buffer::new();
    for _ in 0..200 {
        buf.write_string("test output line");
    }
}

#[test]
fn many_print_but_write() {
    use std::fmt::Write;
    let mut buf = Buffer::new();
    for _ in 0..200 {
        writeln!(buf, "test output line").unwrap();
    }
}
#[test]
fn test_println_output() {
    let mut buf = Buffer::new();
    let s = "Some test string that fits on a single line";
    buf.write_string(format!("\n{}\n", s).as_str());
    for (i, c) in s.chars().enumerate() {
        let screen_char = buf.buffer.chars[BUFFER_HEIGHT - 2][i];
        assert_eq!(char::from(screen_char.ascii_char), c);
    }
}

#[test]
fn test_println_output_but_write() {
    use std::fmt::Write;
    let mut buf = Buffer::new();
    let s = "Some test string that fits on a single line";
    writeln!(buf, "\n{}", s).unwrap();
    for (i, c) in s.chars().enumerate() {
        let screen_char = buf.buffer.chars[BUFFER_HEIGHT - 2][i];
        assert_eq!(char::from(screen_char.ascii_char), c);
    }
}