diff --git a/src/drivers/drv_disk.rs b/src/drivers/drv_disk.rs index e5c77f7..14817b1 100644 --- a/src/drivers/drv_disk.rs +++ b/src/drivers/drv_disk.rs @@ -39,4 +39,40 @@ impl DrvDisk { } } +} + +#[cfg(test)] +mod test { + use super::DrvDisk; + use crate::Disk; + + #[test] + fn test_init_driver() { + let disk = Disk::init_disk(); + let _ = DrvDisk::init_drv_disk(disk); + } + + #[test] + fn test_read_write_disk() { + let disk = Disk::init_disk(); + let mut drv_disk = DrvDisk::init_drv_disk(disk); + + let mut data = Vec::new(); + data.push(0 as u8); data.push(0 as u8); data.push(0 as u8); data.push(0 as u8); + + let mut data1 = Vec::new(); + data1.push(1 as u8); data1.push(1 as u8); data1.push(1 as u8); data1.push(1 as u8); + + let mut data2: Vec = Vec::new(); + + drv_disk.write_sector(0, &mut data); + drv_disk.write_sector(1, &mut data1); + drv_disk.read_sector(1, &mut data2); + + assert_eq!(data1,data2); + assert_ne!(data,data1); + assert_ne!(data,data2); + } + + } \ No newline at end of file