summaryrefslogtreecommitdiff
path: root/rust/tests
diff options
context:
space:
mode:
authorMason Reed <mason@vector35.com>2025-05-07 23:23:44 -0400
committerMason Reed <35282038+emesare@users.noreply.github.com>2025-05-12 17:45:24 -0400
commit067148afd1a8f9153bb5bfe6b5361b83e9f89ab6 (patch)
tree0745e9bb5f0ab51f83f76f79dfa9fbc97563cb02 /rust/tests
parent3992860ca7d636661d7b2671d5fe7cf028987be1 (diff)
[Rust] Improve `FileAccessor`
- Add unit tests - Expose read/write functionality - Add some much needed documentation when passing to memory map
Diffstat (limited to 'rust/tests')
-rw-r--r--rust/tests/file_accessor.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/rust/tests/file_accessor.rs b/rust/tests/file_accessor.rs
new file mode 100644
index 00000000..ce79d277
--- /dev/null
+++ b/rust/tests/file_accessor.rs
@@ -0,0 +1,22 @@
+use binaryninja::file_accessor::FileAccessor;
+use std::io::Cursor;
+
+#[test]
+fn test_file_accessor() {
+ let mut mock_data = Cursor::new(vec![0u8; 100]);
+ let accessor = FileAccessor::new(&mut mock_data);
+ assert_eq!(
+ accessor.length(),
+ 100,
+ "File accessor length does not match"
+ );
+ assert_eq!(
+ accessor.write(0x10, &[0xff]),
+ 1,
+ "Failed to write to file accessor"
+ );
+ let read_value = accessor
+ .read(0x10, 1)
+ .expect("Failed to read from file accessor");
+ assert_eq!(read_value, &[0xff], "Read value does not match");
+}