Added some tests

This commit is contained in:
Samy Solhi 2022-11-09 15:06:22 +01:00
parent 7a89d06f36
commit 756410e5b4

View File

@ -1,3 +1,5 @@
#![allow(dead_code)]
#![allow(unused_variables)]
use crate::decode::Instruction; use crate::decode::Instruction;
const RISCV_LUI: u8 = 0x37; const RISCV_LUI: u8 = 0x37;
@ -254,4 +256,26 @@ pub fn print(ins: Instruction, pc: i32) -> String { //TODO pc should be u64
_ => "Unknown".to_string() // Error _ => "Unknown".to_string() // Error
} }
}
#[cfg(test)]
mod Test {
use crate::{print, decode};
#[test]
fn test1() {
let sub = decode::decode(0b01000001000010001000111000110011);
let add = decode::decode(0b00000001000010001000111000110011);
let xor = decode::decode(0b00000001000010001100111000110011);
let slr = decode::decode(0b00000001000010001101111000110011);
let sra = decode::decode(0b01000001000010001101111000110011);
assert_eq!("sub r28, r17, r16", print::print(sub, 0));
assert_eq!("xor r28, r17, r16", print::print(xor, 0));
assert_eq!("srl r28, r17, r16", print::print(slr, 0));
assert_eq!("sra r28, r17, r16", print::print(sra, 0));
assert_eq!("add r28, r17, r16", print::print(add, 0));
}
} }