From 92c4206e8635d887fc79cf51e419f85cc2de3362 Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Fri, 25 Jan 2019 13:31:34 +0100 Subject: [PATCH] Add a write_byte test --- src/vga_buffer.rs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/vga_buffer.rs b/src/vga_buffer.rs index 8c512c94..329ed425 100644 --- a/src/vga_buffer.rs +++ b/src/vga_buffer.rs @@ -170,4 +170,26 @@ mod test { color_code: ColorCode::new(Color::Green, Color::Brown), } } + + #[test] + fn write_byte() { + let mut writer = construct_writer(); + writer.write_byte(b'X'); + writer.write_byte(b'Y'); + + for (i, row) in writer.buffer.chars.iter().enumerate() { + for (j, screen_char) in row.iter().enumerate() { + let screen_char = screen_char.read(); + if i == BUFFER_HEIGHT - 1 && j == 0 { + assert_eq!(screen_char.ascii_character, b'X'); + assert_eq!(screen_char.color_code, writer.color_code); + } else if i == BUFFER_HEIGHT - 1 && j == 1 { + assert_eq!(screen_char.ascii_character, b'Y'); + assert_eq!(screen_char.color_code, writer.color_code); + } else { + assert_eq!(screen_char, empty_char()); + } + } + } + } }